Skip to content
Agentmart
Submit a tool

analyzing-indicators-of-compromise

分析失陷指标(IOC),包括 IP 地址、域名、文件哈希、URL 和电子邮件工件,以确定恶意置信度、攻击活动溯源归因和封锁优先级。适用于对来自钓鱼邮件、安全告警或外部威胁情报的 IOC 进行分诊;使用多源情报对原始 IOC 进行富化;或作出封锁/监控/白名单决策时使用。

Skill by killvxk

IndexedApache-2.0★ 57
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/killvxk-analyzing-indicators-of-compromise

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

分析失陷指标(IOC),包括 IP 地址、域名、文件哈希、URL 和电子邮件工件,以确定恶意置信度、攻击活动溯源归因和封锁优先级。适用于对来自钓鱼邮件、安全告警或外部威胁情报的 IOC 进行分诊;使用多源情报对原始 IOC 进行富化;或作出封锁/监控/白名单决策时使用。

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/analyzing-indicators-of-compromise

What's inside

Skill name
analyzing-indicators-of-compromise
Description
分析失陷指标(IOC),包括 IP 地址、域名、文件哈希、URL 和电子邮件工件,以确定恶意置信度、攻击活动溯源归因和封锁优先级。适用于对来自钓鱼邮件、安全告警或外部威胁情报的 IOC 进行分诊;使用多源情报对原始 IOC 进行富化;或作出封锁/监控/白名单决策时使用。
License
Apache-2.0
Instructions
134 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions call the network

Files (4)

  • LICENSE
  • SKILL.md
  • api-reference.md · references/
  • agent.py · scripts/

SKILL.md (first lines)

# 分析失陷指标

## 适用场景

在以下情况下使用本技能:
- 钓鱼邮件或告警产生需要快速分诊的 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 天后过期 |

## 工具与系统

From killvxk/cybersecurity-skills-zh, Apache-2.0.

More from killvxk/cybersecurity-skills-zh

Signals

Stars
57
Forks
14
Open issues
1
Last commit (this folder)
Mar 17, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from killvxk

Cite this page

analyzing-indicators-of-compromise skill. Agent Mart. https://agentmart.dev/skills/killvxk-analyzing-indicators-of-compromise (last updated 2026-10-24)