mcpField
S
siem

siem

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

关于 siem

siem 是面向蓝队安全监控与事件响应的技能,支持采集并关联安全日志、应用 Sigma 或 YARA 规则、生成告警,并使用 Kibana 等工具展示分析结果。

主要功能

  1. 01采集并解析安全日志
  2. 02应用 Sigma 或 YARA 检测规则
  3. 03生成并升级告警
  4. 04关联多个来源的事件
  5. 05使用 Kibana 可视化结果

适用场景

  1. 01调查可疑网络活动
  2. 02从事件日志检测登录失败
  3. 03针对高严重性事件发出告警
  4. 04在事件响应中关联活动

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill siem

安装后在 Claude Code 中输入/siem确认已加载。

详细介绍

siem

用途

此技能可实时监控和分析安全事件与日志,以检测威胁并支持事件响应,重点关注蓝队运营。

使用时机

在主动安全监控期间使用此技能,例如调查网络日志中的异常、响应潜在入侵,或关联不同系统中的事件。在企业网络等日志量较大的环境中使用此技能,以便优先处理警报,而不是手动审查日志。

主要功能
  • 实时摄取和解析来自 syslog、Windows Event Logs 或云 API 等来源的日志。
  • 基于 Sigma 或 YARA 格式的威胁检测规则,用于自定义特征。
  • 通过电子邮件、Slack 或 webhook 集成生成并升级警报。
  • 关联事件以识别模式,例如登录失败后发生数据外泄。
  • 使用 Kibana 等工具进行仪表板可视化,快速了解事件频率和主要威胁等指标。
使用模式

要设置监控,请先配置数据源,然后定义查询或规则。持续使用时,可在脚本中运行定期查询,或通过 API 调用进行集成。模式 1:查询日志以查找特定事件。模式 2:通过安排规则检查来自动发送警报。操作前始终使用环境变量进行身份验证,例如设置 $SIEM_API_KEY。

常用命令/API

快速执行任务时使用 SIEM CLI,程序化访问时使用 REST API。所有请求都需要通过 $SIEM_API_KEY 环境变量进行身份验证。

  • CLI 命令:使用筛选条件查询日志。示例:
    siem query --index security-logs --filter 'event_type=login AND status=failure' --limit 100 --output json

  • CLI 命令:创建警报规则。示例:
    siem rule add --name suspicious-activity --query 'source_ip=unknown AND action=access' --threshold 5 --action webhook --url https://webhook.example.com

  • API 端点:提交事件(POST /api/v1/events)。代码片段示例:

    import requests; import os
    headers = {'Authorization': f'Bearer {os.environ["SIEM_API_KEY"]}'}
    response = requests.post('https://api.siem.com/api/v1/events', headers=headers, json={'event': 'login_failure', 'details': {'ip': '192.168.1.1'}})
    
  • API 端点:查询事件(GET /api/v1/query)。代码片段示例:

    import requests; import os
    params = {'filter': 'event_type=access', 'time_range': 'last_hour'}
    response = requests.get('https://api.siem.com/api/v1/query', headers={'Authorization': f'Bearer {os.environ["SIEM_API_KEY"]}'}, params=params)
    print(response.json())
    

配置格式:规则使用 JSON,例如 {"name": "rule1", "query": "event_type=login", "threshold": 10}。将其存储在文件中,并通过 siem config load --file rules.json 加载。

集成说明

通过配置 webhook 或 API 轮询,将 SIEM 与防火墙或 IDS 等工具集成。身份验证始终使用环境变量中的 $SIEM_API_KEY;例如:export SIEM_API_KEY=your_key。要与其他蓝队工具关联,请使用 SIEM webhook 端点(例如 POST /api/v1/webhook)接收传入事件。要转发数据,请在配置文件中设置导出器,例如:

[exporter]
type = "splunk"
url = "https://splunk.example.com"
auth_key = "$SIEM_API_KEY"

通过发送测试事件来测试集成:siem test-integration --type splunk --payload '{"event": "test"}'。

错误处理

常见错误包括因缺少 $SIEM_API_KEY 导致的身份验证失败(例如 401 Unauthorized),可通过检查环境变量解决。对于查询错误(例如筛选条件无效),请检查语法并使用 siem query --debug 查看日志。API 超时(例如 504)可通过在代码中采用指数退避重试来处理:

import time; import requests
try: response = requests.get('https://api.siem.com/api/v1/query', timeout=5)
except requests.exceptions.Timeout: time.sleep(2); response = requests.get('https://api.siem.com/api/v1/query', timeout=5)

解析错误响应以获取详细信息,例如,如果 response.status_code == 400,则记录 JSON 错误消息。始终在脚本中为 CLI 命令添加错误检查,例如 if [ $? -ne 0 ]; then echo "Command failed"; fi。

具体使用示例

示例 1:检测过去 1 小时内的登录失败事件。
首先,设置环境变量:export SIEM_API_KEY=your_api_key
然后,运行:siem query --index auth-logs --filter 'event_type=login AND status=failure AND timestamp>now-1h' --output json
分析输出:使用 jq 管道解析,例如:siem query ... | jq '.events[] | select(.ip=="suspicious")'

示例 2:为高严重性事件设置警报。
创建规则:siem rule add --name high-severity-alert --query 'severity>7' --action email --recipients [email protected]
设置计划:使用 cron 每隔 5 分钟运行一次 siem rule check --name high-severity-alert。
验证:使用 siem logs --rule high-severity-alert 检查已触发的事件。

图关系
  • 连接到:blue-team 集群
  • 相关标签:siem、blue-team、security-monitoring
  • 链接:通过共享 API 与其他 blue-team 技能集成;依赖 security-monitoring 提供事件源

评论

支持 Markdown