analyzing-indicators-of-compromise
分析失陷指标(IOC),包括 IP 地址、域名、文件哈希、URL 和电子邮件工件,以确定恶意置信度、攻击活动溯源归因和封锁优先级。适用于对来自钓鱼邮件、安全告警或外部威胁情报的 IOC 进行分诊;使用多源情报对原始 IOC 进行富化;或作出封锁/监控/白名单决策时使用。
Best use case
analyzing-indicators-of-compromise is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
分析失陷指标(IOC),包括 IP 地址、域名、文件哈希、URL 和电子邮件工件,以确定恶意置信度、攻击活动溯源归因和封锁优先级。适用于对来自钓鱼邮件、安全告警或外部威胁情报的 IOC 进行分诊;使用多源情报对原始 IOC 进行富化;或作出封锁/监控/白名单决策时使用。
Teams using analyzing-indicators-of-compromise should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/analyzing-indicators-of-compromise/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How analyzing-indicators-of-compromise Compares
| Feature / Agent | analyzing-indicators-of-compromise | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
分析失陷指标(IOC),包括 IP 地址、域名、文件哈希、URL 和电子邮件工件,以确定恶意置信度、攻击活动溯源归因和封锁优先级。适用于对来自钓鱼邮件、安全告警或外部威胁情报的 IOC 进行分诊;使用多源情报对原始 IOC 进行富化;或作出封锁/监控/白名单决策时使用。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 分析失陷指标
## 适用场景
在以下情况下使用本技能:
- 钓鱼邮件或告警产生需要快速分诊的 IOC(URL、IP 地址、文件哈希)
- 自动化情报推送批量投递需要在进入封锁控制前进行置信度评分的 IOC
- 事件调查需要对观察到的网络工件进行上下文富化
**不适用于**将本技能单独用于高风险封锁决策——始终将自动化富化与分析师判断结合使用,特别是对于共享基础设施(CDN、云服务商)的情况。
## 前置条件
- VirusTotal API 密钥(免费或企业版),用于多引擎杀毒软件和沙箱查询
- AbuseIPDB API 密钥,用于 IP 信誉检查
- MISP 实例或威胁情报平台(TIP),用于与已知攻击活动交叉核对
- 安装有 `requests` 和 `vt-py` 库的 Python,或带有预构建连接器的 SOAR 平台
## 工作流程
### 步骤 1:规范化并分类 IOC 类型
在富化之前,对每个 IOC 进行分类:
- **IPv4/IPv6 地址**:检查是否为 RFC 1918 私有地址(跳过外部富化),验证格式
- **域名/FQDN**:为安全处理进行去激活(`evil[.]com`),使用 tldextract 提取注册域名
- **URL**:分别提取域名和路径;检查是否存在重定向
- **文件哈希**:识别哈希类型(MD5/SHA-1/SHA-256);优先使用 SHA-256 确保唯一性
- **电子邮件地址**:拆分为域名部分(检查 MX/DMARC)和本地部分进行模式分析
在文档中对 IOC 进行去激活处理(将 `.` 替换为 `[.]`,将 `://` 替换为 `[://]`),防止意外点击。
### 步骤 2:多源富化
**VirusTotal(文件哈希、URL、IP、域名)**:
```python
import vt
client = vt.Client("YOUR_VT_API_KEY")
# 文件哈希查询
file_obj = client.get_object(f"/files/{sha256_hash}")
detections = file_obj.last_analysis_stats
print(f"Malicious: {detections['malicious']}/{sum(detections.values())}")
# 域名分析
domain_obj = client.get_object(f"/domains/{domain}")
print(domain_obj.last_analysis_stats)
print(domain_obj.reputation)
client.close()
```
**AbuseIPDB(IP 地址)**:
```python
import requests
response = requests.get(
"https://api.abuseipdb.com/api/v2/check",
headers={"Key": "YOUR_KEY", "Accept": "application/json"},
params={"ipAddress": "1.2.3.4", "maxAgeInDays": 90}
)
data = response.json()["data"]
print(f"Confidence: {data['abuseConfidenceScore']}%, Reports: {data['totalReports']}")
```
**MalwareBazaar(文件哈希)**:
```python
response = requests.post(
"https://mb-api.abuse.ch/api/v1/",
data={"query": "get_info", "hash": sha256_hash}
)
result = response.json()
if result["query_status"] == "ok":
print(result["data"][0]["tags"], result["data"][0]["signature"])
```
### 步骤 3:结合攻击活动溯源归因进行上下文分析
在 MISP 中查询匹配 IOC 的现有事件:
```python
from pymisp import PyMISP
misp = PyMISP("https://misp.example.com", "API_KEY")
results = misp.search(value="evil-domain.com", type_attribute="domain")
for event in results:
print(event["Event"]["info"], event["Event"]["threat_level_id"])
```
使用 Shodan 获取 IP 上下文(托管服务商、开放端口、Banner 信息),识别 IP 是否属于防弹托管(Bulletproof Hosting)或合法云服务商(存在误报风险)。
### 步骤 4:分配置信度分数和处置决定
应用分层决策框架:
- **封锁(高置信度 ≥70%)**:VirusTotal ≥15 个引擎检测为恶意,AbuseIPDB 分数 ≥70,匹配已知恶意软件家族或攻击活动
- **监控/告警(中置信度 40-69%)**:5-14 个引擎检测,AbuseIPDB 分数中等,无攻击活动溯源
- **白名单/调查(低置信度 <40%)**:≤4 个引擎检测,无滥用报告,合法服务(Google、Cloudflare CDN IP)
- **误报(False Positive)**:被错误标记的合法业务服务;记录并从未来告警中排除
### 步骤 5:记录并分发
在 TIP/MISP 中记录发现结果,包含:
- 收集的所有富化数据(时间戳、来源、分数)
- 处置决定及理由
- 已采取的封锁措施(防火墙、代理、DNS 黑洞)
- 相关事件工单编号
以适当置信度字段导出为 STIX 指标(indicator)对象。
## 核心概念
| 术语 | 定义 |
|------|-----------|
| **IOC(失陷指标)** | 表明潜在失陷的可观测网络或主机工件 |
| **富化(Enrichment)** | 从多个情报来源向原始 IOC 添加上下文数据的过程 |
| **去激活(Defanging)** | 修改 IOC(将 `.` 替换为 `[.]`)以防止在文档中意外激活 |
| **误报率(False Positive Rate)** | 被错误标记为恶意的良性工件百分比;对于调整封锁阈值至关重要 |
| **黑洞(Sinkhole)** | 将恶意域名查询重定向到良性 IP 的 DNS 服务器,用于在不完全封锁流量的情况下进行检测 |
| **TTL** | IOC 在封锁控制中的存活时间;IP 指标应在 30 天后过期,域名在 90 天后过期 |
## 工具与系统
- **VirusTotal**:多引擎恶意软件扫描器和威胁情报平台,拥有 70+ 杀毒引擎、沙箱报告和社区评论
- **AbuseIPDB**:社区维护的 IP 信誉数据库,具有 90 天滥用报告历史
- **MalwareBazaar (abuse.ch)**:免费恶意软件哈希仓库,关联 YARA 规则并进行恶意软件家族标记
- **URLScan.io**:免费 URL 分析服务,捕获截图、DOM 和网络请求用于钓鱼 URL 分诊
- **Shodan**:全网扫描数据,提供托管服务商、开放端口和 Banner 信息用于 IP 富化
## 常见陷阱
- **封锁共享基础设施**:CDN IP(Cloudflare 104.21.x.x、AWS CloudFront)可能合法托管恶意内容,但封锁该 IP 会中断成千上万个合法站点。
- **过度依赖 VirusTotal 分数**:低 VirusTotal 检测数量并不意味着安全——零日恶意软件和自定义 APT 工具初始得分通常为 0。需检查沙箱行为、MISP 和被动 DNS。
- **遗漏去激活**:在邮件或 Confluence 文档中粘贴活跃 IOC 可能触发自动 URL 扫描器或钓鱼工具。
- **无过期策略**:没有 TTL 的 IOC 会无限期积累在封锁列表中,当基础设施被合法用户重新利用时产生误报。
- **过度依赖单一来源**:VirusTotal 汇聚了杀毒软件的意见——所有意见都可能是错误的或落后于新兴恶意软件。高风险决策应使用 3 个以上独立来源。Related Skills
performing-active-directory-compromise-investigation
通过分析认证日志、复制元数据、组策略变更和 Kerberos 票据异常,调查 Active Directory 攻陷事件,识别攻击者持久化机制和横向移动路径。
investigating-insider-threat-indicators
调查内部威胁(Insider Threat)指标,包括数据渗漏(Data Exfiltration)尝试、未授权访问模式、 策略违规和离职前行为,结合 SIEM 分析、DLP 告警和 HR 数据关联进行调查。 适用于 SOC 团队收到 HR 内部威胁转介、检测到员工异常数据移动, 或需要为潜在内部威胁建立调查时间线时。
hunting-for-supply-chain-compromise
狩猎供应链入侵指标,包括木马化软件更新、受损依赖项、未授权代码修改和被篡改的构建产物。
hunting-for-spearphishing-indicators
跨电子邮件日志、终端遥测和网络数据狩猎鱼叉式网络钓鱼活动指标,检测定向邮件攻击。
hunting-for-data-exfiltration-indicators
通过网络流量分析狩猎数据外泄行为,检测异常数据流、DNS 隧道、云存储上传以及加密通道滥用。
detecting-email-account-compromise
通过分析收件箱规则创建、可疑登录位置、邮件转发规则和异常 API 访问模式,检测受攻陷的 O365 和 Google Workspace 邮件账号。
detecting-compromised-cloud-credentials
通过分析异常 API 活动、不可能旅行模式、未授权资源配置以及凭据滥用指标,使用 GuardDuty、Defender for Identity 和 SCC 事件威胁检测,检测 AWS、Azure 和 GCP 中被盗用的云凭据。
detecting-business-email-compromise
商业邮件欺诈(BEC)是一种复杂的欺诈方案,攻击者冒充高管、供应商或可信合作伙伴,诱骗员工转账、共享敏感数据或更改付款信息。本技能涵盖使用邮件网关规则、行为分析和财务流程控制进行 BEC 检测。
detecting-business-email-compromise-with-ai
部署 AI 和 NLP 驱动的检测系统,通过分析写作风格、行为模式和上下文异常来识别规避传统基于规则的过滤器的商业邮件欺诈(BEC)攻击。
collecting-volatile-evidence-from-compromised-host
按照易失性顺序从受攻陷系统收集易失性取证证据,在数据丢失前保全内存、网络连接、进程和系统状态。
collecting-indicators-of-compromise
在安全事件期间和之后,系统性地收集、分类和分发失陷指标(Indicators of Compromise,IOC),以支持检测、阻断和威胁情报共享。涵盖网络、主机、邮件和行为指标,使用 STIX/TAXII 格式和威胁情报平台。适用于 IOC 收集、指标提取、威胁指标共享、失陷指标、STIX 导出或 IOC 情报丰富化相关请求。
analyzing-windows-shellbag-artifacts
分析 Windows ShellBag 注册表取证痕迹,使用 SBECmd 和 ShellBags Explorer 重建文件夹浏览活动,检测对可移动介质和网络共享的访问,并在删除后仍能确认用户与目录的交互行为。