关于 dfir
dfir 是面向安全团队的 OpenClaw 数字取证与事件响应技能,可用于调查安全事件和主动威胁搜寻。它涵盖内存与磁盘分析、YARA 扫描及报告生成。
主要功能
- 01使用 Volatility 分析内存转储
- 02使用 Autopsy 进行磁盘取证
- 03用 YARA 扫描恶意软件指标
- 04收集工件并缓解威胁
- 05生成时间线和证据报告
适用场景
- 01调查内存转储中的可疑进程
- 02在磁盘中查找失陷指标
- 03在数据泄露后收集证据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill dfir安装后在 Claude Code 中输入/dfir确认已加载。
详细介绍
dfir
目的
此技能可帮助 AI 执行数字取证与事件响应(DFIR)任务,包括检测异常、分析工件以及缓解网络安全事件中的威胁。它专注于使用 Volatility 进行内存分析、使用 Autopsy 进行磁盘取证等工具,帮助系统地调查安全漏洞。
适用场景
在恶意软件感染或数据泄露等活动事件中,需要快速分析时使用此技能。在蓝队行动中进行主动威胁搜寻,或在事件发生后开展复盘并收集证据时,也可使用此技能。请勿将其用于日常监控;仅在需要深入取证分析的场景中使用。
主要功能
- 内存取证:使用 Volatility 解析内存转储,以提取进程和网络连接。
- 磁盘分析:使用 Autopsy 检查文件系统,以识别已删除文件或建立时间线。
- 事件响应:自动收集工件并缓解威胁,例如通过脚本隔离主机。
- 恶意软件检测:使用 YARA 规则扫描二进制文件,以匹配入侵指标(IOC)。
- 报告:根据分析的数据生成时间线和报告,以保存证据。
使用模式
通过导入模块并调用带有所需参数的方法,使用 OpenClaw 的 Python API 调用此技能。务必明确指定输入文件或目标。对于基于 CLI 的工具,请将其封装在 OpenClaw 函数中以处理执行。对于较长时间运行的任务,请使用异步模式,例如 await openclaw.dfir.analyze()。通过环境变量传递身份验证信息,例如在运行前设置 $DFIR_API_KEY。
常用命令/API
使用 OpenClaw DFIR API 端点进行集成:
- 端点:
/api/dfir/analyze-memory– 需要使用 POST 并提供 JSON 请求体:{"file_path": "memory.dump", "profile": "Win10x64"}。示例响应:包含进程列表的 JSON 对象。 - 端点:
/api/dfir/scan-disk– 使用 POST 并提供{"device": "/dev/sda1", "rules": ["suspicious.exe"]}。通过标头进行身份验证:Authorization: Bearer $DFIR_API_KEY。
在 OpenClaw 中封装的常用 CLI 命令:
- Volatility 命令:
openclaw.dfir.run_volatility('-f memory.dump --profile=Win10x64 pslist')– 从转储中输出进程列表。 - Autopsy 命令:
openclaw.dfir.run_autopsy('case_name', '/path/to/evidence')– 创建案件并添加证据以供分析。
代码片段:
import openclaw
result = openclaw.dfir.analyze_memory_dump('memory.dump', profile='Win10x64')
print(result['processes']) # Returns a list of running processes
openclaw.dfir.scan_with_yara('suspicious.bin', rule_file='yara.rules')
# Outputs matches like: [{'rule': 'malware', 'offset': 1024}]
配置格式:API 请求使用 JSON,例如 {"api_key": os.environ.get('DFIR_API_KEY'), "options": {"timeout": 300}}。对于本地工具,请提供 YAML 配置文件,例如:
tools:
volatility: /usr/bin/volatility
autopsy: /opt/autopsy/bin/autopsy
集成说明
通过串联 API 调用,将此技能与其他蓝队工具集成,例如先使用 threat-intelligence 技能获取 IOC,然后传递给 /api/dfir/scan-disk。为密钥设置环境变量:export DFIR_API_KEY=your_key_here。对于多工具工作流,请使用 OpenClaw 的编排功能:openclaw.workflow.run(['dfir', 'threat-intelligence'])。确保通过 pip install volatility3 或系统软件包安装 Volatility 等依赖项。安全地处理文件路径,避免信息泄露。
错误处理
通过解析 HTTP 状态码(例如,身份验证失败时的 401、文件缺失时的 404)检查 API 响应中的错误。在代码中使用 try-except 块:
try:
openclaw.dfir.analyze_memory_dump('invalid.dump')
except openclaw.DfirError as e:
print(f"Error: {e.code} - {e.message}") # e.code might be 'FILE_NOT_FOUND'
记录带时间戳的错误,并使用 openclaw.utils.retry() 对暂时性问题(例如网络错误)最多重试 3 次。在执行命令前验证输入,例如使用 os.path.exists() 检查文件是否存在。如果身份验证失败,请提示输入 $DFIR_API_KEY 并重新进行身份验证。
具体用法示例
-
分析内存转储中的可疑进程: 加载内存转储文件并识别正在运行的进程。代码:
import openclaw processes = openclaw.dfir.analyze_memory_dump('evidence/memory.dump', profile='Linux_x64') suspicious = [p for p in processes if 'malware' in p['name']] openclaw.dfir.report_findings(suspicious)此操作会检测并记录潜在威胁,然后生成事件响应报告。
-
扫描磁盘中的 IOC 并缓解威胁: 使用 YARA 规则扫描已挂载的磁盘,如果发现威胁,则将其隔离。代码:
import openclaw matches = openclaw.dfir.scan_with_yara('/mnt/evidence', rule_file='ioc_rules.yara') if matches: openclaw.dfir.mitigate_threat('isolate_host', target='192.168.1.5')此操作可自动执行检测和响应,例如通过设置主机防火墙来阻止威胁扩散。
图谱关系
- 相关:threat-intelligence(共享 IOC 数据)、security-monitoring(提供警报以供分析)。
- 依赖:blue-team 集群(用于协调防御工具)。
- 冲突:red-team 技能(例如 penetration-testing,因为这类技能会模拟攻击)。