cosbey/cybercat

GitHub: cosbey/cybercat

AI 驱动的浏览器端 SOC 分诊与事件响应助手,帮助安全分析师快速完成日志分析、IOC 提取、威胁狩猎查询生成和事件文档编写,内置客户端 PII 脱敏保障数据隐私。

Stars: 0 | Forks: 0

``` ██████╗██╗ ██╗██████╗ ███████╗██████╗ ██████╗ █████╗ ████████╗ ██╔════╝╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗██╔════╝██╔══██╗╚══██╔══╝ ██║ ╚████╔╝ ██████╔╝█████╗ ██████╔╝██║ ███████║ ██║ ██║ ╚██╔╝ ██╔══██╗██╔══╝ ██╔══██╗██║ ██╔══██║ ██║ ╚██████╗ ██║ ██████╔╝███████╗██║ ██║╚██████╗██║ ██║ ██║ ╚═════╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ``` ### 🐱 AI 驱动的 SOC 分诊与事件响应 *更智能的分诊。更快速的响应。隐私保护设计。* [![License: MIT](https://img.shields.io/badge/License-MIT-7C6FE8.svg)](https://opensource.org/licenses/MIT) [![Built with Claude](https://img.shields.io/badge/Built%20with-Claude%20API-7C6FE8)](https://anthropic.com) [![React](https://img.shields.io/badge/React-18+-7C6FE8)](https://react.dev) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-7C6FE8.svg)](CONTRIBUTING.md)
## 什么是 CyberCat? CyberCat 是一款为 SOC 团队和安全工程师打造的 AI 驱动安全分析师助手。它将 Claude(Anthropic 的 AI)的推理能力与专业的安全工具相结合,帮助分析师在一个注重隐私安全的浏览器界面中完成警报分诊、日志分析、生成事件文档、查询威胁情报以及威胁狩猎。 **第一阶段无需后端。** CyberCat 完全作为单个 React 组件在浏览器中运行。 ## 屏幕截图 ## 功能 ### 🔍 日志分析 粘贴任意格式的日志——Windows 事件日志、Syslog、O365、防火墙、EDR、SIEM——即可获得结构化的 AI 分诊。每项发现都会被分类为: - ✅ **良性** — 预期活动 - ⚠️ **可疑** — 值得调查 - 🚨 **恶意** — 确认的威胁,并提供建议的遏制步骤 ### 📊 CSV 分析 上传从 SIEM 或 EDR 导出的 CSV 文件。Claude 将扫描整个数据集中的异常、行为模式以及与安全相关的指标。 ### 🔎 IOC 提取器 粘贴任何日志或分析师输出,自动提取并分类失陷指标:外部 IP、内部 IP、SHA256/MD5/SHA1 哈希、域名、URL、电子邮件地址、注册表键、文件路径和 CVE。支持一键复制和 CSV 导出。 ### 🌐 威胁情报查询 提交任何指标——IP 地址、域名或文件哈希——即可获得 AI 生成的威胁评估,涵盖已知关联、威胁行为者归属、信誉以及建议措施。 ### 📘 剧本生成器 使用自然语言描述事件类型,即可生成涵盖所有五个响应阶段的结构化 IR 剧本: `识别 → 遏制 → 根除 → 恢复 → 经验教训` ### 🎯 威胁狩猎查询生成器 生成可直接粘贴的威胁狩猎查询语句,支持您选择的 SIEM 语言: - **KQL** — Elastic SIEM / Microsoft Sentinel - **SPL** — Splunk - **Sigma** — 可编译至任何目标 包含预期的误报和建议的查询扩展。日志在提交前会进行脱敏处理——保留字段结构,剔除敏感值。 ### 📧 智能邮件引擎 粘贴原始日志,CyberCat 会自动检测日志类型,提取相关字段,并预先生成一封专业的安全警报邮件——包括时间戳、源 IP、受影响用户、主机名等——随时可以发送。 ### 💬 沟通生成器 根据事件上下文生成结构化的 SOC 沟通内容: - **警报邮件** — 标准信息类、EDR 检测类、PUP 清除类 - **事件摘要** — 用于工单记录的结构化描述 - **升级报告** — 格式化为面向管理层或 Tier 2 升级的报告 - **结案说明** — 事件结束时的文档记录 ### 💬 分析师聊天 与 Cyber Cat 角色(一名高级 SOC 分析师)进行自由对话,用于临时查询、日志解读和威胁狩猎指导。 ## 隐私架构 CyberCat 包含一个客户端 PII 脱敏引擎,该引擎在将任何数据提交给 Claude API **之前**运行。 **工作原理:** 1. 您将日志粘贴到任何 CyberCat 工具中 2. 脱敏引擎使用模式感知的字段映射扫描日志中的敏感字段 3. 敏感值被替换为一致的编号 token:`[USER_001]`、`[HOST_001]`、`[IP_001]` 等 4. 只有经过 token 化的日志会发送给 Claude 5. 您可以检查完整的 token 映射表,以确切了解哪些内容被脱敏了 **支持的模式:** | 模式 | 覆盖范围 | |--------|----------| | Windows 事件日志 | 用户、主机、SID、登录 ID、进程 ID | | O365 / Exchange | 电子邮件地址、用户密钥、会话 ID、租户 ID | | Microsoft Defender / M365 | 警报 ID、事件名称、设备 ID | | Okta | 操作者 ID、目标 ID、会话 ID | | Cisco Duo | 用户 ID、设备 ID、认证会话数据 | | Fortigate 防火墙 | VDOM、策略 ID、序列号、观察者 IP | | Darktrace | 违规 ID、设备评分 | | Proofpoint TAP | 消息 GUID、队列 ID、邮箱 ID | | Cybereason EDR | 代理 ID、配置文件 ID、集群 ID | 内部的 RFC 1918 IP 地址会被脱敏。外部 IP 将保留用于威胁情报分析。 ## 入门指南 ### 前置条件 - 现代浏览器(Chrome、Firefox、Edge、Safari) - 一个 [Anthropic API 密钥](https://console.anthropic.com) - 一种运行 React 组件的方式——请参阅下文的选项 ### 选项 A — Claude.ai Artifacts(最简单) 1. 前往 [claude.ai](https://claude.ai) 2. 开始新对话 3. 将 `cybercat.jsx` 的全部内容粘贴到消息中 4. 要求 Claude 将其渲染为 artifact 无需任何设置。最适合用于试用体验。 ### 选项 B — 本地开发 ``` # 克隆 repo git clone https://github.com/YOUR_USERNAME/cybercat.git cd cybercat # 创建新的 React 项目(如果你还没有的话) npx create-react-app cybercat-app cd cybercat-app # 用 cybercat.jsx 替换 src/App.jsx cp ../cybercat.jsx src/App.jsx # 设置你的 API key # 在项目根目录创建 .env 文件: echo "REACT_APP_ANTHROPIC_API_KEY=your_key_here" > .env # 启动 dev server npm start ``` ### 配置 打开 `cybercat.jsx` 并在文件顶部附近找到 `CONFIG` 块: ``` const CONFIG = { // Your full name — appears in email signatures analystName: "Your Name", // Your organization or MSP name — appears in email template bodies orgName: "Your Organization", // Your title — appears alongside your name in signatures analystTitle: "Security Analyst", }; ``` 将这三个占位符值替换为您自己的详细信息。设置至此完成。 ### 配色方案 CyberCat 默认搭载**深紫色**主题,但整个配色方案由位于 `cybercat.jsx` 底部的单个 CSS 变量块控制。提供了四种预设计方案——您可以替换该变量块以符合您的偏好或组织的品牌形象。 | 方案 | 基础色 | 强调色 | 氛围 | |--------|------|--------|------| | **Deep Purple** *(默认)* | `#12102A` | `#7C6FE8` | 独特、精致 | | **Midnight Teal** | `#0A1628` | `#2BBFCC` | 简洁、专业 | | **Graphite & Amber** | `#1A1A1A` | `#E8A020` | 高对比度、工业风 | | **Forest Green** | `#0B1A10` | `#3DD68C` | 终端美学 | 每种方案的完整变量值见下方的[配色方案](#color-schemes)章节。 ## 路线图 ### ✅ 第一阶段 — 已完成 - [x] 带 AI 分诊的日志分析(✅ / ⚠️ / 🚨 分类) - [x] CSV 分析 - [x] IOC 提取与 CSV 导出 - [x] 威胁情报查询 - [x] 剧本生成器 - [x] 威胁狩猎查询生成器 (KQL, SPL, Sigma) - [x] 具备日志类型自动检测功能的智能邮件引擎 - [x] SOC 沟通生成器(摘要、升级、结案) - [x] 分析师聊天 - [x] PII 脱敏引擎(9 种模式) - [x] 流式 Claude API 响应 ### 🔷 第二阶段 — 计划中 - [ ] VirusTotal API 集成 - [ ] 安全的后端服务器 (Node.js / Python) - [ ] Claude Tool Use — 分析过程中的自主丰富 - [ ] 完整的智能体调查循环(检测 → 丰富 → 报告) - [ ] 扩展的威胁情报连接器 (AbuseIPDB, Shodan, GreyNoise) - [ ] 用于实时提取日志的 SIEM 连接器 ## 架构说明 **当前(第一阶段):** CyberCat 是*智能体 AI*。Claude 提供复杂的多步推理和分析,但每项行动均由人工发起。AI 负责推理——人类负责主导。 **计划中(第二阶段):** CyberCat 将成为一个*真正的 AI 智能体*。Claude 将根据自身推理,在分析过程中自主调用外部工具(VirusTotal、SIEM API)——无需等待人工输入。其循环为:分析 → 检测指标 → 调用工具 → 整合结果 → 提供丰富的报告。 这种区别在架构上至关重要:第二阶段需要一个后端服务器,以安全地存储 API 密钥并充当 Claude 工具调用的执行层。 ## 配色方案 要切换配色方案,请在 `cybercat.jsx` 中找到 CSS 变量块(搜索 `--ap-navy`)并将其替换为以下集合之一。还需对每种方案下标注的 rgba 值进行查找和替换。 ### 🟣 Deep Purple *(默认)* ``` --ap-navy: #12102A; --ap-navy-mid: #1C1840; --ap-navy-light: #2D2660; --ap-blue: #7C6FE8; --ap-blue-dark: #5A4FBF; --ap-blue-pale: #EEEDFE; --ap-white: #ffffff; --ap-offwhite: #F7F6FF; --ap-border: #CECBF6; --ap-text: #12102A; --ap-text-mid: #4A4580; --ap-text-light: #7B75B8; --ap-success: #27ae60; --ap-warn: #e67e22; --ap-danger: #e74c3c; ``` 还需替换:`rgba(124,111,232,` · `rgba(18,16,42,0.08)` · `rgba(18,16,42,0.06)` · `rgba(18,16,42,0.07)` · `rgba(18,16,42,0.2)` ### 🔵 Midnight Teal ``` --ap-navy: #0A1628; --ap-navy-mid: #112240; --ap-navy-light: #1D3A52; --ap-blue: #2BBFCC; --ap-blue-dark: #1D9E72; --ap-blue-pale: #E8F8FA; --ap-white: #ffffff; --ap-offwhite: #F5FAFB; --ap-border: #B2E4EA; --ap-text: #0A1628; --ap-text-mid: #2E6070; --ap-text-light: #5A8FA0; --ap-success: #27ae60; --ap-warn: #e67e22; --ap-danger: #e74c3c; ``` 还需替换:`rgba(43,191,204,` · `rgba(10,22,40,0.08)` · `rgba(10,22,40,0.06)` · `rgba(10,22,40,0.07)` · `rgba(10,22,40,0.2)` ### 🟡 Graphite & Amber ``` --ap-navy: #1A1A1A; --ap-navy-mid: #242424; --ap-navy-light: #2E2E2E; --ap-blue: #E8A020; --ap-blue-dark: #BA7517; --ap-blue-pale: #FFF3D6; --ap-white: #ffffff; --ap-offwhite: #F8F8F6; --ap-border: #F0D090; --ap-text: #1A1A1A; --ap-text-mid: #5A4A20; --ap-text-light: #8A7040; --ap-success: #27ae60; --ap-warn: #e67e22; --ap-danger: #e74c3c; ``` 还需替换:`rgba(232,160,32,` · `rgba(26,26,26,0.08)` · `rgba(26,26,26,0.06)` · `rgba(26,26,26,0.07)` · `rgba(26,26,26,0.2)` ### 🟢 Forest Green ``` --ap-navy: #0B1A10; --ap-navy-mid: #122518; --ap-navy-light: #1A3322; --ap-blue: #3DD68C; --ap-blue-dark: #0F6E56; --ap-blue-pale: #E4F7EE; --ap-white: #ffffff; --ap-offwhite: #F4FBF7; --ap-border: #A8E8C8; --ap-text: #0B1A10; --ap-text-mid: #1A5A38; --ap-text-light: #4A8A60; --ap-success: #27ae60; --ap-warn: #e67e22; --ap-danger: #e74c3c; ``` 还需替换:`rgba(61,214,140,` · `rgba(11,26,16,0.08)` · `rgba(11,26,16,0.06)` · `rgba(11,26,16,0.07)` · `rgba(11,26,16,0.2)` ## 技术栈 | 层级 | 技术 | |-------|------------| | UI 框架 | React 18 | | AI 引擎 | Anthropic Claude API (`claude-sonnet-4-20250514`) | | 流式传输 | 通过 Fetch API 的 Server-Sent Events | | 样式 | CSS-in-JS 内联与 CSS 自定义属性 | | PII 脱敏 | 自定义客户端引擎(无外部依赖) | | 字体 | Montserrat, Source Code Pro (Google Fonts) | ## 安全 CyberCat 是一款安全工具——请负责任地使用它。 如果您在 CyberCat 本身中发现了一个漏洞,请阅读 [SECURITY.md](SECURITY.md) 以获取负责任的披露指南。 **重要提示:** CyberCat 会将日志数据发送到 Anthropic API。尽管 PII 脱敏引擎会在提交前移除敏感标识符,但在将此工具用于真实的客户或生产数据之前,您有责任确保其符合贵组织的数据处理政策。 ## 许可证 该项目基于 MIT 许可证授权——详见 [LICENSE](LICENSE)。 ## 致谢 - 由 Anthropic 的 [Claude](https://anthropic.com/claude) 提供支持 - 灵感来源于世界各地 SOC 分析师的日常工作 - PII 脱敏模式基于真实的 SIEM 日志模式设计
*由安全分析师为安全分析师而建。* ⭐ 如果 CyberCat 对您有用,请考虑为该仓库加星——这有助于其他人发现它。
标签:AI大模型, AI安全助手, Anthropic, Beacon Object File, CIS基准, Claude, CVE检测, LLM, MIT开源协议, React, Syscalls, Unmanaged PE, 事件管理, 云安全态势管理, 人工智能, 前端应用, 威胁情报, 子域名变形, 安全告警研判, 安全工程师, 安全运营中心, 开发者工具, 插件系统, 无线安全, 浏览器端, 用户模式Hook绕过, 网络信息收集, 网络安全, 网络安全, 网络安全审计, 网络映射, 自动化响应, 自定义脚本, 隐私保护, 隐私保护