mcpField
M
malware-analysis

malware-analysis

github.com/alphaonedev安全61 次安装
代码仓库

关于 malware-analysis

malware-analysis 是 OpenClaw 技能,可通过静态分析和沙箱动态分析检查可疑文件。它面向事件响应人员和威胁搜寻人员,用于识别行为与失陷指标,并生成 JSON 报告及查询外部情报源。

主要功能

  1. 01解析 PE 和 ELF 文件
  2. 02提取字符串并匹配 YARA 规则
  3. 03在隔离虚拟机中运行样本
  4. 04监控 API 调用和持久化行为
  5. 05生成包含失陷指标的 JSON 报告
  6. 06查询外部威胁情报源

适用场景

  1. 01初步分析可疑可执行文件
  2. 02检查可疑脚本的运行行为
  3. 03提取网络和注册表指标
  4. 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 次,采用指数退避策略。

具体使用示例

  1. PE 文件静态分析:若要分析 Windows 可执行文件中的嵌入字符串和签名,请运行:oc malware analyze --file suspicious.exe --type static --yara-rules default.yar。这会输出一份 JSON 报告,其中包含 "cmd.exe" 等字符串和 "Trojan.Downloader" 等威胁。在代码中:使用 SDK 处理报告,并在 IOC 与已知威胁匹配时发出警报。

  2. 脚本动态分析:若要对疑似脚本型恶意软件进行行为分析,请执行:oc malware dynamic --file script.py --timeout 120 --output results.json。此命令会在沙箱中运行脚本,监控对外连接,并记录诸如“连接到 1.2.3.4”之类的行为。可通过在工作流中解析 results.json 来屏蔽 IP。

图关系

  • 相关:蓝队集群(例如,与入侵检测技能共享数据)。
  • 链接到:逆向工程(输入文件哈希)、网络安全(输出到威胁情报工具)。
  • 依赖于:身份验证服务(通过 $MALWARE_API_KEY)。
  • 通过 OpenClaw API 端点连接,以实现数据流转。

评论

支持 Markdown