Install
$ agentstack add skill-killvxk-cybersecurity-skills-zh-analyzing-indicators-of-compromise ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
分析失陷指标
适用场景
在以下情况下使用本技能:
- 钓鱼邮件或告警产生需要快速分诊的 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、域名):
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 地址):
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(文件哈希):
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 的现有事件:
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 个以上独立来源。
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: killvxk
- Source: killvxk/cybersecurity-skills-zh
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.