audit-labs/audit-tools

A collection of scripts, queries, and other goodies you can use in an audit.

clone: git clone https://gitbay.org/audit-labs/audit-tools.git

v1.0.0:

040000 .github/
100644 .gitignore135
100644 CHANGELOG.md1186
100644 CODEOWNERS21
100644 LICENSE35149
100644 README.org4471
040000 applications/
100755 audit_tui.py142
100644 conftest.py315
040000 databases/
040000 docs/
040000 os/
040000 project_management/
100644 pyproject.toml1869
100644 requirements.txt723
100644 ruff.toml709
040000 sampling/
040000 tui/

Audit Tools

Audit Tools is a collection of open-source Python scripts and related resources intended to support auditors, risk professionals, and data analysts in automating common audit procedures and analyses.

This repository includes practical examples that can be used as-is or adapted to specific audit environments.

It also ships an interactive terminal UI (audit_tui.py) that walks you through running an audit against GitHub, GitLab, or AWS — pick a platform, enter connection details, choose which checks to run, and watch live progress.

./docs/screenshots/menu.png

Contents

Directory Description
applications/aws/ AWS IAM users, account/root security, password policy, S3 public access, open security groups, CloudTrail, Config, SSO
applications/github/ GitHub admin enumeration, org security settings, webhooks, deploy keys, secret-scanning/Dependabot alerts, audit log, branch protections, commits
applications/gitlab/ GitLab group/project members, branch protections, approvals, pipelines, audit events
databases/mongo/ MongoDB admin enumeration
databases/mysql/ MySQL admin and password queries
databases/oracle/ Oracle admin queries
databases/postgres/ PostgreSQL admin and password queries
databases/sql/ Generic SQL admin queries and password analysis
os/linux/ Linux OS reporting, password file analysis, and SSH root login checks
project_management/ Audit project tracking dashboards (Alteryx, Dash, Power BI)
sampling/ Random and stratified sampling tools
tui/ Interactive terminal UI that walks you through running an audit

Getting Started

Clone the Repository

git clone https://github.com/audit-labs/audit-tools
cd audit-tools

Install Dependencies

Dependencies are optional extras, so you install only what a procedure needs (a locked-down laptop never has to pull pandas/dash/plotly it won't run):

pip install ".[analysis]"     # sampling + data analysis (pandas, Excel)
pip install ".[aws]"          # AWS collectors (boto3)
pip install ".[collectors]"   # GitHub / GitLab collectors (requests)
pip install ".[dashboards]"   # dash + plotly dashboards
pip install ".[tui]"          # the terminal UI runner
pip install ".[all]"          # everything

~pip install -r requirements.txt~ still works and installs everything.

Run a Script

For example, to run the Linux OS report tool:

./os/linux/report/linux.sh

Or to run a Python script:

python sampling/sample.py

Output will be shown in the terminal or saved to a file, depending on the script.

Interactive TUI

To pick a platform and be walked through an audit interactively:

python audit_tui.py

Each run writes the same package the platform's audit.py produces — one CSV per check plus a summary — with a progress bar and per-check results:

./docs/screenshots/run.png

See tui/README.md for details. GitHub, GitLab, and AWS are supported.

Stability

Audit Tools is stable as of v1.0.0. It is a curated collection of runnable scripts and an interactive TUI rather than an importable library, so each release is tagged to give an engagement an exact revision to pin to.

Contributing

Contributions are welcome. You can contribute by:

  • Adding new audit-related scripts
  • Suggesting improvements or feature ideas
  • Enhancing documentation
  • Testing the tools on additional datasets and reporting any issues

To contribute:

  1. Fork the repository
  2. Create a new branch:

    git checkout -b my-feature
    
  3. Commit your changes:

    git commit -m 'Added new audit test'
    
  4. Push your branch:

    git push origin my-feature
    
  5. Open a pull request