rubysy/SecretProbe

GitHub: rubysy/SecretProbe

一款轻量级 Python Web 安全扫描器,专注于自动检测网站的敏感文件暴露、密钥泄露、错误配置等常见安全问题并生成评分报告。

Stars: 1 | Forks: 0

``` _____ __ ____ __ / ___/___ _____________/ /_/ __ \_________ / /_ ___ \__ \/ _ \/ ___/ ___/ _ \/ __/ /_/ / ___/ __ \/ __ \/ _ \ ___/ / __/ /__/ / / __/ /_/ ____/ / / /_/ / /_/ / __/ /____/\___/\___/_/ \___/\__/_/ /_/ \____/_.___/\___/ ``` # SecretProbe **Web 错误配置与密钥扫描器** [![Python](https://img.shields.io/badge/Python-3.8+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://python.org) [![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-blue?style=for-the-badge)]() 一款轻量级、现代化的 Python 工具,用于发现 Web 应用程序中的**暴露的密钥**、**错误配置**和**安全漏洞**。专为漏洞赏金猎人、渗透测试人员和安全意识较强的开发者而设计。
## 它的功能是什么? SecretProbe 自动化了 Web 安全评估中繁琐的初始步骤。无需逐个手动检查常见的错误配置,只需运行一个命令即可获得全面的安全报告。 ``` python secretprobe.py -u https://target.com -o report.html ``` ### 演示: ![扫描输出](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/eb24617e7c021400.png) ![扫描摘要](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/020701ba3c021401.png) ## 安全检查 | 检查项 | 描述 | 检测内容 | |:------|:-----------|:--------| | **敏感文件** | 扫描暴露的配置和备份文件 | `.env`, `.git/`, `.sql` 导出文件, 日志, 备份 | | **安全头** | 分析 HTTP 安全头 | 缺失 HSTS, CSP, X-Frame-Options 等 | | **调试模式** | 检测开发/调试工件 | Laravel Debugbar, Django DEBUG=True, 堆栈跟踪 | | **JS 密钥** | 扫描 JavaScript 中的硬编码密钥 | API 密钥, token, 密码, AWS 密钥 | | **Cookie 安全** | 分析 Cookie 安全标志 | 缺失 Secure, HttpOnly, SameSite | | **CORS 配置** | 测试 CORS 错误配置 | 通配符来源, 源反射 | | **服务器信息** | 检查信息泄露 | 服务器版本, X-Powered-By, 技术栈 | | **管理面板** | 检测暴露的管理界面 | `/admin`, `/wp-admin`, `/phpmyadmin` 等 | ## ⚡ 快速开始 ### 安装 ``` # 克隆 repository git clone https://github.com/rubysy/SecretProbe.git cd SecretProbe # 安装 dependencies pip install -r requirements.txt ``` ### 基本用法 ``` # Full scan python secretprobe.py -u https://target.com # 使用 HTML 报告进行 scan python secretprobe.py -u https://target.com -o report.html # 仅运行特定 checks python secretprobe.py -u https://target.com --checks files,headers,debug # 自定义 timeout python secretprobe.py -u https://target.com --timeout 15 # Verbose 模式 python secretprobe.py -u https://target.com -v ``` ### 可用检查项 使用带有逗号分隔值的 `--checks` 参数: | 标志 | 检查项 | |:-----|:------| | `files` | 敏感文件暴露 | | `headers` | 安全头分析 | | `debug` | 调试模式检测 | | `secrets` | JavaScript 密钥扫描 | | `cookies` | Cookie 安全分析 | | `cors` | CORS 错误配置 | | `server` | 服务器信息泄露 | | `admin` | 管理面板检测 | | `all` | 运行所有检查项(默认) | ## 评分系统 SecretProbe 根据扫描结果分配一个 **0–100** 分的安全评分: | 等级 | 分数 | 含义 | |:-----:|:-----:|:--------| | A+ | 90-100 | 优秀的安全状态 | | A | 80-89 | 良好,仅有微小问题 | | B | 70-79 | 发现中等问题 | | C | 60-69 | 存在显著问题 | | D | 40-59 | 重大安全隐患 | | F | 0-39 | 发现严重漏洞 | 严重性权重: - 🔴 **严重 (CRITICAL)**: -25 分(暴露的密钥,源代码泄露) - 🟠 **高 (HIGH)**: -15 分(调试模式,API 密钥暴露) - 🟡 **中 (MEDIUM)**: -8 分(缺失安全头,CORS 问题) - 🔵 **低 (LOW)**: -3 分(信息泄露,轻微的错误配置) ## HTML 报告 使用 `-o` 参数生成美观且易于分享的 HTML 报告: ``` python secretprobe.py -u https://target.com -o report.html ``` 报告包含: - 安全评分和等级 - 所有发现的问题,包含严重性、证据和修复建议 - 深色主题的响应式设计 - 可分享的独立 HTML 文件 ## 🏗️ 项目结构 ``` SecretProbe/ ├── secretprobe.py # CLI entry point ├── scanner/ │ ├── __init__.py # Package metadata │ ├── checks.py # All security check modules │ ├── engine.py # Scanner orchestrator │ ├── reporter.py # Terminal & HTML output │ └── utils.py # HTTP utilities & data models ├── requirements.txt # Python dependencies ├── LICENSE # MIT License └── README.md # This file ``` ## 贡献 欢迎贡献代码!您可以通过以下方式提供帮助: 1. **Fork** 本仓库 2. **创建** 一个功能分支 (`git checkout -b feature/new-check`) 3. 在 `scanner/checks.py` 中**添加**您的安全检查 4. 在 `CHECK_REGISTRY` 中**注册**它 5. **提交** Pull 请求 ### 添加新检查项 ``` # 在 scanner/checks.py 中 def check_my_new_check(target_url, session, timeout=10, verbose=False): """Description of what this check does.""" findings = [] # Your check logic here findings.append(Finding( severity=Severity.HIGH, title="Issue Found", description="Detailed description", evidence="Evidence details", remediation="How to fix", url=target_url, category="Category Name" )) return findings # 注册到 CHECK_REGISTRY CHECK_REGISTRY["mycheck"] = ("My New Check", check_my_new_check) ``` ## ⚠️ 免责声明 本工具仅用于**授权的安全测试**。请仅在您拥有明确测试权限的目标上使用。作者对本工具的任何滥用不承担责任。 **在扫描任何 Web 应用程序之前,请务必获得适当的授权。** ## 📜 许可证 本项目基于 MIT 许可证授权 — 有关详细信息,请参见 [LICENSE](LICENSE) 文件。
**由 rubysy 制作** 如果您觉得有用,请给本仓库点个 ⭐ Star! 谢谢。
标签:API密钥泄露, Bug Bounty, Cookie安全, DNS枚举, Git目录暴露, HTTP安全头分析, JS硬编码密钥, Python安全工具, Web安全扫描器, 可自定义解析器, 多模态安全, 安全基线检查, 密码管理, 密钥发现, 插件系统, 敏感信息泄露检测, 数据泄露, 文档结构分析, 源码泄露, 环境变量暴露, 网络安全工具, 调试模式检测, 跨域资源共享CORS, 轻量级安全工具, 逆向工具, 错误配置扫描