SuperAPI AI 工具集

performing-ip-reputation-analysis-with-shodan

编程与开发

查看项目

更新于 10-16 06:50

技能介绍

用途:对安全告警中的 IP 地址进行信誉富化,评估暴露服务与漏洞带来的威胁等级,识别托管基础设施模式,并将结果接入 SOC 分诊与威胁情报流程。

主要能力:通过 Shodan API 获取 IP 的开放端口与协议、服务 banner、SSL/TLS 证书、已知 CVE 漏洞、主机名与反向 DNS、ASN 与 ISP、地理位置、操作系统指纹及历史扫描数据;使用免费 InternetDB API(internetdb.shodan.io)在无需认证的情况下快速查询端口、主机名、标签、CPE 与已知漏洞,适合高并发富化。内置信誉评分逻辑,综合漏洞数量、可疑端口、标签、开放端口数量等因素,将 IP 划分为 critical、high、medium、low 四个等级。支持批量 IP 信誉检查、按风险排序输出,以及基于同组织、同 ASN、共享 SSL 证书的基础设施关联分析。

使用方式:需 Python 3.9+ 并安装 shodan 库(pip install shodan),配置 Shodan API key。核心流程为初始化 ShodanEnricher、调用 enrich_ip 进行单 IP 富化、调用 batch_ip_reputation 批量处理并写入 JSON、调用 correlate_infrastructure 关联相关主机。免费 InternetDB 查询使用 requests.get(f"https://internetdb.shodan.io/{ip_address}")。

适用场景:安全评估、事件响应、定期安全测试与审计、安全控制验证,以及需要将 IP 信誉数据整合进威胁情报工作流的场景。

限制:Shodan 免费层查询次数有限,付费计划提供更高限额与流式数据;批量查询需注意速率限制;信誉评分基于启发式规则,需结合其他情报源验证;使用前需理解 TCP/UDP 端口、常见服务、CVE、ASN、CIDR 与 IP 地理定位等概念。