关于 malware-analysis
malware-analysis 是 OpenClaw 技能,可通过静态分析和沙箱动态分析检查可疑文件。它面向事件响应人员和威胁搜寻人员,用于识别行为与失陷指标,并生成 JSON 报告及查询外部情报源。
主要功能
- 01解析 PE 和 ELF 文件
- 02提取字符串并匹配 YARA 规则
- 03在隔离虚拟机中运行样本
- 04监控 API 调用和持久化行为
- 05生成包含失陷指标的 JSON 报告
- 06查询外部威胁情报源
适用场景
- 01初步分析可疑可执行文件
- 02检查可疑脚本的运行行为
- 03提取网络和注册表指标
- 04将样本分析结果与威胁情报交叉核对
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill malware-analysis安装后在 Claude Code 中输入/malware-analysis确认已加载。
详细介绍
用途
此技能可让 OpenClaw 使用静态技术(例如二进制反汇编、特征匹配)和动态技术(例如沙箱执行、行为监控)分析提供的样本,以检测威胁、提取失陷指标(IOC)并生成报告。
适用场景
在处理可疑文件的事件响应期间、在威胁搜寻中识别零日恶意软件,或在逆向工程工作流中了解恶意软件行为时使用此技能。当你拥有文件哈希值、二进制样本或网络捕获数据,并且需要自动分析而无需使用 IDA Pro 或 Volatility 等手动工具时,请使用此技能。
主要功能
- 静态分析:解析 PE/ELF 文件、提取字符串,并使用 YARA 规则匹配特征。
- 动态分析:在隔离的 VM 中执行样本、监控 API 调用(例如通过 Windows API 钩子),并检测持久化机制。
- 威胁报告:输出 JSON 报告,其中包含 IP 地址、域名或注册表项等 IOC。
- 与外部情报源集成:通过 API 查询 VirusTotal 或类似服务,以便交叉比对。
- 自定义规则支持:从文件加载用户定义的 YARA 规则,以进行定向检测。
使用模式
通过 OpenClaw 的 CLI 或 API 调用此技能。务必通过 $MALWARE_API_KEY 环境变量提供身份验证。对于 CLI,请使用带必需标志的子命令,例如 analyze。在代码中,导入 OpenClaw SDK 并使用参数调用方法。示例模式:加载文件、指定分析类型并处理异步结果。如果因文件类型导致分析失败,则回退到元数据提取。
常用命令/API
使用 OpenClaw CLI 执行快速任务:
- 命令:
oc malware analyze --file /path/to/sample.exe --type static --yara-rules rules.yar- 标志:--file(必需,样本路径)、--type(static 或 dynamic)、--yara-rules(可选,YARA 文件路径)。
- 命令:
oc malware dynamic --file sample.zip --timeout 300 --output report.json- 标志:--timeout(秒数,例如 300 表示 5 分钟)、--output(JSON 报告的路径)。
对于 API 集成:
- 端点:POST /api/malware/analyze
- 请求正文:JSON,例如 { "file": "base64encoded_sample", "type": "dynamic", "rules": ["rule1", "rule2"] }
- 请求头:Authorization: Bearer $MALWARE_API_KEY
- 响应:JSON,包含类似 { "ioc": ["192.168.1.1"], "behavior": "network exfiltration" } 的键
SDK 用法代码片段(Python):
import openclaw
client = openclaw.Client(api_key=os.environ['MALWARE_API_KEY'])
result = client.analyze(file_path='sample.exe', analysis_type='static')
print(result['threats']) # Output: list of detected threats
自定义设置的配置格式(YAML 文件,例如 config.yaml):
apiKey: $MALWARE_API_KEY
sandbox:
url: https://sandbox.openclaw.ai
timeout: 600
yaraRules: /path/to/rules.yar
集成说明
将此技能作为模块添加到 Agent 的脚本中,即可将其集成到 OpenClaw 工作流中。运行前,请在环境中设置 $MALWARE_API_KEY。例如,在较大的蓝队流程中,将其与“reverse-engineering”技能串联,传递输出(例如,将检测到的字符串提供给反编译器)。使用 SDK 的事件钩子获取实时更新,例如:
client.on_analysis_complete(lambda data: process_iocs(data['ioc']))
确保兼容 OpenClaw 版本 >=2.5。如果使用外部工具,请将输出映射为此技能的 JSON 格式(例如,{ "file_hash": "sha256_value" })。
错误处理
始终使用 try-except 块包装调用,以捕获无效文件类型或 API 故障等常见错误。对于 CLI:检查退出代码(例如,代码 1 表示身份验证错误)。对于 API:解析 HTTP 响应(例如,401 表示缺少 $MALWARE_API_KEY,400 表示输入格式错误)。示例:
try:
result = client.analyze(file_path='invalid.file', type='static')
except openclaw.AuthError as e:
print(f"Auth failed: {e} — Ensure $MALWARE_API_KEY is set")
except openclaw.FileError as e:
fallback_to_hash_analysis(e.file_path) # Custom function for metadata only
记录包含错误代码等详细信息的错误,并对临时故障(例如网络错误)最多重试 3 次,采用指数退避策略。
具体使用示例
-
PE 文件静态分析:若要分析 Windows 可执行文件中的嵌入字符串和签名,请运行:
oc malware analyze --file suspicious.exe --type static --yara-rules default.yar。这会输出一份 JSON 报告,其中包含 "cmd.exe" 等字符串和 "Trojan.Downloader" 等威胁。在代码中:使用 SDK 处理报告,并在 IOC 与已知威胁匹配时发出警报。 -
脚本动态分析:若要对疑似脚本型恶意软件进行行为分析,请执行:
oc malware dynamic --file script.py --timeout 120 --output results.json。此命令会在沙箱中运行脚本,监控对外连接,并记录诸如“连接到 1.2.3.4”之类的行为。可通过在工作流中解析 results.json 来屏蔽 IP。
图关系
- 相关:蓝队集群(例如,与入侵检测技能共享数据)。
- 链接到:逆向工程(输入文件哈希)、网络安全(输出到威胁情报工具)。
- 依赖于:身份验证服务(通过 $MALWARE_API_KEY)。
- 通过 OpenClaw API 端点连接,以实现数据流转。