How andy25x/linux-hardening-auditor works
This is a local Linux hardening auditor: an administrator selects checks and output options, the runner executes registered controls and calculates a severity-weighted score, and the CLI presents findings in the terminal or produces HTML/JSON reports. Checks cover SSH, user accounts, filesystem permissions, kernel settings, and network exposure. The README documents the principal workflow and report formats; sampled sources confirm runner dispatch and CLI/reporting connections. Network checks are included as a documented-in-source capability although the README feature summary lists four categories.
Main entry points: runner.py Runner and scoring · base.py Check model · cli.py CLI · reporter.py Report generator
Components 14
CLI workflow
- CLI
auditor/cli.py
Audit controls
- SSH checks
auditor/checks/ssh.py - User checks
auditor/checks/users.py - Filesystem checks
auditor/checks/filesystem.py - Kernel checks
auditor/checks/kernel.py - Network checks
auditor/checks/network.py
Audit engine
- Check model
auditor/checks/base.py - Runner and scoring
auditor/runner.py
Reporting
- Report generator
auditor/reporter.py - Terminal findings
auditor/cli.py - HTML report
auditor/reporter.py - JSON report
auditor/reporter.py
Other components
- Administrator
- Linux system
Connections 22
- Administrator → CLI: runs options
README.md - CLI → Runner and scoring: runs audit
auditor/cli.py - Runner and scoring → SSH checks: dispatches checks
README.md - Runner and scoring → User checks: dispatches checks
README.md - Runner and scoring → Filesystem checks: dispatches checks
README.md - Runner and scoring → Kernel checks: dispatches checks
auditor/runner.py - Runner and scoring → Network checks: dispatches checks
auditor/runner.py - SSH checks → Check model: returns results
auditor/checks/ssh.py - User checks → Check model: returns results
auditor/checks/users.py - Filesystem checks → Check model: returns results
auditor/checks/filesystem.py - Kernel checks → Check model: returns results
auditor/checks/kernel.py - Network checks → Check model: returns results
auditor/checks/network.py - Linux system → SSH checks: provides local state
- Linux system → User checks: provides local state
- Linux system → Filesystem checks: provides local state
- Linux system → Kernel checks: provides local state
- Linux system → Network checks: provides local state
- Runner and scoring → Report generator: provides summary
auditor/reporter.py - CLI → Report generator: requests reports
auditor/cli.py - CLI → Terminal findings: prints findings
auditor/cli.py - Report generator → HTML report: renders HTML
README.md - Report generator → JSON report: serializes JSON
README.md