OutstandingVick/linz

GitHub: OutstandingVick/linz

Linz 是一个自主事件响应代理,将 Splunk 安全告警自动转化为已关闭的事件并生成可审计报告,实现安全运营全流程闭环。

Stars: 0 | Forks: 0

# Linz Linz 将 Splunk 安全告警转化为已关闭的事件。它通过 Splunk MCP client 轮询 Splunk,请求 AI 分诊 agent 对威胁进行分类并选择响应,执行 playbook,然后将完整的审计报告写回 Splunk。 ## 黑客松契合度 为 Splunk Agentic Ops 黑客松安全赛道而构建,并额外冲击“Splunk MCP Server 最佳使用”奖。Linz 不是 dashboard 或 chatbot:它闭环了整个事件响应流程。 ## 架构 ![架构图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1a46d31ee0190805.png) ## 快速开始 ``` python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt cp .env.example .env ``` 使用一行命令运行本地端到端 demo: ``` python3 demo/run_demo.py --scenario ssh_bruteforce ``` 运行所有三个 demo 场景: ``` python3 demo/run_demo.py --scenario all ``` demo 会将队列和报告文件写入 `.linz_demo/`,在你配置 Splunk Enterprise 和 MCP Server 的同时模拟 Splunk 的数据流。 你也可以手动运行各个组件: ``` python3 demo/attack_simulator.py --scenario ssh_bruteforce python3 -m agent.orchestrator --once ``` ## 真实集成 在 `.env` 中设置以下值: - `SPLUNK_MCP_URL` 和 `SPLUNK_TOKEN` 用于 Splunk MCP Server 的读取/写入 - `LINZ_USE_SPLUNK_AI=true` 以便在分诊期间调用 Splunk AI 功能 - `LINZ_REQUIRE_SPLUNK_AI=true` 用于参赛资格判定运行,如果 Splunk AI 不可用则失败 - `SPLUNK_AI_SEARCH_COMMAND=anomalydetection` 为默认值,或设置为你的 Splunk MLTK/Splunk AI 命令 - `ANTHROPIC_API_KEY` 和 `LINZ_USE_MOCK_AI=false` 用于 Claude Sonnet 分诊 - `SLACK_WEBHOOK_URL` 用于真实的 Slack 通知 - `JIRA_BASE_URL`、`JIRA_EMAIL`、`JIRA_API_TOKEN` 和 `JIRA_PROJECT_KEY` 用于创建 Jira ticket 重要提示:本地 demo 模式仅用于预演。对于参与资格判定运行,请启用 Splunk AI: ``` export LINZ_USE_SPLUNK_AI=true export LINZ_REQUIRE_SPLUNK_AI=true python3 demo/check_splunk_ai.py python3 demo/run_demo.py --scenario ssh_bruteforce ``` 启用后,Linz 会在做出最终分诊决策之前,通过 Splunk MCP 边界调用配置的 Splunk AI SPL 命令,事件报告将包含 `ai_triage.splunk_ai` 结果。 ## Demo 脚本 完整的录制脚本位于 [demo/demo_script.md](demo/demo_script.md)。请将最终视频保持在 3 分钟以内,并展示: - 攻击事件注入 - `[PERCEIVE]`、`[REASON]`、`[EXECUTE]` 和 `[PROVE]` 日志 - 写回报告索引的报告 - 架构图 适配 Devpost 的提交文案位于 [SUBMISSION.md](SUBMISSION.md)。 ## 测试 ``` python3 -m pytest -q ``` 如果本地尚未安装 `pytest`,请运行: ``` pip install -r requirements.txt ``` 如需执行轻量级依赖的冒烟测试: ``` PYTHONDONTWRITEBYTECODE=1 python3 demo/run_demo.py --scenario port_scan ``` 打印最新生成的事件报告: ``` python3 demo/show_reports.py --latest ``` ## 项目结构 ``` agent/ perceive, reason, execute, prove, orchestrate splunk/ MCP client, alert polling, report writing playbooks/ response actions prompts/ Claude triage and report prompts demo/ attack simulator and video script tests/ fixtures and unit tests SUBMISSION.md Devpost copy and checklist ``` ## License MIT
标签:AI代理, PB级数据处理, SOAR, 安全规则引擎, 安全运维, 自动化响应, 逆向工具