前言
在当前复杂多变的网络安全环境中,对互联网暴露资产进行有效识别与持续性的漏洞风险评估,是安全防护体系建设的关键环节。为了应对这一挑战,AI安全工坊 近期开源了一款名为 ShodanSentry 的高级安全工具,旨在为安全专业人士提供一个集成化、自动化的 CVE 扫描与分析解决方案。
ShodanSentry 深度整合了 Shodan 强大的资产探测能力与 NVD(美国国家漏洞数据库)的权威漏洞数据,并引入了多项智能化处理机制,致力于提升漏洞管理的效率与深度。
核心功能与技术优势
ShodanSentry 提供了一系列面向实战的功能,其核心技术优势体现在:
• 基于 Shodan API 的资产发现: 利用 Shodan 灵活的搜索语法,支持对特定组织、网络范围、服务或地理位置的互联网资产进行精准识别与枚举。 • 集成 NVD API 的漏洞情报获取: 实时查询 NVD 数据库,获取 CVE 漏洞的详细描述、CVSS v2/v3 评分、CWE 分类、CPE(通用平台枚举)配置关联等权威信息。 • 多语言漏洞信息处理: 内建自动翻译机制(支持多种翻译服务自动切换),可将英文 CVE 描述翻译为中文,便于国内研究人员理解和利用漏洞信息。 • 高效智能缓存机制: 对 NVD 查询结果及翻译内容进行本地缓存(默认 CVE 详情缓存 1 天,翻译缓存 7 天),显著减少重复 API 请求,提高响应速度并节约 API 配额。 • 并发处理与断点续扫: 支持多并发请求处理,大幅提升大规模资产扫描的效率。同时具备断点恢复能力,允许在任务中断后从上次进度继续执行,保障大型扫描任务的稳定性。 • 关联 GitHub Exploit/PoC 搜索: 自动在 GitHub 平台搜索与已识别 CVE 相关的公开利用代码或概念验证脚本,辅助评估漏洞的实际可利用性与潜在风险。 • AI 驱动的漏洞分析 (可选): 可集成 OpenAI GPT 模型,对漏洞进行上下文分析,提供更深层次的安全见解、潜在影响评估及修复建议,赋能智能化风险决策。 • 结构化报告导出: 将扫描分析结果(包括查询语句、CVE 信息、影响资产数、漏洞详情、CVSS 分数、参考链接等)导出为标准 CSV 格式,便于数据整合、进一步分析及报告撰写。
安装与配置指南
部署 ShodanSentry 需满足以下前提条件并进行相应配置:
前提条件:
• Python 环境: 3.7 或更高版本 • 必需 API 密钥: Shodan API Key • 推荐 API 密钥: NVD API Key (提升查询稳定性和速率) • 可选 API 密钥: GitHub Token (用于 Exploit 搜索), OpenAI API Key (用于 AI 分析),OpenAI 通过云雾API平台无忧使用260+国内外AI模型,注册地址:https://yunwu.ai/register?aff=PBpy 通过链接注册平台获取API-KEY,填入配置文件即可。
安装步骤
1. 克隆仓库:
git clone https://github.com/taielab/ShodanSentry.gitcd ShodanSentry
2. 安装依赖:
pip install -r requirements.txt
或者使用 setup.py 安装:
pip install -e .
3. 配置 API 密钥:
复制并修改配置文件:
cp config.yaml.example config.yaml
然后编辑 config.yaml
文件,添加您的 API 密钥和配置选项。
⚙️ 配置
配置文件 config.yaml
包含以下主要部分:
# Shodan API配置api:key:"YOUR_SHODAN_API_KEY"base_url:"https://api.shodan.io"timeout:120# 搜索配置search:query:"org:'Target Organization'"limit:100# NVD API配置nvd:api_key:"YOUR_NVD_API_KEY"rate_limit:50batch_size:10concurrent_requests:5cache_ttl:86400# 其他可选配置# ...
配置选项说明
• api: Shodan API 配置 • key
: Shodan API 密钥• timeout
: 请求超时时间(秒)• search: 搜索配置 • query
: Shodan 搜索查询语句• limit
: 要处理的页数限制• nvd: NVD API 配置 • api_key
: NVD API 密钥• rate_limit
: 速率限制(每 30 秒的请求数)• batch_size
: 批量请求大小• concurrent_requests
: 并发请求数• openai: OpenAI 配置(可选) • api_key
: OpenAI API 密钥• base_url
: API 基础 URL• model
: 模型名称• github: GitHub 配置(可选) • token
: GitHub API 令牌• output: 输出配置 • csv_headers
: CSV 输出字段
🚀 使用方法
执行扫描:
python cve_stats.py
示例用法
1. 扫描特定组织的资产:
# 在 config.yaml 中search:query:"org:'Example Corp'"limit:10
2. 扫描特定端口或服务:
search:query:"port:80 http"limit:5
3. 扫描特定国家的资产:
search:query:"country:US org:'Example Corp'"limit:10
📊 输出示例
扫描结果将保存在 cve_simple_stats.csv
文件中,包含以下信息:
• 查询语句 • CVE 编号 • 影响资产数量 • 漏洞已验证状态 • 漏洞名称 • 漏洞描述(英文和中文) • 严重程度和 CVSS 分数 • 受影响的软件配置 • 参考信息 • 发布和修改日期
📝 日志
扫描过程中的日志信息将保存在 cve_scan.log
文件中,同时会在控制台显示。日志包含扫描进度、API 调用状态和错误信息等。
🔄 缓存管理
工具会自动缓存 NVD API 响应和翻译结果以提高性能:
• CVE 详情缓存有效期:1 天 • 翻译结果缓存有效期:7 天
缓存数据保存在 ./cve_cache
目录中。如需清除缓存,只需删除该目录
输出结果说明
扫描任务执行完毕后,将在项目根目录生成以下主要输出文件:
1. cve_simple_stats.csv
: 核心输出报告,以 CSV 格式详细记录了每个被发现 CVE 的关键信息,包括关联的 Shodan 查询、CVE ID、受影响资产统计、漏洞名称、中英文描述、CVSS 评分、受影响 CPE、参考文献链接、发布及修改日期等。2. cve_scan.log
: 详细的操作日志文件,记录了扫描过程中的各项活动、API 调用状态、错误信息及统计数据,可用于问题排查和审计。3. ./cve_cache/
: 缓存目录,存储已获取的 NVD 数据和翻译结果,可通过删除此目录清空缓存。
注意事项与许可证
• 请确保您的 API 使用行为符合 Shodan, NVD, GitHub, OpenAI 等服务提供商的使用条款与政策,合理控制请求频率。 • 对于大规模扫描任务,请评估您的 API 配额限制,并适当调整配置文件中的 limit
及并发相关参数。• 本工具应仅用于授权的安全评估和合法研究目的。
结语与社区贡献
ShodanSentry 是 AI 安全工坊开源提供给师傅们一个实用、高效的 CVE 扫描与分析工具。
欢迎访问项目的 GitHub 仓库: https://github.com/taielab/ShodanSentry
:
• Star 支持项目发展 • 通过 Issues 提交反馈或问题 • 通过 Pull Requests 贡献您的代码与智慧 AI安全工坊内部社群
🔥 AI安全工坊社群 · 6大核心价值 🔥 福利赠送
公众号后台私信消息,复制发送如下关键词获取专属免费工具和教程: 关键词 AI大模型安全评估标准和指南 智擎 - AI业务场景提示词生成器 AI医疗助手-AI安全工坊 AI 智能体商业应用全景图 DeepSeek离线部署资源包 AIPOC 免责声明
AI安全实战→ AI渗透测试 | 模型加固 | 数据防护 | 模型测评 开发全栈指南→ 大模型应用 | Agent开发 | 行业解决方案 | AI安全工具 | AI产品开发 商业落地加速→ 案例拆解 | ROI优化 | 合规指南 专属学习支持→ 文档库 | 答疑 | 代码示例 | 1v1 解答 独家资源网络→ 工具包 | 漏洞库 | 行业报告 | AI视频课程 | AI多模态资源 高质量AI社群→ 技术交流 | 内推机会 | 项目合作
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...