Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ThreatSentry-AI — ThreatSentry AI 是一个智能威胁狩猎仪表盘,利用机器学习主动识别并优先处理网络中的风险。它自动化了收集设备信息、以漏洞数据丰富信息以及评估风险等级的过程,使安全团队能够专注于最关键的安全威胁。 | Kitploit
工具/GitHubGitHub/eclipsemanic/threatsentry-ai
防御工具侦察漏洞分析信息收集网络安全威胁情报机器学习事件响应日志分析
GitHubeclipsemanic/threatsentry-ai

ThreatSentry-AI

ThreatSentry AI 是一个智能威胁狩猎仪表盘,利用机器学习主动识别并优先处理网络中的风险。它自动化了收集设备信息、以漏洞数据丰富信息以及评估风险等级的过程,使安全团队能够专注于最关键的安全威胁。

117个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

ThreatSentry AI:AI 驱动的威胁狩猎工具

License: MIT Python Version Framework ML Stack Database

自动进行外部资产发现,通过多源数据智能丰富,并利用集成机器学习预测和优先处理风险。将警报疲劳转化为可操作的情报。

🚀 使命宣言

ThreatSentry AI 通过智能风险优先级排序,消除安全警报疲劳,实现主动威胁狩猎。它结合了自动化资产发现、多源数据丰富和高级机器学习,将原始安全数据转化为可操作的情报。


👨‍💻 作者与致谢

项目负责人: EclipseManic

开发说明: 这个全面的企业安全平台由一位开发者在 AI 开发工具的协助下(用于代码生成、优化和文档)进行架构和开发——证明了 AI 增强的软件工程在复杂系统中的可行性。


📋 执行摘要

现代安全团队面临着前所未有的挑战:

  • 警报疲劳:每天数千条警报,信噪比使得手动分流几乎不可能
  • 数据碎片化:关键上下文分散在 SIEM、CMDB、补丁系统和网络监控中
  • 被动姿态:应对已知威胁而非主动搜索新风险
  • 资源约束:基础设施日益复杂,预算和人员有限

ThreatSentry AI 通过以下方式解决这些问题:

  1. 通过 Shodan API 自动化外部资产发现,实现持续可见性
  2. 来自 NVD、内部系统和行为分析的智能多源丰富
  3. 基于 ML 的风险评分,使用集成模型进行准确的威胁优先级排序
  4. 面向高管的仪表盘,提供可操作的情报和快速响应
  5. 主动告警,在事件发生前暴露高风险资产

✨ 核心功能

🤖 智能风险评分引擎

  • 集成机器学习模型:结合随机森林、梯度提升和神经网络进行稳健的风险分类
  • 多因素分析:评估 40 多个安全和业务属性,而不仅仅是简单的漏洞计数:
    • 时间上下文:暴露时长、补丁滞后、事件历史
    • 网络位置:关键服务状态、网段、防火墙保护
    • 行为信号:身份验证失败、流量异常、误报历史
    • 合规影响:数据敏感性、监管要求、关联的关键资产
  • 置信度评分:每个预测都包含一个置信度指标(0-1),供分析人员评估可靠性
  • 持续学习:模型根据可配置的时间间隔自动重新训练,并集成反馈

🌐 自动化资产发现与情报融合

  • Shodan 集成:持续发现面向互联网的设备,支持高级查询
    • 常见场景的预设查询(SSL 证书、RDP 服务、ICS/Modbus 等)
    • 支持组织特定资产狩猎的自定义查询
  • NVD 丰富:使用智能横幅解析自动关联 CVE
    • 支持 14 种以上产品类型的横幅服务提取(Apache、Nginx、MySQL、IIS 等)
    • CVSS 评分和严重性分类
    • 防止数据丢失:仅在发现漏洞时更新 CVE 指标
  • 内部数据集成(为您的环境提供可扩展架构):
    • CMDB 收集器:资产分类、关键性级别、合规标签
    • SIEM 收集器:行为指标、身份验证模式、异常分数
    • 补丁管理收集器:补丁更新状态、缺失更新、补丁滞后分析
    • 网络监控收集器:流量模式、DDoS 检测、异常分数
  • 统一数据库:SQLite,包含 40 多个索引列,用于高效查询和报告

