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, andPermissions-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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloud_auditor-0.1.1.tar.gz.
File metadata
- Download URL: cloud_auditor-0.1.1.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a00dab66e8a96f0b4773a6799fde5e59ff91ac774d112af991958b734b6fd48
|
|
| MD5 |
eda1e8483eb4ea5ab4436744e57ad0dd
|
|
| BLAKE2b-256 |
cf5d72da31847f27523729410a86b77cee9acc9413efb67445ddf10996998e0b
|
File details
Details for the file cloud_auditor-0.1.1-py3-none-any.whl.
File metadata
- Download URL: cloud_auditor-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c7ee72c6db6a6f58bab330264aabfebefb655433ecf1004a49f99bc30f9e059
|
|
| MD5 |
98d645fb4bff1d2090edc0d3e43bcf85
|
|
| BLAKE2b-256 |
a6732d8f47a7998acdba9721c954c11bfdf79f5a0fee18c01af977787c7fac15
|