Skip to main content

Open-source Essential Eight compliance scanner for Australian organisations

Project description

🛡️ E8Mate — Open Source Essential Eight Compliance Scanner

Automated assessment of your organisation's cybersecurity posture against Australia's ASD Essential Eight framework.

PyPI Python 3.10+ License: MIT Security Score


Why E8Mate?

The Essential Eight is Australia's baseline cybersecurity framework — mandatory for Commonwealth agencies, increasingly required by cyber insurers and government supply chains.

The problem: No open-source tool to automatically assess Essential Eight compliance. Existing options are expensive commercial products or manual Excel checklists.

E8Mate fixes this. Free, open-source, and supports three frameworks:

  • 🇦🇺 Essential Eight — ASD Maturity Model (Australia)
  • 🇸🇬 Cyber Essentials — CSA SS 712:2025 (Singapore)
  • 🌏 CIS Controls v8 — Global best practices

Who this is for:

  • Australian SMEs and not-for-profits without budget for Tenable or Qualys, who still need to demonstrate Essential Eight progress
  • MSPs and consultants serving Australian and Singaporean SMBs who want a defensible self-assessment baseline before a formal audit
  • In-house IT and compliance teams preparing for a CSA Cyber Essentials or ASD-approved E8 assessment

Quick Start

# Install from PyPI
pip install e8mate

# Scan the local Windows machine
e8mate scan

# Generate HTML audit report
e8mate scan --format html --output report.html

# Scan with mock data (for testing on Linux/macOS)
e8mate scan --transport mock --scenario partial

Web Scanner

Try it now at security8.work — free external scan of any domain against all three frameworks. No signup required.

Essential Eight Controls

All 8 controls implemented at Maturity Level 1 with 30 checks:

# Control Checks Status
1 Application Control 4
2 Patch Applications 3
3 Configure MS Office Macros 3
4 User Application Hardening 4
5 Restrict Admin Privileges 4
6 Patch Operating Systems 5
7 Multi-Factor Authentication 3
8 Regular Backups 4

How It Works

Collectors (28 checks)  -->  Scoring (ML0-ML3)  -->  Reporters (JSON/HTML)
       |
  Transport Layer
  +-- LocalPS      Windows PowerShell (direct)
  +-- WinRM        Remote Windows scanning
  +-- Mock         Dev/demo (3 scenarios)

SaaS Dashboard

Multi-tenant MSP dashboard at security8.work/dashboard:

  • Client management with per-org framework selection
  • One-click external scans with grade tracking
  • Branded printable reports (PDF via print)
  • Scheduled scans (daily/weekly/monthly)
  • Remediation tracker with auto-resolve on re-scan
  • User management and audit logging

Nuclei Templates

Companion Nuclei templates for Essential Eight:

nuclei -t nuclei-templates/ -u https://target.example.com -tags essential-eight

Development

git clone https://github.com/boonchuan/e8mate.git
cd e8mate
pip install -e ".[dev]"
pytest
ruff check .

Roadmap

  • v0.1 — All 8 controls at ML1, 30 checks, JSON/HTML reports
  • v0.1 — Web scanner at security8.work (14 external checks)
  • v0.1 — Multi-framework support (AU/SG/Global)
  • v0.1 — SaaS dashboard for MSPs
  • v0.1 — Published on PyPI
  • v0.2 — ML2/ML3 rule definitions
  • v0.3 — Microsoft Graph API (MFA, Conditional Access)
  • v0.4 — Branded PDF report generation
  • v0.5 — Client portal (client-facing login)

Open Source Contributions

E8Mate's author actively contributes Essential Eight and security-tooling content back to the broader ecosystem:

If you use the tools above and find Essential Eight content useful, please consider starring this repo too — it helps surface E8Mate to others looking for the same.

Disclaimer

E8Mate is an assessment tool, not a certification body. Only ASD-approved assessors can formally certify Essential Eight maturity levels.

Contributing

Contributions welcome! Priority areas: ML2/ML3 rule definitions, Nuclei templates, test coverage, documentation.

License

MIT License — see LICENSE for details.


Built with 🇦🇺🤝🇸🇬 by Boon for the Australian and Singaporean cybersecurity community.

security8.work · PyPI · GitHub

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

e8mate-0.2.3.tar.gz (69.4 kB view details)

Uploaded Source

Built Distribution

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

e8mate-0.2.3-py3-none-any.whl (67.2 kB view details)

Uploaded Python 3

File details

Details for the file e8mate-0.2.3.tar.gz.

File metadata

  • Download URL: e8mate-0.2.3.tar.gz
  • Upload date:
  • Size: 69.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for e8mate-0.2.3.tar.gz
Algorithm Hash digest
SHA256 cff3877868e1bc072666d00439db4da9f2bb62a1786afe02d7a30a4840ee12ca
MD5 4d1de674ecb36d96d7f9d632cd59e439
BLAKE2b-256 efff16be50b0006d6ff0defb34ae91b6fc4bb4126c72a12c362b82dcbe746fa7

See more details on using hashes here.

File details

Details for the file e8mate-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: e8mate-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 67.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for e8mate-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8b32084047ec36d4e1887deaa95bf62f1d96a00ac05f9290b3cc10501835d51e
MD5 eb3fb17f5e9e47bda8600f9104339c50
BLAKE2b-256 ef4aaddd950a5e3bd4ebc7e59320a20aa8a8708ea630b2522b2f01e8bfe9c183

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