Sa1tama228/SentinelForge

GitHub: Sa1tama228/SentinelForge

SentinelForge 是一个集扫描、侦察、蜜罐和漏洞关联于一体的本地防御性安全工具包,旨在为安全分析师提供从小型实验室评估到报告生成的完整工作流。

Stars: 3 | Forks: 0

# SentinelForge SentinelForge 是一个本地防御性安全工具包,适用于小型实验室扫描、被动侦察、蜜罐遥测、漏洞缓存关联以及适合分析师的报告。 请仅在您拥有或获得明确授权评估的系统上使用它。 ![SentinelForge 仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/cas/1b/1b16bed4744d53018ff10ad6b467a1adc521a67ecd59d635099f177b369ece03.png) ## 功能 - 使用 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, 安全规则引擎, 安全运营, 实时处理, 密码管理, 扫描框架, 插件系统, 无后门, 桌面应用, 蜜罐, 证书利用, 逆向工具