Skip to main content

Python security scanner with pentest mode - audit your website, API, or server

Project description

๐Ÿ”’ Security Audit Tool

One command to audit your website, API, or server. Built for business owners who care about security.

Python security scanner with defensive checks + active pentest mode. Find vulnerabilities, test performance, and generate professional reports for your business.

A Python-based security assessment tool that helps you identify vulnerabilities, performance issues, and security misconfigurations in your own systems. Perfect for business owners, developers, and DevOps teams who want to proactively secure their infrastructure.

โš ๏ธ Legal Notice

For authorized security testing only. Use exclusively on:

  • Systems you own
  • Systems you have explicit written permission to test

Unauthorized scanning may violate laws. By using this tool, you confirm proper authorization.


๐Ÿš€ What This Tool Does

This tool performs two types of security assessments:

1. Defensive/Read-Only Checks (Safe)

  • Scan file permissions, services, firewall rules
  • Detect hardcoded secrets in code
  • Check TLS certificates, container configs
  • Analyze dependencies for known vulnerabilities

2. Active/Pentest Checks (Sends Traffic)

  • Performance testing: Measure response times
  • Vulnerability scanning: Test for SQL injection, XSS
  • Load testing: Simulate traffic to test capacity

๐Ÿ’ก Perfect For

Use Case What You Get
Business Owner Know if your website has security holes
Developer Find secrets in code before committing
DevOps/SRE Test if your servers can handle traffic spikes
Security Team Quick first-line vulnerability assessment
Compliance Generate audit reports for security reviews

๐Ÿ› ๏ธ Quick Start (5 minutes)

1. Install

Option A: From PyPI (Recommended)

pip install cache-wraith-audit-tool

Option B: From Source

git clone https://github.com/cachewraith/security_audit_tool.git
cd security_audit_tool
pip install -e .

2. Run Your First Scan

# Simple command - full security audit
./audit --url https://your-website.com --full-scan

This creates:

  • security_audit_20250423_184904.html - Professional HTML report
  • security_audit_20250423_184904.json - Machine-readable JSON
  • Terminal output with colorized findings

3. View Results

# Open the HTML report
firefox security_audit_*.html

๐Ÿ“‹ Common Commands

Basic Scanning

# Scan any website
./audit --url https://example.com --full-scan

# Scan your local system
./audit --local --full-scan

# Scan a project directory
./audit --path ./my-project --full-scan

# Scan multiple websites
./audit --url https://api1.com --url https://api2.com --full-scan

Pentest Mode (Active Testing)

# Full pentest with performance, vulnerability, and load tests
./audit --url https://your-business.com --pentest-mode --full-scan

# Just vulnerability scan (SQLi, XSS tests)
./audit --url https://your-api.com --enable-vulnerability-scan

# Performance test only
./audit --url https://your-api.com --enable-performance-test

# Load test (simulates traffic - use with caution!)
./audit --url https://your-api.com --enable-load-test

โš ๏ธ Pentest features send actual traffic to your target. Only use on your own systems.


๐Ÿ” What Gets Checked

By Default (Safe, Read-Only)

  • โœ… File/directory permissions
  • โœ… Running services and open ports
  • โœ… Firewall configuration
  • โœ… Hardcoded secrets in code
  • โœ… Outdated dependencies with known CVEs
  • โœ… Docker/container security
  • โœ… Web application configuration

With --full-scan

  • โœ… Everything above, plus:
  • โœ… TLS/SSL certificate validation
  • โœ… Performance testing
  • โœ… Vulnerability scanning (SQLi, XSS)

With --pentest-mode

  • โœ… Everything above, plus:
  • โœ… Load testing / DDoS simulation

๐Ÿ“Š Output Formats

Format File Extension Use Case
Terminal - Quick review during development
HTML .html Share with team, management, compliance
JSON .json CI/CD integration, automation, archiving

๐Ÿ—๏ธ For Developers (Architecture)

Want to extend the tool? Here's how it's structured:

