Skip to main content

Markdown

Cloud Security Auditor 🛡️

A lightweight, multi-threaded, Layer 7 Cloud-Aware Web Security Auditor written in Python.

Unlike traditional port scanners that rely strictly on raw Layer 4 TCP socket connections—which frequently get blocked or misreported as CLOSED by cloud reverse proxies (e.g., Render, Cloudflare, Vercel, Heroku)—cloud_auditor utilizes Layer 7 protocol probes to accurately evaluate cloud-hosted targets.


🚀 Key Features

  • Cloud-Aware Probing: Uses Layer 7 HTTP/HTTPS protocol handshakes to bypass edge proxy filtering on cloud platforms.
  • Automated Warm-up: Sends initial requests to wake up sleeping serverless/containerized applications (e.g., Render free tiers) before auditing.
  • Multi-Threaded Port Scanning: Rapidly audits standard web and database ports (80, 443, 8080, 8443, 22, 21, 3306).
  • SSL/TLS Cryptographic Inspection: Evaluates certificate issuers, validity dates, and expiration risk.
  • HTTP Header Hardening Audit: Evaluates implementation of security headers including HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, and Permissions-Policy.
  • Sensitive Content Enumeration: Checks for exposed sensitive endpoints (/.env, /.git/HEAD, /backup.sql, /admin, etc.).

📦 Installation

Install directly via pip:

pip install cloud_auditor
Or install locally in editable mode:

Bash
git clone [https://github.com/yourusername/cloud_auditor.git](https://github.com/yourusername/cloud_auditor.git)
cd cloud_auditor
pip install -e .
💻 Usage
Quick Python Integration
Python
from cloud_auditor import CloudAuditor

# Instantiate with target domain
auditor = CloudAuditor("example.com")

# Run full security audit cycle
report = auditor.run_full_audit()

# Print results
print(f"Target IP    : {report['ip']}")
print(f"Open Ports   : {list(report['ports'].keys())}")
print(f"Header Score : {report['headers']['score']}%")
Modular Function Usage
You can also execute specific audit phases individually:

Python
from cloud_auditor import CloudAuditor

auditor = CloudAuditor("example.com")

# 1. Resolve IP & Warmup Container
auditor.resolve()

# 2. Audit Security Headers Only
headers_report = auditor.audit_headers()
print("Header Score:", headers_report["score"])
print("Missing Headers:", headers_report["missing"])
📊 Sample JSON Output
JSON
{
    "target": "bluechat-ft0t.onrender.com",
    "ip": "216.24.57.7",
    "ports": {
        "80": {"service": "HTTP", "status": "HTTP 200"},
        "443": {"service": "HTTPS", "status": "HTTP 200"}
    },
    "headers": {
        "score": 100.0,
        "present": [
            "Strict-Transport-Security",
            "Content-Security-Policy",
            "X-Frame-Options",
            "X-Content-Type-Options",
            "Referrer-Policy",
            "Permissions-Policy"
        ],
        "missing": []
    },
    "timestamp": "2026-08-30T16:00:00.000000+00:00"
}
📜 License
Distributed under the MIT License. See LICENSE for more information.

Metadata

Release files for cloud-auditor 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cloud-auditor 0.1.1
File Size Uploaded
cloud_auditor-0.1.1.tar.gz 4.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cloud-auditor 0.1.1
File Interpreter ABI Platform
cloud_auditor-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.7 kB

Release files / cloud_auditor-0.1.1.tar.gz

Download URL cloud_auditor-0.1.1.tar.gz
Size 4.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2a00dab66e8a96f0b4773a6799fde5e59ff91ac774d112af991958b734b6fd48
BLAKE2b-256 checksum
How to use checksums
cf5d72da31847f27523729410a86b77cee9acc9413efb67445ddf10996998e0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.0

Release files / cloud_auditor-0.1.1-py3-none-any.whl

Download URL cloud_auditor-0.1.1-py3-none-any.whl
Size 4.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c7ee72c6db6a6f58bab330264aabfebefb655433ecf1004a49f99bc30f9e059
BLAKE2b-256 checksum
How to use checksums
a6732d8f47a7998acdba9721c954c11bfdf79f5a0fee18c01af977787c7fac15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.0

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page