AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Analyzing Indicators Of Compromise

skill-killvxk-cybersecurity-skills-zh-analyzing-indicators-of-compromise · by killvxk

>

No reviews yet
0 installs
6 views
0.0% view→install

Install

$ agentstack add skill-killvxk-cybersecurity-skills-zh-analyzing-indicators-of-compromise

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-killvxk-cybersecurity-skills-zh-analyzing-indicators-of-compromise)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Analyzing Indicators Of Compromise? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

分析失陷指标

适用场景

在以下情况下使用本技能:

  • 钓鱼邮件或告警产生需要快速分诊的 IOC(URL、IP 地址、文件哈希)
  • 自动化情报推送批量投递需要在进入封锁控制前进行置信度评分的 IOC
  • 事件调查需要对观察到的网络工件进行上下文富化

不适用于将本技能单独用于高风险封锁决策——始终将自动化富化与分析师判断结合使用,特别是对于共享基础设施(CDN、云服务商)的情况。

前置条件

  • VirusTotal API 密钥(免费或企业版),用于多引擎杀毒软件和沙箱查询
  • AbuseIPDB API 密钥,用于 IP 信誉检查
  • MISP 实例或威胁情报平台(TIP),用于与已知攻击活动交叉核对
  • 安装有 requestsvt-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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.