Sa1tama228/SentinelForge
GitHub: Sa1tama228/SentinelForge
SentinelForge 是一个集扫描、侦察、蜜罐和漏洞关联于一体的本地防御性安全工具包,旨在为安全分析师提供从小型实验室评估到报告生成的完整工作流。
Stars: 3 | Forks: 0
# SentinelForge
SentinelForge 是一个本地防御性安全工具包,适用于小型实验室扫描、被动侦察、蜜罐遥测、漏洞缓存关联以及适合分析师的报告。
请仅在您拥有或获得明确授权评估的系统上使用它。

## 功能
- 使用 socket 或可选的 Nmap 引擎进行 TCP/UDP 服务扫描
- 针对 DNS、WHOIS/RDAP、子域名、Web 技术提示和安全 endpoint 检查的被动侦察
- 低交互的 HTTP、SSH、FTP、Telnet 和 SMTP 蜜罐
- 本地漏洞缓存导入,支持 NVD/通用 JSON、CISA KEV、EPSS CSV、漏洞利用 CSV 以及供应商/发行版公告
- Findings、资产、扫描历史和多格式导出
- Flet 桌面 UI 和基础 CLI
## 安装
```
python -m venv .venv
.\.venv\Scripts\python -m pip install -e ".[dev]"
```
可选的数据包工具是特意分开的:
```
.\.venv\Scripts\python -m pip install -e ".[packet]"
```
## 运行 UI
```
sentinelforge-ui
```
或者:
```
python main.py
```
## CLI
```
sentinelforge scan 127.0.0.1 --ports 22,80,443
sentinelforge recon example.com
sentinelforge export --format html
sentinelforge attack-paths
sentinelforge doctor
sentinelforge validate-feed epss_csv data/epss.csv
sentinelforge sync-vulns --validate-only
sentinelforge cleanup
```
## 健康检查
在提交 issue 或启用可选引擎之前,请运行 `doctor`:
```
sentinelforge doctor
```
它会检查 Python、SQLite、数据库完整性、WAL 模式、可选工具、包导入、扫描器策略、本地计数以及漏洞源质量。
## 压力测试
SentinelForge 包含本地合成压力数据工具,用于在不扫描真实系统的情况下验证报告、图表、攻击路径和蜜罐活动的性能。
```
sentinelforge stress-seed --assets 5000 --findings-per-asset 3 --honeypot-events 100000 --recon-targets 1000
sentinelforge stress-benchmark --report-format json
sentinelforge stress-clear
```
`stress-clear` 仅删除使用 SentinelForge 压力前缀创建的合成记录。
## 可选引擎
安装 Nmap 且扫描器引擎设置为 `auto` 或 `nmap` 时,将自动使用 Nmap。可以配置额外的 Nmap 标志,但 SentinelForge 会在内部自行管理输出和目标标志。
可以将 Nikto 启用为可选的 Web 审计引擎。SentinelForge 会将 Nikto 的输出存储为支持性证据,在将其视为已确认的结果之前,应进行手动验证。
数据包工具是可选的:
```
python -m pip install -e ".[packet]"
```
PyShark/Wireshark/TShark 支持目前被标记为 WIP。
## 范围控制
默认情况下,公共目标会被阻止。在扫描外部资产之前,请配置扫描器范围。
支持的扫描器设置:
- `target_allowlist`:通配符模式列表
- `scope_file_path`:文本文件的路径,每行包含一个主机名/IP/通配符
- `block_public_targets`:默认为 `true`
- `block_private_targets`:默认为 `false`
范围文件示例:
```
127.0.0.1
*.internal.example
10.0.0.*
```
## 漏洞源
在导入之前,请使用“设置”或 CLI 验证:
```
sentinelforge validate-feed nvd_json C:\feeds\nvd
sentinelforge validate-feed vendor_advisory_json C:\feeds\ubuntu-osv.json
```
导入器支持 JSON 和 CSV 源的官方和通用格式。“设置”页面会显示接受的行和最少必填字段。
## 开发
```
python -m pytest -q
python -m compileall -q sentinelforge tests
ruff check .
```
测试通过 `SF_DATA_DIR` 隔离运行时数据。
## 状态
该项目尚未正式发布。在实验室环境之外使用之前,请审查范围控制和当地法律法规。
标签:CTI, Python, 安全规则引擎, 安全运营, 实时处理, 密码管理, 扫描框架, 插件系统, 无后门, 桌面应用, 蜜罐, 证书利用, 逆向工具