📊 高管仪表盘与分析工具

  • 基于 PyQt5 的图形界面,支持深色/浅色主题:
    • 实时风险分布可视化(使用 Matplotlib 的条形图)
    • 可排序、可过滤的设备表格,带有颜色编码的风险指示器
    • 按组织、国家、风险级别快速过滤
    • 跨 IP、组织、国家、风险字段的自动搜索
  • 交互式设备检查:
    • 详细的漏洞列表,包含 CVSS 分数
    • 漏洞时间线和历史追踪
    • 风险因素分解解释评分
  • 批量操作:
    • 手动扫描触发(Shodan + NVD 丰富)
    • CSV/JSON 数据导入,带字段验证
    • 模型重新训练,附带性能指标
    • 手动告警发送以验证配置
  • 分析面板(高级):
    • 风险分布趋势
    • CVE 影响分析
    • 按组织的漏洞指标

📧 主动邮件告警

  • SendGrid 集成:高风险资产自动发送 HTML 邮件通知
    • 风险标签变化(低/中 → 高)时立即触发
    • 通过“已通知”状态跟踪防止重复告警
  • 丰富的告警内容:
    • 风险评分和置信度的高管摘要
    • 详细的漏洞列表(按 CVSS 排序的前 N 个)
    • 为安全团队上下文提供的风险因素分解
    • 可行的修复建议
  • 灵活配置:定义告警接收人、邮件模板和触发条件

示例告警邮件

![Automated Security Alert Email Template]

Screenshot 2026-01-10 160955

通过 SendGrid 发送的 HTML 格式邮件,包含风险摘要、CVE 详情和修复指南

📈 模型透明度与持续改进

  • 性能监控:
    • 训练周期中的准确率跟踪
    • 混淆矩阵和分类报告
    • 特征重要性分析,了解模型决策
    • 数据漂移检测指示器
  • 反馈循环:
    • 分析人员手动修正风险标签
    • 真阳性/假阳性跟踪
    • 基于反馈的模型权重调整
    • 带元数据记录的自动重新训练计划

⚡ 性能与可靠性

  • 针对规模优化:
    • 5 列以上的数据库索引,实现亚毫秒级查询
    • 频繁访问数据的结果缓存(28.7 倍加速)
    • 大数据集的分页“加载更多”(初始 50 行 + 每次 50 行增量)
    • 使用工作线程的非阻塞 UI(QThread、ThreadPoolExecutor)
  • 健壮的错误处理:
    • API 故障(Shodan、NVD、SendGrid)的指数退避重试逻辑
    • 可选服务不可用时的优雅降级
    • 全面的日志记录,带文件轮换
    • 线程安全的信号/槽架构,防止竞态条件
  • 内存高效:
    • 图表渲染后的垃圾回收
    • 延迟加载 UI 标签页,减少启动时间
    • 会话上下文管理器确保正确清理

🖼️ 视觉概览

主仪表盘

![ThreatSentry AI Dashboard - Main Threat Hunting Interface]

Screenshot 2026-01-10 153154

具有可排序设备表和风险分布条形图的实时风险可视化

设备风险评估表

![Device Table with Risk Indicators]

image

可排序和可过滤的设备列表,带有颜色编码的风险级别(绿色=低,黄色=中,红色=高)

高级过滤面板

![Advanced Filters - CVSS Range, Organization, Country, Risk Level]

强大的过滤控件,包含 CVSS 范围、组织、国家和风险级别过滤器,以及“清除全部”按钮

  • CVSS 范围过滤器:调整最小和最大 CVSS 分数(0-10),聚焦特定严重级别
  • 组织过滤器:从数据库中所有组织的下拉列表快速过滤特定组织
  • 国家过滤器:按地理位置过滤,识别区域风险
  • 风险级别过滤器:仅显示高、中、低或所有设备,进行重点分析
  • 清除全部按钮:一键将所有过滤器重置为默认值,恢复到完整数据集
  • 应用过滤器:立即应用所有选定过滤器,结果实时反映

