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:它闭环了整个事件响应流程。
## 架构

## 快速开始
```
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, 安全规则引擎, 安全运维, 自动化响应, 逆向工具