StefanoCilli/splunk-ai-incident-responder

GitHub: StefanoCilli/splunk-ai-incident-responder

一个将 Splunk SIEM 日志、Gemini AI 分析与邮件告警串联起来的自动化事件响应编排脚本,用于缩短 SSH 暴力破解事件的分诊周转时间。

Stars: 0 | Forks: 0

# Splunk AI Incident Responder **1. 执行摘要** 在这个项目中,我设计了一个自动化的事件响应 (SOAR) playbook,以此弥合静态 SIEM 日志与主动威胁分析之间的鸿沟。该脚本通过 API 以编程方式连接到本地 Splunk 实例,提取历史的 SSH 暴力破解日志,利用 Gemini AI 引擎生成战术上下文,并将自动化的分类报告发送到分析师的收件箱。 **2. 项目生态系统** 这个自动化层作为我模块化家庭实验室安全架构的第 2 部分运行。 * **第 1 部分:Splunk-BruteForce-Detection** — 专注于构建底层日志记录基础设施,配置活动的 Linux Ubuntu forwarder 以收集原始认证数据 (auth.log),并将其解析到集中的 Splunk index 中。 * **第 2 部分:(此代码库)** — 专注于自动化编排和响应,利用编程式的 API 集成将静态检测数据转化为快速、智能的分类。 **3. 环境与 Pipeline 架构** * **数据摄取:** 本地的 Python 编排脚本使用 splunklib SDK 框架查询 Splunk 管理端口 (8089)。 * **威胁情报:** 原始日志 payload 经过解析后,通过 google-genai 库安全地传输至 Google Gemini AI 接口。 * **告警派发:** 经过验证的安全情报摘要被格式化为自动化的 payload,并通过安全的 Gmail SMTP SSL 通道路由到专用的收件箱。 **4. 核心技术实现** * **A. 生产级 API 集成:** 为了符合企业部署标准,所有敏感的操作细节——包括 API 凭据、访问 token 和邮件账号——都已与源代码完全解耦。脚本在执行期间动态绑定到易失性的环境变量,确保在公开的版本控制日志中存在零凭据暴露风险。 * **B. 弹性基础设施调速:** 为了处理远程 API 基础设施的压力和网络延迟,我使用指数退避调速机制实现了一个自动化的重试循环。如果脚本遇到来自 AI 引擎的临时 503 Service Unavailable 峰值,它将暂停执行,休眠一段可变的延迟时间,并在多次尝试中逐步增加等待时间,以确保完成交付且不会导致工作流崩溃。 * **C. 许可证规避层:** 在 Splunk Free Tier 的限制下工作,需要绕过管理界面上典型的企业凭据限制。我构建了连接方法,以显式传递一个未经身份验证的管理映射 (username="admin", password=""),这允许脚本在本地网络栈上成功提取数据,同时保持数据库不受开放访问的限制。 **5. 本地配置与使用** * **前置软件设置:** 在执行脚本之前,请安装所需的自动化和平台包: `pip install google-genai splunk-sdk` * **Shell 初始化序列:** 使用以下命令将所需的部署密钥和邮件路径加载到活动的终端进程空间中: `$env:GEMINI_API_KEY="your_actual_gemini_api_key"` `$env:GMAIL_ALERT_PASS="your_16_character_gmail_app_password"` `$env:ALERT_SENDER="soc-alert-sender@example.com"` `$env:ALERT_RECEIVER="soc-analyst@example.com"` * **Playbook 执行:** 启动自动化 pipeline: `python soc_alert.py` **6. 展现的网络安全技能** * **SOAR 工程:** 设计了端到端的自动化编排 pipeline,以缩短事件分类的周转时间。 * **防御性脚本编写:** 在 Python 中构建了强大的错误处理、重试间隔和文件回退验证逻辑。 * **安全配置管理:** 严格遵循访问控制原则,将 API token 和地址完全排除在静态代码库之外。
标签:AI合规, Gemini大模型, PB级数据处理, SIEM集成, SOAR, 威胁情报分析, 安全运维, 自动化响应, 逆向工具