全数据库搜索能力

![Search Input - Multi-Column Search Across Entire Database]

智能搜索,跨越整个设备数据库,不仅限于当前显示的行

  • 全面搜索:搜索 IP 地址、组织名称、国家和风险级别
  • 自动 IP 检测:自动检测 IP 地址格式并进行相应搜索
  • 全数据库覆盖:搜索结果包含数据库中所有设备,不限于前 50 行
  • 实时结果:300ms 去抖延迟,确保搜索响应快速且不影响性能
  • 分页集成:搜索结果遵循分页系统,高效加载

智能分页与大数据集支持

![Load More Button - Pagination Controls]

优化分页系统,高效处理数千台设备

  • 默认 50 行显示:仪表盘初始加载 50 台设备,快速渲染
  • 渐进式加载:“加载更多(50 行)”按钮允许增量加载,不会超时
  • 内存高效:仅显示请求的行;从不将整个数据集加载到内存
  • 性能优化:非阻塞 UI,防止加载大数据集时冻结
  • 状态指示器:显示“正在显示 X 个设备中的 Y 个”,提供总数据量的透明度
  • 搜索集成:搜索过滤器与分页无缝协作,快速获得结果

分析与报告面板

![Analytics Tab - Risk Trends and CVE Analysis]

Screenshot 2026-01-10 153300

历史风险趋势、漏洞分析和按组织划分的安全指标

工具与配置

![Tools Tab - Model Status and Data Export]

Screenshot 2026-01-10 153240

模型训练信息、性能指标、数据导出和高级过滤选项

邮件告警通知

Screenshot 2026-01-10 153939

![Automated Security Alert Email]

HTML 格式邮件,包含高管摘要、漏洞详情和修复指南

手动扫描工作流

![Scan Trigger Dialog]

Screenshot 2026-01-10 153710

执行 Shodan + NVD 丰富操作,带有详细错误报告和进度指示


🛠️ 技术栈


🏗️ 架构与数据流```

┌─────────────────────────────────────────────────────────────┐ │ ThreatSentry AI │ ├─────────────────────────────────────────────────────────────┤ │ Scheduler (APScheduler) │ ├──────────┬──────────────┬──────────────┬───────────┬─────────┤ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ▼ Shodan NVD Lib CMDB SIEM Patch Network Collector Collector Collector Collector Mgmt Monitor

root@kitploit:~
      │              │              │           │         │
      └──────────────┴──────────────┴───────────┴─────────┘
                       │
                       ▼
              ┌─────────────────┐
              │   SQLite DB     │
              │  (40+ Columns)  │
              └────────┬────────┘
                       │
    ┌──────────────────┼──────────────────┐
    ▼                  ▼                  ▼

Feature Engine Model Training Predictions │ │ │ └─────────┬───────┴──────────┬──────┘ ▼ ▼ ┌──────────────────────┐ │ Ensemble Model │ │ (RF + GB + MLP) │ └──────────┬───────────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ PyQt5 GUI Email Alerts Analytics

root@kitploit:~
### 数据处理流水线

1. **发现阶段**(可配置间隔,默认30分钟)
   - Shodan扫描(可配置查询)
   - NVD增强(含CVE关联)
   - 内部系统增强(上下文信息)

2. **分析阶段**
   - 基于40+属性的特征工程
   - 集成模型预测(随机森林40% + 梯度提升40% + MLP 20%)
   - 风险标签生成(0=低, 1=中, 2=高)
   - 置信度评分

3. **告警阶段**
   - 检查新增高风险资产
   - 通过SendGrid生成并发送邮件告警
   - 更新通知状态

4. **模型重新训练**(可配置间隔,默认60分钟)
   - 加载所有历史数据
   - 提取特征
   - 使用平衡类别权重训练集成模型
   - 验证性能指标
   - 保存元数据用于审计

---

## 📋 快速开始

### 前提条件
- **Python**:3.9或更高版本
- **API密钥**(必需):
  - Shodan API密钥(https://www.shodan.io/)
  - SendGrid API密钥(https://sendgrid.com/)- 用于邮件告警
- **可选API密钥**(用于增强丰富化):
  - CMDB端点及凭据
  - SIEM端点及凭据
  - 补丁管理系统端点及凭据
  - 网络监控端点及凭据

### 安装

#### 步骤1:克隆仓库```bash
git clone https://github.com/EclipseManic/ThreatSentry-AI.git
cd ThreatSentry-AI

