pyauditd
Transparent audit daemon. Write files however you want — pyauditd handles integrity.
echo "hello" > $STORE/greeting # you just write files
# aud sees CLOSE_WRITE via inotify # ctypes, no subprocess
# → HMAC chain appended # hmac+hashlib, no fork
# → hooks notified # persistent subprocess, hot-reload
Zero pip dependencies. One process. Any language for hooks.
Install
pip install pyauditd
Usage
aud watch [store_dir] # watch and audit
aud verify [store_dir] # verify all chains
aud verify [store_dir] <key> # verify one chain
aud status [store_dir] # show daemon status
aud install [store_dir] # set up privilege separation (root)
aud watch-audit [store_dir] # real-time chain monitor (auditor)
Privilege Separation
aud (daemon) → writes chains → uid=aud, 700
agent → writes data → gid=aud-agents, 1773 sticky
auditor → read-only verify → gid=aud-auditor, 750
Three users, three roles. The auditor and the audited cannot be the same person.
Hooks
Drop any executable into $STORE/hooks/. Hot-reload via inotify.
daemon → stdin: {"event":"write","path":"doc","sha256":"a948...","size":12}
hook → stdout: {"skip":true} (optional, skip default audit)
Part of the pythond ecosystem
See pythond for the core runtime.
Metadata
Release files for pyauditd 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyauditd-0.1.0.tar.gz | 11.9 kB | Without provenance | Details for pyauditd-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyauditd-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for pyauditd-0.1.0-py3-none-any.whl |
Total release size: 24.8 kB
Release files / pyauditd-0.1.0.tar.gz
| Download URL | pyauditd-0.1.0.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
809132b9e60d80339a105011ed28f166bba94f388bcbcd3df4d8d349f5e5b69c
|
|
BLAKE2b-256 checksum How to use checksums |
4a879aa51cef0225a3a4f37d8a436bee51197d83bcc025aac4a74075011359f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.6
|
Release files / pyauditd-0.1.0-py3-none-any.whl
| Download URL | pyauditd-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f37933d83f4d26e2b71015ef5735c1aa2a6733122e241d3914d03509f7df3b3a
|
|
BLAKE2b-256 checksum How to use checksums |
e0126c01638678bb5f6a80c982304f0fcefd48166c9f2dfd964b5d7e082154c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.6
|
Security for pyauditd 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.