mcpField
L
log-analysis

log-analysis

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

关于 log-analysis

log-analysis 是用于分析系统和应用日志的安全技能,适用于监控、调查和事件复盘。它结合异常检测、特征匹配、日志解析、筛选及按严重程度生成报告。

主要功能

  1. 01机器学习异常检测
  2. 02威胁特征匹配
  3. 03日志解析与元数据提取
  4. 04严重程度与缓解建议报告
  5. 05按时间、IP 或用户筛选

适用场景

  1. 01调查重复登录失败
  2. 02检测可疑网络活动
  3. 03复盘安全事件日志
  4. 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() 检查文件是否存在。

具体使用示例

  1. 检测服务器日志中的异常: 运行 log-analysis scan --file /var/log/auth.log --anomaly true,以识别潜在的暴力破解攻击。检查输出 JSON 中类似 {"event": "Failed login", "count": 5, "threat": "high"} 的条目,然后与防火墙日志进行关联,以开展进一步调查。

  2. 集成到监控脚本中: 在 Bash 脚本中从远程服务获取日志并进行分析:

    logs=$(curl http://server/logs.txt)
    echo "$logs" | log-analysis scan --stream --threshold 0.7
    

    此操作可检测实时数据流中的威胁,针对异常用户活动等情况输出警报,并将结果传递给 SIEM 以实现自动响应。

图关系

  • 相关项:取证(通过日志解析共享标签)、安全(威胁检测存在重叠)、蓝队集群(作为行动的核心组成部分)。
  • 关联:连接到“incident-response”等技能以执行后续操作,并连接到“network-monitoring”等技能以进行关联数据分析。

评论

支持 Markdown