关于 log-analysis
log-analysis 是用于分析系统和应用日志的安全技能,适用于监控、调查和事件复盘。它结合异常检测、特征匹配、日志解析、筛选及按严重程度生成报告。
主要功能
- 01机器学习异常检测
- 02威胁特征匹配
- 03日志解析与元数据提取
- 04严重程度与缓解建议报告
- 05按时间、IP 或用户筛选
适用场景
- 01调查重复登录失败
- 02检测可疑网络活动
- 03复盘安全事件日志
- 04实时分析日志流并告警
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill log-analysis安装后在 Claude Code 中输入/log-analysis确认已加载。
详细介绍
日志分析
用途
此技能可分析系统和应用日志,识别异常、安全威胁以及可能表明遭到入侵的模式,为蓝队行动提供可执行的见解,以支持事件响应。
适用场景
在取证调查、实时监控或事后复盘期间使用此技能。当日志中出现异常活动(例如反复登录失败或意外网络流量)时,或在云服务器、本地部署系统等环境中进行常规安全审计时,都可以使用。
主要功能
- 使用基于机器学习的日志数据模式识别来检测异常。
- 通过特征匹配识别 SQL 注入尝试或恶意软件迹象等威胁。
- 解析多种日志格式(例如 syslog、Apache 访问日志),并提取元数据以便进行关联分析。
- 生成包含严重性级别和缓解建议的报告。
- 支持按时间、IP 或用户 ID 筛选日志,以缩小调查范围。
使用模式
通过 CLI 调用此技能以快速分析,或将其集成到脚本中以实现自动化工作流。始终提供日志输入路径或数据流,并指定分析参数。例如,从文件或 API 管道传入日志,然后在运行检测前应用筛选条件。使用环境变量进行身份验证,例如 $LOG_ANALYSIS_API_KEY,以保护 API 调用。为获得最佳解析效果,请确保日志为纯文本或 JSON 格式。
常用命令/API
使用 CLI 工具执行 log-analysis scan 等命令进行基本操作。若要集成 API,请调用 POST /api/v1/logs/analyze 等端点并传入 JSON 负载。
-
CLI 示例:扫描本地文件以查找威胁:
log-analysis scan --file /var/log/syslog --anomaly true --output report.json此操作会标记异常,并将结果保存到文件中。
-
API 示例:发送日志以进行分析:
curl -X POST https://api.openclaw.com/api/v1/logs/analyze \ -H "Authorization: Bearer $LOG_ANALYSIS_API_KEY" \ -d '{"logs": [{"line": "ERROR: Unauthorized access"}], "filters": {"ip": "192.168.1.1"}}'此操作会分析指定日志,并返回包含检测到的威胁的 JSON。
-
常用标志:
--file <path>用于指定输入,--anomaly用于基于机器学习的检测,--threshold 0.8用于设置敏感度级别。 -
配置格式:使用 JSON 设置自定义规则,例如:
{ "rules": [ {"pattern": "Failed login", "severity": "high"} ] }使用
--config config.json加载。
集成说明
通过 API 流式传输日志,即可与 ELK Stack 或 Splunk 等工具集成。将 $LOG_ANALYSIS_API_KEY 设置为环境变量以进行身份验证。例如,在 Python 脚本中导入 SDK 并进行身份验证:
import log_analysis_sdk
client = log_analysis_sdk.Client(api_key=os.environ['LOG_ANALYSIS_API_KEY'])
response = client.analyze(logs_data)
注册回调 URL,以通过 Webhook 处理实时警报。请确保日志格式匹配,以保证兼容性;使用 jq 等工具转换非标准日志。
错误处理
检查无效日志格式或身份验证失败等错误。在脚本中使用 try-catch 代码块:
try:
result = log_analysis.scan('--file invalid.log')
except FileNotFoundError:
print("Error: Log file not found. Verify path and permissions.")
常见错误包括 401 Unauthorized(缺少 $LOG_ANALYSIS_API_KEY)或 400 Bad Request(JSON 格式错误)。记录带有时间戳的错误,并使用指数退避机制对暂时性问题最多重试 3 次。在执行命令前验证输入,例如使用 os.path.exists() 检查文件是否存在。
具体使用示例
-
检测服务器日志中的异常: 运行
log-analysis scan --file /var/log/auth.log --anomaly true,以识别潜在的暴力破解攻击。检查输出 JSON 中类似 {"event": "Failed login", "count": 5, "threat": "high"} 的条目,然后与防火墙日志进行关联,以开展进一步调查。 -
集成到监控脚本中: 在 Bash 脚本中从远程服务获取日志并进行分析:
logs=$(curl http://server/logs.txt) echo "$logs" | log-analysis scan --stream --threshold 0.7此操作可检测实时数据流中的威胁,针对异常用户活动等情况输出警报,并将结果传递给 SIEM 以实现自动响应。
图关系
- 相关项:取证(通过日志解析共享标签)、安全(威胁检测存在重叠)、蓝队集群(作为行动的核心组成部分)。
- 关联:连接到“incident-response”等技能以执行后续操作,并连接到“network-monitoring”等技能以进行关联数据分析。