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安全, 加密, 安全规则引擎, 实时处理, 密码管理, 插件系统, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具