app/
โ”œโ”€โ”€ cli.py              # Command-line interface
โ”œโ”€โ”€ main.py             # Entry point and orchestration
โ”œโ”€โ”€ config.py           # Configuration management
โ”œโ”€โ”€ scope.py            # Target validation and scoping
โ”œโ”€โ”€ checks/             # Security test implementations
โ”‚   โ”œโ”€โ”€ base.py         # Base class for all checks
โ”‚   โ”œโ”€โ”€ permissions_check.py
โ”‚   โ”œโ”€โ”€ vulnerability_check.py  # SQLi, XSS tests
โ”‚   โ”œโ”€โ”€ performance_check.py
โ”‚   โ””โ”€โ”€ load_test_check.py      # DDoS simulation
โ”œโ”€โ”€ collectors/         # Data gathering modules
โ”œโ”€โ”€ report/             # Output generators (JSON, HTML, Terminal)
โ””โ”€โ”€ utils/              # Rate limiting, timeouts, validators

Adding a New Check

  1. Create app/checks/my_check.py
  2. Inherit from BaseCheck
  3. Implement run() method
  4. Register in app/checks/__init__.py
from .base import BaseCheck, CheckResult
from ..models import SeverityLevel

class MyCheck(BaseCheck):
    check_id = "my_check"
    check_name = "My Security Check"

    def run(self) -> CheckResult:
        result = self._create_result()
        # Your check logic here
        finding = self._create_finding(
            title="Example issue",
            severity=SeverityLevel.MEDIUM,
            target="example.com",
            evidence="Found issue X",
            remediation="Fix by doing Y"
        )
        result.findings.append(finding)
        return self._finish_result(result)

Running Tests

# Install dev dependencies
venv/bin/pip install -e ".[dev]"

# Run tests
venv/bin/pytest

# Run with coverage
venv/bin/pytest --cov=app

๐Ÿ“š Documentation

Document What's Inside
docs/RUN.md How to install and run the tool
docs/COMMANDS.md All available commands and examples
docs/PENTEST.md Pentest mode guide for active testing
docs/FEATURES.md Feature list and what each check does
docs/ARCHITECTURE.md Code structure for developers
docs/TROUBLESHOOTING.md Common issues and solutions

๐Ÿ” Safety Features

  1. Explicit Scope Required - Tool won't run without defined targets
  2. Authorization Prompt - Legal confirmation required
  3. Rate Limiting - Built-in request throttling
  4. Read-Only by Default - No modifications to target systems
  5. Opt-in Active Tests - Pentest features must be explicitly enabled
  6. Auditable - All actions logged

๐Ÿ“ CI/CD Integration

# .github/workflows/security.yml
name: Security Scan
on: [push, pull_request]

jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup
        run: |
          python -m venv venv
          venv/bin/pip install -e .
      - name: Run Security Audit
        run: ./audit --url https://staging.your-app.com --full-scan
      - name: Upload Report
        uses: actions/upload-artifact@v3
        with:
          name: security-report
          path: security_audit_*.html

๐ŸŽฏ Roadmap

  • CIS Benchmark compliance checks
  • SBOM generation (CycloneDX, SPDX)
  • Kubernetes security scanning
  • API endpoint fuzzing
  • Compliance mapping (NIST, PCI-DSS, SOC2)

๐Ÿค Contributing

Contributions welcome! Please ensure:

  1. All checks are defensive and non-destructive by default
  2. Code includes type hints
  3. Tests included for new functionality
  4. Documentation updated

๐Ÿ“„ License

MIT License - See LICENSE file for details.


Built with โค๏ธ for business owners who take security seriously.

Got questions? Open an issue or check the docs/ folder.

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

cache_wraith_audit_tool-1.0.0.tar.gz (83.4 kB view details)

Uploaded Source

Built Distribution

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

cache_wraith_audit_tool-1.0.0-py3-none-any.whl (89.5 kB view details)

Uploaded Python 3

File details

Details for the file cache_wraith_audit_tool-1.0.0.tar.gz.

File metadata

  • Download URL: cache_wraith_audit_tool-1.0.0.tar.gz
  • Upload date:
  • Size: 83.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for cache_wraith_audit_tool-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d844cc2892ebfe902f13153eabb8bba881097b22eff319f4dbf506ae61d846a6
MD5 cc371543e0721348a6257ccb3a198c2b
BLAKE2b-256 25d7f518e29ed46b3d6f1110561b40f99b557242440835bf57dadccd7c0af530

See more details on using hashes here.

File details

Details for the file cache_wraith_audit_tool-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cache_wraith_audit_tool-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 659c73b74f4abfe6a14578eefa36617a5532eeba869170a221c54c3012c035a8
MD5 515aa036d9cf63df21f9097d927e0b1b
BLAKE2b-256 4ec88829f53bdf0556f6e7a684107426cc107fe7e6c38e594b19a295889eb63d

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