步骤 2:创建虚拟环境```bash

On Windows

python -m venv .venv .venv\Scripts\activate

On macOS/Linux

python3 -m venv .venv source .venv/bin/activate

root@kitploit:~
#### 步骤3:安装依赖项```bash
pip install -r requirements.txt

第4步:配置环境

在项目根目录创建一个 .env 文件:```bash cp .env.example .env # If provided, or create new

root@kitploit:~
使用你的凭据编辑 `.env`:```ini
# Required - Threat Discovery
SHODAN_API_KEY=your_shodan_api_key_here
SHODAN_QUERY=                          # Leave empty to use presets
SHODAN_QUERY_EMPTY_TO_PRESET=True      # Use preset queries when SHODAN_QUERY is empty

# Optional - Email Alerts
SENDGRID_API_KEY=your_sendgrid_key_here
[email protected]    # Must be verified in SendGrid
[email protected],[email protected]

# Optional - Internal Enrichment (Implement in collectors/)
CMDB_API_ENDPOINT=https://cmdb.internal/api
CMDB_API_KEY=your_cmdb_key
SIEM_API_ENDPOINT=https://siem.internal/api
SIEM_API_KEY=your_siem_key

# Configuration
SCAN_INTERVAL_MINUTES=30               # How often to scan for new assets
RETRAIN_INTERVAL_MINUTES=60            # How often to retrain the model
MAX_SHODAN_RESULTS=50                  # Results per Shodan query
LOG_LEVEL=INFO                         # DEBUG, INFO, WARNING, ERROR

# Paths (Optional)
SQLITE_PATH=data/db/threat_sentric_ai.db
MODEL_PATH=data/models/rf_model.pkl
LOG_FILE_PATH=data/logs/threat_sentric_ai.log

步骤 5:初始化数据库```bash

python -c "from data import init_db; init_db()"

root@kitploit:~
#### 步骤6:运行应用程序```bash
python run.py

仪表盘将在调度程序后台运行时启动。


🚀 使用指南

仪表盘组件概览

![仪表盘主界面(包含所有选项卡)] 概览、分析和工具选项卡,用于全面的威胁评估

1. 设备表与发现

![组织与国家筛选器及设备列表] 可排序的设备表,带有颜色编码的风险指示器(绿色=低,黄色=中,红色=高)

  • 颜色编码:即时视觉风险评估
  • 可排序/可筛选:点击列标题或使用快速筛选器进行快速搜索
  • 实时更新:仪表盘在检测到新威胁时自动刷新

2. 风险分布图

![风险分布柱状图] 总体安全态势可视化,显示各风险级别的设备数量

  • 显示所有风险类别中的设备数量
  • 随着模型预测变化实时更新
  • 识别需要立即关注的安全热点

3. 关键操作按钮

  • 立即扫描:手动触发 Shodan + NVD 增强,并附带详细错误报告
  • 刷新:从最新数据库状态更新仪表盘
  • 上传数据:批量导入包含设备信息的 CSV/JSON
  • 训练模型:使用当前数据手动重新训练集成模型

高级功能

分析选项卡

![分析面板 - 风险趋势与指标]

  • 随时间变化的详细风险趋势与历史分析
  • 识别最易受攻击的服务
  • 按组织的风险指标与比较
  • CVE 影响分析与漏洞趋势

工具选项卡

