
# SentinelRecon AI
**企业级 AI 驱动的网络侦察与威胁情报工具包**
[](https://www.python.org/)
[](https://anthropic.com/)
[](LICENSE)
[](https://github.com/shlok926/SentinelReconAI/actions)
[]()
[快速开始](#quickstart) • [架构](#architecture-overview) • [贡献](#contributing)
## 目录
| | |
|---|---|
| 1. [执行摘要](#executive-summary) | 10. [设计决策](#design-decisions) |
| 2. [目的](#purpose) | 11. [工程考量](#engineering-considerations) |
| 3. [范围](#scope) | 12. [文档索引](#documentation-index) |
| 4. [背景](#background) | 13. [风险](#risks) |
| 5. [核心能力](#key-capabilities) | 14. [假设](#assumptions) |
| 6. [架构概览](#architecture-overview) | 15. [未来改进](#future-improvements) |
| 7. [技术栈](#tech-stack) | 16. [贡献](#contributing--feedback) |
| 8. [仓库结构](#repository-structure) | 17. [参考](#references) |
| 9. [快速开始](#quickstart) | |
## 执行摘要
**SentinelRecon AI** 是一款下一代安全审计工具,它填补了原始网络侦察与可操作威胁情报之间的空白。通过编排端口扫描、全球 OSINT 数据源(Shodan、AlienVault OTX、AbuseIPDB、VirusTotal)以及大型语言模型(LLM)分析,它能在几秒钟内为防御者和安全研究人员提供上下文丰富的企业级漏洞报告。
## 目的
传统扫描器(如 Nmap)输出的原始数据需要人工解读并与 CVE 数据库进行交叉比对。SentinelRecon 的目标是**自动化完整的攻击面关联过程**。它能立即将开放端口映射到已知漏洞,在全球范围内检查 IP 信誉,并生成 AI 驱动的修复策略——为 SOC 分析师节省数小时的人工分类时间。
## 范围
**范围内:**
- TCP SYN、Connect 和 UDP 端口扫描。
- Banner 抓取和服务枚举。
- 通过 NVD 进行自动化 CVE 查找。
- 实时 IP 信誉与历史 OSINT(Shodan、AlienVault OTX、AbuseIPDB、VirusTotal)。
- 用于上下文分析和修复的生成式 AI 分析。
- 本地 SQLite 跟踪和丰富的 HTML/PDF 报告生成。
**范围外:**
- 主动利用或 payload 投递(严格只读侦察)。
- 分布式拒绝服务攻击测试。
## 背景
随着网络威胁变得日益复杂,“修复时间”(TTR)指标变得至关重要。SentinelRecon 的构建旨在将彼此脱节的工作流——网络扫描、CVE 查找和威胁情报——统一到一个强大且单一的 CLI 命令中。
## 核心能力
| 能力 | 描述 |
| :--- | :--- |
| **智能侦察** | 具有动态服务检测功能的多模式端口扫描。 |
| **威胁情报** | 与 Shodan、OTX、VirusTotal 和 AbuseIPDB 的 OSINT 关联。 |
| **AI 分类** | 集成 Claude-3 进行风险评分和通俗易懂的修复建议。 |
| **报告生成** | 基于 Jinja2 的美观 HTML/PDF 企业级报告。 |
## 📸 截图与演示
### 丰富的终端界面
### 企业级 HTML 报告
## 架构概览
```
graph TD
classDef core fill:#2b6cb0,stroke:#3182ce,stroke-width:2px,color:#fff,rx:5px
classDef intel fill:#805ad5,stroke:#9f7aea,stroke-width:2px,color:#fff,rx:5px
classDef ai fill:#00a3c4,stroke:#0bc5ea,stroke-width:2px,color:#fff,rx:5px
classDef data fill:#c53030,stroke:#f56565,stroke-width:2px,color:#fff,rx:5px
U[User CLI]:::core --> O(Scan Orchestrator):::core
subgraph Core Engines
O --> PS[Port Scanner]:::core
O --> CM[CVE Mapper]:::core
end
subgraph Threat Intelligence
O --> TI[Threat Intel Manager]:::intel
TI -.-> SH[(Shodan API)]:::intel
TI -.-> OT[(AlienVault OTX)]:::intel
TI -.-> VT[(VirusTotal API)]:::intel
TI -.-> AB[(AbuseIPDB API)]:::intel
end
subgraph Analysis & Storage
O --> AI[Claude AI Analyzer]:::ai
O --> DB[(SQLite Local DB)]:::data
O --> RG[Jinja2 Report Generator]:::data
end
```
## 技术栈
- **核心语言:** Python 3.9+
- **CLI 框架:** Click, Rich(用于终端 UI)
- **APIs & AI:** Requests, Anthropic Claude 3 API
- **报告生成:** Jinja2 (HTML), WeasyPrint (PDF)
- **数据持久化:** SQLite3
## 仓库结构
```
SentinelReconAI/
├── sentinelrecon/
│ ├── cli/ # Rich Terminal Interface & Commands
│ ├── core/ # Port Scanner, CVE Mapper, Threat Intel
│ ├── data/ # SQLite Database Operations
│ ├── reports/ # HTML/PDF Jinja2 Report Generators
│ └── analysis/ # AI Integration & Risk Scoring
├── output/ # Generated HTML/PDF Reports
└── .env.example # Environment Configuration
```
## 快速开始
### 方法 1:直接安装(推荐)
你可以通过 pip 全局安装 SentinelRecon,而无需手动克隆仓库:
```
pip install git+https://github.com/shlok926/SentinelReconAI.git
```
这将在你的终端中全局启用 `sentinelrecon` 命令。
### 方法 2:克隆与可编辑安装
```
git clone https://github.com/shlok926/SentinelReconAI.git
cd SentinelReconAI
pip install -e .
```
### 配置与密钥
设置你的 API 密钥以解锁全部功能(AI & 威胁情报):
```
sentinelrecon config --set shodan_api_key YOUR_KEY
sentinelrecon config --set otx_api_key YOUR_KEY
# 或者手动编辑你工作目录中的 .env 文件
```
### 扫描示例
**1. 基础网络扫描:**
```
sentinelrecon scan --target 8.8.8.8 --ports 1-1000 --type connect
```
**2. 包含漏洞与 AI 分类的专家模式:**
```
sentinelrecon scan --target example.com --ports 80,443 --ai --cve --mode expert
```
## 设计决策
1. **模块化架构:** 系统实现了深度解耦。如果未提供凭证,可以优雅地跳过威胁情报和 AI 分析等外部模块。
2. **本地 SQLite 优于 Postgres:** 作为专为私有审计设计的工具,SQLite 提供了零配置的状态持久化,确保扫描历史完全保留在本地。
3. **Jinja2 静态报告:** HTML 静态报告提供了高度可移植、易于共享且可即时渲染的仪表板,其中包含详细的网络和情报遥测数据。
## 工程考量
- **优雅降级:** 如果触发了 API 速率限制(例如 VirusTotal),该工具会捕获错误,将该模块标记为“已跳过”,并使用剩余数据成功编译最终报告。
- **数据隐私:** 自动检测内部 IP 地址(192.168.x.x、10.x.x.x),并动态跳过威胁情报 API 调用,以防止将内部基础设施拓扑泄露给全球数据库。
## 文档索引
- [配置指南](docs/CONFIG.md)
- [API 参考](docs/API.md)
- [道德准则](docs/ETHICS.md)
## 风险
- **LLM 幻觉:** 生成式 AI 偶尔可能会建议过时的修复步骤。
- **API 配额:** 对大型子网进行激进扫描将迅速耗尽 OSINT 数据源上的免费层级 API 限制。
## 假设
- 用户拥有扫描目标 IP/域名的合法授权。
- 用户拥有用于高级上下文生成的必要 API 密钥。
- 主机系统能够将 DNS 主机名解析为 IPv4 地址。
## 未来改进
- **云资产枚举(v2.0):** 检测配置不当的 AWS S3 存储桶、EC2 实例以及 Azure/GCP Blobs。
- **主动漏洞利用(DAST):** 实施安全且经过授权的主动测试,例如触发 XSS payload 和目录暴力破解。
- **异步扫描:** 将 socket 扫描器迁移到 `asyncio`,以在 /24 子网上实现 10 倍的性能提升。
## 👤 作者与联系方式
👨💻
Shlok Thorat
让我们在 LinkedIn 上联系,共同协作,创造非凡成就!
[](mailto:shlokthorat29075@gmail.com)
[](https://github.com/shlok926)
[](https://www.linkedin.com/in/shlok-thorat-39916a405/)
由 Shlok 满怀 ❤️ 为网络安全创新而制 •
返回顶部