1tsRajOwO/bronze-shield
GitHub: 1tsRajOwO/bronze-shield
一款零依赖的网站安全审计工具,通过检测 HTTP 标头、SSL 证书和 DNS 配置对网站进行 A+ 到 F 评级,并支持批量扫描导出线索。
Stars: 0 | Forks: 0
# 🛡️ Bronze Shield
### 网站安全健康检查审计工具
**一款零依赖的安全审计工具,能在几秒钟内评估任何网站的安全状况——并将结果转化为销售 pipeline。**
[](https://python.org)
[](https://opensource.org/licenses/MIT)
[](https://github.com/1tsRajOwO)
[](https://en.wikipedia.org/wiki/Children%27s_Online_Privacy_Protection_Act)
[](https://gdpr.eu/)
[](CONTRIBUTING.md)
## 这是什么?
Bronze Shield 会检查任何网站的**公开 HTTP 标头和 SSL 证书**,对它们进行 100 分制的评分,并给出从 **A+ 到 F** 的字母评级。它完全基于 Python 标准库运行——无需 `pip install`,无需 Docker,无需数据库。
它的存在有两个原因:
1. **审计** — 获取任何域名清晰、通俗易懂的安全报告。
2. **销售** — 批量扫描潜在客户名单,导出按最差优先排序的 CSV 文件,并使用自动生成的推销话术,向安全最薄弱的目标发送冷邮件。
## ✨ 功能
| | 功能 | 作用 |
| --- | ------------------------ | ------------------------------------------------------------------------------------------------------------- |
| 🔍 | **6 项标头检查** | 检查 HSTS、CSP、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy |
| 🔒 | **SSL 验证** | 验证证书链、颁发者和到期剩余天数 |
| 🌐 | **OSINT 信息丰富** | IP 地理定位、DNS 记录 (A/AAAA/MX/NS/TXT/CAA)、DNSSEC、注册商查询、通过 CT 日志发现子域名 |
| 🧪 | **CSP AST 解析器** | 将 Content-Security-Policy 解析为指令,并标记有风险的通配符 / `unsafe-inline` |
| 📊 | **分类评分** | 将分数细分为 Headers (35%)、SSL (25%)、DNS (20%)、Policy (20%) |
| 📝 | **自动推销话术生成器** | 为每个扫描的域名编写通俗易懂的销售摘要 |
| 🖥️ | **Web 仪表盘** | 影院级 WebGL 落地页 + 深度审计报告 UI |
| ⌨️ | **CLI 扫描器** | 支持单域名和批量扫描,并可导出 CSV |
| 🛡️ | **SSRF 防护** | 阻止扫描私有/内部 IP (RFC 1918、loopback、link-local) |
| 🤖 | **AI 分析** | 可选的 Hugging Face 集成,用于威胁分析 |
## 🚀 快速开始
### Web 仪表盘
```
python3 app.py
```
在浏览器中打开 **http://localhost:5050**。输入域名,点击扫描,即可获取评级。
### CLI — 单个域名
```
python3 site_security_check.py github.com
```
📄 输出示例
``` ============================================================ SECURITY HEALTH-CHECK REPORT: github.com Scanned Date: 2026-07-31T09:00:00Z Overall Grade: A (Score: 85/100) IP Address: 140.82.121.4 Location: San Francisco, United States (GitHub, Inc.) Hosting: GitHub, Inc. / Registrar: GitHub, Inc. ============================================================ EXECUTIVE SUMMARY: I ran a security health check on github.com. The site scored Grade 'A' (85/100)... SSL/TLS CERTIFICATE: - Status: VALID - Issuer: DigiCert, Inc. - Days Until Expiry: 247 days SECURITY HEADER BREAKDOWN: [PASS] Strict-Transport-Security [PASS] Content-Security-Policy [MISSING] X-Frame-Options ... ```⚙️ 所有 CLI 参数
| 参数 | 描述 | | --------------- | --------------------------------------------- | | `url` | 单个目标域名 (例如 `example.com`) | | `-f, --file` | 包含域名的文本文件路径 (每行一个) | | `-o, --output` | 批量扫描的 CSV 输出路径 | | `-j, --json` | 输出原始 JSON 而非文本报告 | | `-t, --timeout` | 请求超时时间(秒) (默认: `2.8`) |📦 扫描响应 schema
``` { "target": "example.com", "score": 85, "grade": "A", "category_scores": { "headers": 90, "ssl": 100, "dns": 85, "policy": 70 }, "ip_address": "93.184.216.34", "location": { "country": "United States", "city": "Well", "isp": "EDGECAST" }, "hosting_info": { "provider": "Edgecast", "registrar": "IANA" }, "dns_records": { "A": ["..."], "MX": ["..."], "NS": ["..."], "TXT": ["..."] }, "dns_caa": { "present": true, "records": ["..."] }, "dnssec": { "enabled": true }, "ssl": { "valid": true, "issuer": "DigiCert", "days_remaining": 120 }, "headers": { "Strict-Transport-Security": { "status": "PASS", "points": 20 } }, "csp_ast": { "present": true, "risks": [], "score": 95 }, "hsts_preload": { "qualified": true, "status": "QUALIFIED" }, "security_txt": { "found": true, "contact": "mailto:security@example.com" }, "subdomains": ["www.example.com", "api.example.com"], "port_status": { "80": "open", "443": "open", "22": "closed" }, "summary_pitch": "I ran a quick security health check on...", "client_report_text": "..." } ```
**由 Python 打造,零依赖,并对缺失的安全标头保持高度警惕。**
标签:ESC4, HTTP安全头, OSINT, Python, SSL证书检查, 多模态安全, 实时处理, 无后门, 网站扫描, 逆向工具, 销售线索生成