![工具面板 - 模型状态与导出

  • 模型状态与训练信息

配置

预设查询(编辑 core/config.py)```python

SHODAN_QUERIES = { "default": "product:apache", "web_apps": "http.title:"login" org:"Your Company"", "database": "port:27017 OR port:3306", "iot": "device:camera OR device:printer", "rdp": "port:3389", "vpn": "port:500 OR port:1194" }

root@kitploit:~
#### 自定义内部收集器
在 `collectors/` 目录中实现:
1. 从现有收集器复制模板
2. 使用你的 API 调用更新 `_collect()` 方法
3. 返回增强数据
4. 在调度器 (`core/scheduler.py`) 中注册

#### 邮件告警自定义
编辑 `alerts/email_alerts.py`:
- 修改 HTML 模板以实现品牌化邮件
- 添加自定义风险因素描述
- 调整修复建议

---

## 📊 数据模型

### 设备表(40+ 列)```
Core Identifiers:  ip, org, country, first_seen, last_seen
Vulnerability:     cve_count, max_cvss, vulnerabilities (rel)
Security Metrics:  auth_failures_24h, traffic_anomaly_score, patch_lag_days
Risk Assessment:   risk_label, risk_score, confidence_score
Context:          network_segment, service_category, is_critical_service
Compliance:       compliance_requirements, data_sensitivity_level
Historical:       incident_history_count, last_compromise_date, false_positive_count
Alerting:         notified, alert_history

漏洞表```

Linked to Device: device_id (FK) CVE Info: cve_id, cvss, summary

root@kitploit:~
---

## 🔄 工作流程示例

### 场景一:日常威胁狩猎
1. 打开仪表盘 → 查看风险等级为高(红色)的设备
2. 点击设备 → 查看详细的CVE列表
3. 记录组织与基础设施类型
4. 与SIEM进行交叉核对,查找近期可疑活动
5. 根据严重性和补丁延迟优先修复

### 场景二:事件响应
1. 收到关于新的高风险设备的告警
2. 仪表盘显示漏洞详情和风险因素
3. 查看资产管理选项卡 → 判断设备是否已知
4. 向值班SOC团队发送手动告警
5. 修复完成后,当Shodan反映变更时,仪表盘自动更新

### 场景三:风险报告
1. 进入分析选项卡
2. 导出风险分布与趋势图
3. 识别组织内部的风险热点
4. 生成修复路线图
5. 通过定期重新导出跟踪进度

---

## 🔧 故障排除

### 常见问题

#### 问题:"Shodan API Key无效"(403 Forbidden)
- **解决方案**:验证 `.env` 文件中的Shodan API密钥。仪表盘将显示错误但继续处理
- **注意**:NVD增强不会运行(防止API故障导致数据丢失)

#### 问题:"未找到设备的CVE"
- **解决方案**:检查Banner提取。编辑 `collectors/nvd_collector.py` 中的关键词列表
- **预防**:通过CSV上传手动设置CVE数据进行手动增强

#### 问题:"模型置信度太低"
- **解决方案**:使用更多标注数据重新训练。提供关于错误分类设备的反馈
- **预防**:使用反馈系统提高训练数据质量

#### 问题:邮件告警未发送
- **解决方案**:验证SendGrid API密钥及发件人邮箱是否已验证
- **检查**:确保 `ENABLE_EMAIL_ALERTS` 环境变量设置为True

#### 问题:数据库锁定或查询缓慢
- **解决方案**:确保索引已创建(`init_db()` 会执行此操作)
- **检查**:无重复数据库连接(仅刷新UI,而非持续写入)

---

## 🛡️ 安全注意事项

1. **API密钥管理**:使用环境变量,切勿将 `.env` 提交到Git
2. **数据库安全**:SQLite适合单用户;多用户时请迁移到PostgreSQL
3. **网络安全**:在可信网络环境下运行;若暴露API,需实施网络分段
4. **数据隐私**:配置日志轮转以限制磁盘空间。实施数据保留策略
5. **审计日志**:所有模型决策均记录特征值以供审计

---

## 📈 性能优化建议

| 问题 | 解决方案 |
|-------|----------|
| 仪表盘加载缓慢 | 在配置中增加分页大小 |
| 训练期间CPU占用高 | 减少 `model/advanced_model.py` 中的 `n_estimators` |
| 内存占用过高 | 启用日志清理,降低图表分辨率 |
| Shodan扫描缓慢 | 减少 `MAX_SHODAN_RESULTS`,使用更精确的查询 |
| NVD增强缓慢 | 实现API缓存,减少产品关键词提取 |

---

## 🤝 贡献指南

欢迎贡献!请参阅 [CONTRIBUTING.md](https://raw.githubusercontent.com/eclipsemanic/threatsentry-ai/HEAD/CONTRIBUTING.md) 了解指南。

可改进的领域:
- 新增收集器实现(Nessus、Tenable、Qualys集成)
- 提供程序化访问的Web API
- 基于角色的多用户支持
- 高级可视化(Grafana/ELK集成)
- Kubernetes部署支持

---

## 📄 许可证

本项目采用MIT许可证——详见 [LICENSE](https://github.com/eclipsemanic/threatsentry-ai/blob/main/LICENSE) 文件。

---

## 📞 支持与联系

- **问题反馈**:通过GitHub Issues提交Bug报告和功能请求
- **文档**:查看 [docs/](https://github.com/eclipsemanic/threatsentry-ai/blob/main/docs) 目录获取详细技术文档
- **邮箱**:维护者信息见 [CODE_OF_CONDUCT.md](https://github.com/eclipsemanic/threatsentry-ai/blob/main/CODE_OF_CONDUCT.md)

---

## 🙏 致谢

- **Shodan**:提供全面的互联网暴露设备发现
- **NVD/NIST**:提供权威的漏洞数据
- **Scikit-learn**:稳健的机器学习库及文档
- **PyQt5**:优秀的GUI框架
- **社区**:所有提供反馈的贡献者和用户

---

**由 EclipseManic 用 ❤️ 打造 | 守护今日基础设施,迎接明天安全**
pip install -r requirements.txt```

---

## 🔐 Configuration

### 1. Environment Variables (`.env` file)
Create a `.env` file in the root directory with the following structure:

```bash
# --- Shodan API 密钥(必需)---
SHODAN_API_KEY="YOUR_SHODAN_API_KEY"

# --- SendGrid 电子邮件警报(必需)---
SENDGRID_API_KEY="YOUR_SENDGRID_API_KEY"
SENDER_EMAIL="[email protected]"
ALERT_RECIPIENTS="[email protected],[email protected]"

# --- 数据库 ---
SQLITE_PATH="threat_sentric_ai.db"

# --- 模型 ---
MODEL_PATH="threatsentry_model.pkl"

# --- 调度器 ---
SCAN_INTERVAL_MINUTES="30"
RETRAIN_INTERVAL_MINUTES="60"
RETRAIN_ON_SCHEDULE="True"

# --- Shodan 查询行为控制 ---
SHODAN_QUERY=""
SHODAN_QUERY_EMPTY_TO_PRESET="True"

# --- 日志记录 ---
LOG_LEVEL="INFO" # DEBUG, INFO, WARNING, ERROR, CRITICAL

# --- 内部系统凭证(可选 - 根据您的收集器需要添加)---
# CMDB_API_ENDPOINT="..."
# CMDB_API_KEY="..."
# SIEM_API_ENDPOINT="..."
# SIEM_API_KEY="..."
# PATCH_API_ENDPOINT="..."
# PATCH_API_KEY="..."
# NETWORK_MONITOR_ENDPOINT="..."
# NETWORK_MONITOR_KEY="..."```

> The app loads environment variables via `os.getenv()` in `config.py`.  
> Never commit this file to version control.

---

## 🔍 Shodan Query Presets (`config.py`)

Modify the `SHODAN_QUERIES` dictionary to define your custom query presets:

```python
SHODAN_QUERIES = {
    "default": "product:apache",
    "org": 'org:"Your Company Name"',
    "net": 'net:"123.45.67.0/24"',
    "ssl": 'ssl:"yourcompany.com"',
    "hostname": 'hostname:".yourcompany.com"',
    "rdp": 'port:3389 "remote desktop"',
    "mongodb": 'port:27017 "mongodb"',
    "ics_modbus": 'port:502 "modbus"',
    "vuln_example": 'vuln:CVE-2024-12345',
    "http_login": 'http.title:"Login" org:"Your Company"'
}```

If `SHODAN_QUERY` in `.env` is empty **and** `SHODAN_QUERY_EMPTY_TO_PRESET=True`,  
the scheduler will automatically cycle through these presets.

---

## 🧠 Implementing Internal Collectors

> ⚠️ **Important:** The internal collectors (`cmdb_collector.py`, `siem_collector.py`, `patch_collector.py`, `network_monitor_collector.py`) are **placeholders**.  
> Replace the placeholder logic with real integrations to your systems.

You’ll need to:
- Fetch internal data using APIs, databases, or SDKs.
- Map fetched data to the `Device` model attributes.
- Update the database session with this enriched information.

Without these integrations, the model will lack context for accurate predictions.

---

## 🧪 Running the Application

### (Optional) Generate Initial Training Data
```bash
python scripts/generate_realistic_training_data.py --count 1000```
Creates `scripts/my_training_data.json`.  
You can upload this file through the GUI’s **Upload** option to initialize training data.

### Launch the Application
```bash
python run.py```
The GUI will open and the scheduler will start scanning, enriching, and predicting automatically.

---

## ⚡ Quick Demo with Generated Data

1. Complete installation (steps 1–3).  
2. Set up your `.env` file (even with placeholder keys).  
3. Optionally adjust Shodan presets in `config.py`.  
4. Generate data:
   ```bash
python scripts/generate_realistic_training_data.py --count 500   ```
5. Launch the app:
   ```bash
python run.py   ```
6. In the GUI:
   - Select **Upload** → Choose `scripts/my_training_data.json`
   - Click **Refresh** to view populated device data and risk levels.

---

## 🛠️ Scripts and Usage Guide

| Script | Description |
|--------|--------------|
| **run.py** | Main entry point. Starts DB, scheduler, and GUI. |
| **scheduler.py** | Handles periodic scanning, enrichment, prediction, and retraining. |
| **scripts/generate_realistic_training_data.py** | Generates realistic training data for testing or bootstrapping. |
| **scripts/clear_db_enhanced.py** | Interactively clean database or reset notification flags. |
| **scripts/reset_db.py** | Completely resets the database. Use with caution. |

### Example Commands

```bash
# 生成1000条记录
python scripts/generate_realistic_training_data.py --count 1000

# 查看清理选项
python scripts/clear_db_enhanced.py --help

# 删除所有设备和漏洞
python scripts/clear_db_enhanced.py --delete-devices --delete-vulns

# 重置通知标记
python scripts/clear_db_enhanced.py --reset-notified

# 危险的全量重置
python scripts/reset_db.py```

---

## 💬 Feedback & Suggestions

This project was developed by **EclipseManic**.  
While code contributions are currently closed, your **feedback and bug reports** are highly appreciated.

Please open an [Issue](https://github.com/EclipseManic/ThreatSentry-AI/issues) to share your thoughts or report a problem.

---

## 📄 License

This project is licensed under the **MIT License**.  
See the [LICENSE](https://github.com/eclipsemanic/threatsentry-ai/blob/main/LICENSE) file for details.
下载工具
层技术
后端Python 3.9+, SQLAlchemy ORM, APScheduler
机器学习/人工智能Scikit-learn(随机森林、梯度提升、MLP)、NumPy、Joblib
前端PyQt5、Matplotlib、自定义主题管理器
数据Pandas、NumPy、SQLite3
APIShodan、NVDLib、SendGrid、Requests
工具类Python-dotenv、日志模块、配置管理