ktalons/casa-ai-agent
GitHub: ktalons/casa-ai-agent
CASA 是一款基于 Claude 的 AI 辅助网络安全分析助手,通过可解释推理和 NIST 标准对齐来指导中小企业安全运营中的日志和网络流量调查工作流。
Stars: 0 | Forks: 0
# CASA
## 网络安全分析支持助手
面向中小企业 (SME)/托管服务提供商 (MSP) 安全运营的 AI 辅助网络安全分析助手。通过符合 NIST 标准的可解释推理来指导调查工作流。
## 概述
中小企业 (SME) 和托管服务提供商 (MSP) 环境中的安全分析师在分析大量日志和网络遥测数据时面临着持续的挑战。CASA 是一款 AI 辅助助手,它支持分析任务的同时,也保持了人在回路 (human-in-the-loop) 的决策机制。
CASA 并非完全自动化的威胁检测工具,而是指导调查工作流,建议合适的工具和步骤,并根据公认的网络安全标准解释其推理过程。
## 快速开始
### 前置条件
在运行 `setup.sh` 之前,请先安装这些内容:
| 工具 | 必需 | 备注 |
|------|----------|-------|
| **Claude Code** | 是 | [安装指南](https://docs.anthropic.com/en/docs/claude-code) — Anthropic 的 CLI |
| **Python 3** | 是 | macOS 和大多数 Linux 上已预装 |
| **Bun** | 自动 | 如果缺失,`setup.sh` 会自动安装 Bun |
| **ElevenLabs API 密钥** | 可选 | 仅语音合成需要 — [elevenlabs.io](https://elevenlabs.io) |
### 1. 克隆
```
gh repo clone CASA-Capstone-AI-Research-Project/CASA
cd CASA
```
### 2. 验证(推荐)
在安装之前验证仓库是否完整:
```
bash setup.sh --validate
```
这将运行所有结构性检查 — agents、skills、hooks、workflows — 而不会进行任何更改。在继续之前,所有检查都应显示 `✓`。
### 3. 安装
```
bash setup.sh
```
安装脚本将执行以下操作:
1. 检查前置条件(Claude Code, Python 3, Bun)
2. 创建符号链接:`~/.claude` → `/.claude/`
3. 备份现有的 `~/.claude/`(如果存在)
4. 收集您的姓名、时区、AI 助手名称和语音偏好
5. 生成 `settings.json` 和带有注释的 `.env` 模板
6. 如果提供了 ElevenLabs 密钥,则自动启动语音服务器
7. 验证所有 CASA agents、skills、hooks 和 workflows
### 4. 配置(可选)
安装完成后,打开 `.claude/.env` 配置可选功能:
```
# .claude/.env — gitignored,保留在本地
# 语音合成(在 elevenlabs.io 获取免费 key)
ELEVENLABS_API_KEY=your_key_here
# 日志时间戳的时区(IANA 格式 — 默认为 America/Los_Angeles)
TIME_ZONE=America/New_York
# Voice ID 覆盖(可选 — 覆盖设置期间选择的语音)
# Rachel(女性):21m00Tcm4TlvDq8ikWAM | Adam(男性):pNInz6obpgDQGcFmaJgB
PAI_VOICE_ID=
```
### 5. 启动
```
claude
```
尝试一个查询以开始:
```
Analyze these auth logs for brute force indicators
Investigate this PCAP for C2 beaconing activity
Search OSINT for this IP address: 192.168.1.100
Run a prompt injection assessment on this chatbot endpoint
```
### 更新
由于 `~/.claude` 是指向仓库的符号链接,因此更新只需:
```
cd CASA
git pull
```
所有更改将立即生效 — 无需重新安装。
## 安装原理
```
~/.claude ──symlink──▶ CASA/.claude/
│
├── settings.json ← your config (gitignored)
├── .env ← API keys (gitignored)
├── agents/ ← tracked in git
├── skills/ ← tracked in git
├── hooks/ ← tracked in git
└── MEMORY/ ← contents gitignored
```
- **被跟踪的文件**(agents、skills、hooks、workflows)会通过 `git pull` 进行更新
- **用户文件**(`settings.json`、`.env`、MEMORY 内容)会被 gitignore 并保留在本地
- 重新运行 `setup.sh` 是安全的 — 它会检测现有的符号链接,如果已配置则跳过
## 架构
基于 [Daniel Miessler 的 Personal AI Infrastructure (PAI)](https://github.com/danielmiessler/Personal_AI_Infrastructure) 框架构建。
### Agents
| Agent | 角色 | 标准 |
|-------|------|-----------|
| **Overseer** | 将分析师的查询路由到专门的 agents | NIST AI RMF |
| **LogAnalyst** | 通过逐步推理指导日志调查 | NIST SP 800-92 |
| **NetworkAnalyst** | 协助进行 PCAP 和网络流量分析 | 网络安全最佳实践 |
| **PurpleTeamMapper** | 将发现映射到检测/响应的改进措施 | NIST CSF 2.0, MITRE ATT&CK |
| **Pentester** | 授权的漏洞评估和安全测试 | OWASP, PTES |
### 调查工作流
| 工作流 | 触发条件 | 使用的 Agents |
|----------|----------|-------------|
| 认证异常 | 暴力破解、撞库、不可能的旅行 | LogAnalyst → PurpleTeamMapper |
| 网络 Beaconing | 周期性连接、DNS 异常、C2 回调 | NetworkAnalyst → PurpleTeamMapper |
| 数据外泄 | 大量出站传输、流量编码 | LogAnalyst + NetworkAnalyst → PurpleTeamMapper |
| 横向移动 | 内部扫描、凭据重用、RDP/SMB 滥用 | LogAnalyst + NetworkAnalyst → PurpleTeamMapper |
### 工作流阶段
```
Analyst Query → Intake → Analysis → Mapping → Synthesis → Analyst Guidance
↓ ↓ ↓ ↓
Classify Route to Map to Combine
query & specialist NIST CSF & findings,
gather agents MITRE explain
context ATT&CK reasoning
```
## 标准对齐
| 标准 | 应用场景 |
|----------|------------|
| **NIST SP 800-92** | 用于日志分析工作流的日志管理指南 |
| **NIST SP 800-61** | 跨所有工作流的事件处理程序 |
| **NIST CSF 2.0** | 框架功能映射(治理、识别、保护、检测、响应、恢复) |
| **NIST AI RMF** | AI 建议的透明度和可解释性 |
| **MITRE ATT&CK** | 用于威胁上下文的技术和战术映射 |
## 可解释性
每项 CASA 建议都包括:
- **推理轨迹** — 关于如何得出结论的逐步解释
- **置信度评分** — 高/中/低,并附带具体的判定标准
- **NIST 参考** — 对相关标准章节的引用
- **人在回路 (Human-in-the-loop) 框架** — 提供带有权衡的选项,而非强制指令
## 项目结构
```
CASA/
├── setup.sh ← Run this after cloning
├── README.md
├── LICENSE
└── .claude/ ← Symlinked to ~/.claude
├── settings.template.json ← Default config (tracked)
├── settings.json ← Your config (gitignored)
├── .env ← API keys + timezone (gitignored)
├── CLAUDE.md ← Entry point for Claude
├── INSTALL.ts ← PAI personalization wizard
├── agents/
│ ├── Overseer.md ← Query routing orchestrator
│ ├── LogAnalyst.md ← NIST SP 800-92 log analysis
│ ├── NetworkAnalyst.md ← PCAP/flow analysis
│ ├── PurpleTeamMapper.md ← NIST CSF 2.0 mapping
│ └── Pentester.md ← Authorized vulnerability assessment
├── skills/
│ ├── CyberAnalysis/
│ │ ├── SKILL.md ← Core investigation skill
│ │ ├── ExplainabilityStandards.md
│ │ └── Workflows/
│ │ ├── AuthAnomalyInvestigation.md
│ │ ├── NetworkBeaconingDetection.md
│ │ ├── DataExfiltrationAnalysis.md
│ │ └── LateralMovementDetection.md
│ ├── PromptInjection/ ← AI/LLM security assessment
│ ├── Recon/ ← Reconnaissance workflows
│ ├── WebAssessment/ ← Web application security
│ ├── OSINT/ ← Open source intelligence
│ ├── SECUpdates/ ← Security news aggregation
│ ├── AnnualReports/ ← Threat report analysis
│ └── PAI/ ← PAI framework core
├── hooks/ ← Lifecycle event handlers (10 active)
├── VoiceServer/ ← ElevenLabs TTS server
└── MEMORY/ ← Learning and pattern storage (gitignored)
```
## 重新配置
要重新运行个性化设置:
```
rm CASA/.claude/settings.json
bash setup.sh
```
要卸载(仅移除符号链接,仓库保持完整):
```
rm ~/.claude
```
## 技术栈
- **Claude** — LLM 骨干(通过 Claude Code CLI)
- **TypeScript / Bun** — PAI 框架 runtime
- **Python** — 分析脚本
## 路线图
**TalonSocLab 集成(未来)。** CASA 旨在对真实的 SOC 遥测数据进行推理。最终状态是与 [TalonSocLab](https://github.com/ktalons/talonsoclab) 集成 — 一个由 Wazuh + Suricata + Sysmon + 蜜网组成的家庭 SOC 栈 — 作为 4 个调查工作流的生产环境遥测数据源。在 CASA 工作流通过具有代表性的日志量验证并且 TalonSocLab 进入 Phase D(蜜网 + 威胁情报 pipeline)之前,两者将保持解耦。在这两个条件都满足之前,两个仓库之间不存在代码依赖。
## 状态
毕业设计项目 (Senior Capstone Project) — 开发中
## 许可证
MIT
标签:AI智能体, BurpSuite集成, Claude Code, NIST标准, Python, 安全运营, 扫描框架, 无后门, 网络流量分析, 自动化攻击, 逆向工具