Skip to main content

Transparent HMAC audit daemon. inotify IS the engine. Zero dependencies.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyauditd-0.1.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyauditd-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file pyauditd-0.1.0.tar.gz.

File metadata

  • Download URL: pyauditd-0.1.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for pyauditd-0.1.0.tar.gz
Algorithm Hash digest
SHA256 809132b9e60d80339a105011ed28f166bba94f388bcbcd3df4d8d349f5e5b69c
MD5 79bf221dfc28842587216fdcc198107e
BLAKE2b-256 4a879aa51cef0225a3a4f37d8a436bee51197d83bcc025aac4a74075011359f2

See more details on using hashes here.

File details

Details for the file pyauditd-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyauditd-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for pyauditd-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f37933d83f4d26e2b71015ef5735c1aa2a6733122e241d3914d03509f7df3b3a
MD5 025603d8beaa0d0c763057072bbe0cef
BLAKE2b-256 e0126c01638678bb5f6a80c982304f0fcefd48166c9f2dfd964b5d7e082154c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page