mohakchaudhary203/sentinelscan

GitHub: mohakchaudhary203/sentinelscan

一款基于 Python 的轻量级命令行 Web 漏洞扫描工具,检测 OWASP Top 10 常见安全配置问题并生成可操作的修复报告。

Stars: 0 | Forks: 0

# SentinelScan 一款轻量级的命令行 Web 漏洞扫描工具,可检测常见的 **OWASP Top 10** 安全配置错误,并生成具有可操作性的安全报告。 该项目使用 Python 构建,旨在为开发人员、学生和安全专业人员提供一款实用的安全评估工具。 # 功能 SentinelScan 会执行以下安全检查: | 检查项 | 描述 | OWASP 类别 | |--------|-------------|----------------| | **安全响应头** | 检测缺失的 HSTS、CSP、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy,以及通过 `Server` 或 `X-Powered-By` 响应头导致的信息泄露。 | A05:2021 – 安全配置错误 | | **Cookie 安全** | 识别缺失 `Secure`、`HttpOnly` 或 `SameSite` 属性的 Cookie。 | A05:2021 – 安全配置错误 | | **TLS 配置** | 检测明文 HTTP 的使用、过时的 TLS 版本,以及过期或即将过期的证书。 | A02:2021 – 加密机制失效 | | **暴露的敏感文件** | 检查可公开访问的 `.env`、`.git`、备份文件、`phpinfo.php`、`server-status` 及其他敏感资源。 | A01:2021 – 访问控制失效 | | **端口扫描** | 使用纯 Python sockets 检测通常暴露的服务,如 Redis、MongoDB、Telnet、FTP、SSH、SMB、RDP 等。 | A05:2021 – 安全配置错误 | 每项检查结果均包含: - 严重级别 - 通俗易懂的解释 - 推荐的修复方案 - 关联的 OWASP 类别 其目标是生成让开发团队和安全团队能够立即采取行动的安全报告。 # 安装说明 ``` git clone https://github.com/mohakchaudhary203/sentinelscan.git cd sentinelscan pip install -e . ``` ## 环境要求 - Python 3.9+ - 无需任何外部二进制文件 - 不依赖 Nmap - 不依赖 OpenSSL CLI SentinelScan 仅依赖 Python 的标准库和 `requests` 包。 # 使用说明 ### 运行完整扫描 ``` sentinelscan https://example.com ``` ### 运行指定检查项 ``` sentinelscan https://example.com --checks security_headers cookie_security ``` ### 导出报告 ``` sentinelscan https://example.com --json report.json --markdown report.md ``` ### CI/CD 集成 如果检测到 HIGH 或 CRITICAL 级别的安全问题,将以非零状态码退出。 ``` sentinelscan https://example.com --quiet --json report.json ``` # 输出示例 ``` SentinelScan Report Target: https://example.com Scanned: 2026-01-15 10:32:00 UTC Risk Score: 27/100 Grade: C [HIGH] Missing Strict-Transport-Security HSTS header is missing, allowing browsers to access the site over HTTP. Recommendation: Add: Strict-Transport-Security: max-age=31536000; includeSubDomains OWASP: A05:2021 – Security Misconfiguration ------------------------------------------------- [MEDIUM] Cookie "session" missing HttpOnly The cookie is accessible via JavaScript, increasing the impact of Cross-Site Scripting (XSS). Recommendation: Enable the HttpOnly attribute. OWASP: A05:2021 – Security Misconfiguration ``` # 项目结构 ``` sentinelscan/ ├── sentinelscan/ │ ├── cli.py │ ├── scanner.py │ ├── models.py │ ├── severity.py │ ├── report.py │ └── checks/ │ ├── headers.py │ ├── cookies.py │ ├── tls.py │ ├── exposed_files.py │ └── ports.py ├── tests/ ├── README.md ├── LICENSE ├── pyproject.toml └── .gitignore ``` 每项安全检查都被实现为一个独立的模块,并对外暴露: ``` run(session, base_url) -> list[Finding] ``` 只需在扫描器中注册新检查项,即可通过极少的改动添加新的检查功能。 # 运行测试 安装开发依赖: ``` pip install -e ".[dev]" ``` 运行测试套件: ``` pytest tests/ -v ``` 测试用例使用了模拟的 HTTP 响应,因此整个测试套件可以完全离线执行,无需连接到实际的目标地址。 # 负责任的使用说明 SentinelScan **仅用于授权的安全测试**。 请仅扫描符合以下条件的系统: - 您拥有的系统 - 您管理的系统 - 您已获得明确书面授权进行评估的系统 未经授权的安全扫描可能会违反相关法律法规。 # 开源许可证 本项目基于 **MIT License** 授权。 详情请参阅 [LICENSE](LICENSE) 文件。
标签:LNA, Python, Web安全, 加密, 安全规则引擎, 实时处理, 密码管理, 插件系统, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具