abyasham/security-audit-compliance-agent-v.13
GitHub: abyasham/security-audit-compliance-agent-v.13
SACA是一个LLM驱动的Web应用,用于自动将网络抓包数据与策略文档比较,产生可辩护的合规性发现。
Stars: 1 | Forks: 1
演示视频
SACA (安全审计合规智能体) 是一个为网络安全审计提出的下一代解决方案。
它结合了数据包级别的证据、策略感知推理和多智能体分析,旨在从 pcap 数据中生成可辩护的合规性发现。
## 30 秒快速启动
```
cd C:\saca\saca13
Copy-Item .env.example .env.docker
# 在 .env.docker 中添加至少一个云密钥 (OPENAI_API_KEY 或 DEEPSEEK_API_KEY 或 OPENROUTER_API_KEY)
docker compose --env-file .env.docker up --build
```
打开:
- 前端:http://localhost:5173
- 后端健康状态:http://localhost:3001/api/health
为何需要云密钥:没有它们,只有 Ollama 会被标记为已配置。
## 执行摘要
现代网络团队仍然严重依赖手动的 Wireshark 分诊、临时脚本和碎片化的报告。
SACA 通过提供一个单一工作流来解决此问题,分析师可以在其中:
- 上传抓包文件和策略文档。
- 运行一个基于智能体的分析流程。
- 接收基于证据的违规、合规和可疑发现。
- 通过工具辅助的对话式交互,调查和验证这些发现。
设计目标是实际的审计加速,而非黑箱式摘要总结。
## 定位
SACA 的灵感来源于像 NetTrace Agentix 这样的系统所展示的强大智能体流量分析模式,同时专注于合规性判断和策略到证据的映射作为首要产出。
SACA 的差异化在于:
- 从上传的策略文本进行策略无关的合规性评估。
- 在网络分析之后设置专门的合规判断阶段。
- 为审计可辩护性和可追溯性设计的发现结构。
- 内置对常见企业和物联网攻击模式的检测覆盖。
## 核心能力
- 多智能体流程:策略智能体、网络智能体、合规判断器。
- 基于证据的对话工具循环,支持 tshark 后端检索。
- 检测覆盖包括:
- DNS 劫持和欺骗。
- DNS 隧道检测启发式。
- 会话劫持(跨源 IP 的令牌重用)。
- 操作系统指纹识别(SYN 选项特征多样性)。
- ARP 欺骗、暴力破解、SYN 扫描、类 Mirai 行为。
- 用户界面分诊支持,提供以 DNS 优先的发现排序。
- 面向受控安全环境的本地优先部署模型。
## 架构概览
1. 策略解析与规范化。
2. 网络流量分析与异常提取。
3. 根据策略条款进行合规判断。
4. 发现持久化与分析师审查。
高层组件:
- 后端:Express + TypeScript 智能体编排与 API。
- 前端:React + Vite 分析师工作区。
- 数据包引擎:tshark/Wireshark CLI 集成。
- 可选 LLM 提供商:OpenAI, DeepSeek, OpenRouter, Ollama。
```
flowchart LR
U[Analyst UI\nReact + Vite] --> API[Backend API\nExpress + TypeScript]
API --> PA[PolicyAgent\nPolicy Parsing + Rule Extraction]
API --> NA[NetworkAgent\nTshark + Anomaly Detection]
PA --> CJ[ComplianceJudge\nPolicy-to-Evidence Judgement]
NA --> CJ
CJ --> FS[Findings Store\nSession + Audit Evidence]
FS --> U
API --> LLM[LLM Providers\nOpenAI / DeepSeek / OpenRouter / Ollama]
API --> TS[Tshark Engine]
```
## 仓库结构
- `backend/` API、智能体和服务。
- `frontend/` Web 应用。
- `pcap/` 数据集映射和抓包资产。
- `plans/` 架构和设计说明。
- `policy/` 示例策略工件。
- `scripts/` 本地启动、停止、重置和实用脚本。
## 前置条件
- Node.js 20+
- npm 10+
- tshark (Wireshark CLI)
Windows 默认路径:
- `C:\Program Files\Wireshark\tshark.exe`
如果 tshark 不在 PATH 中,请在本地后端环境中设置 `TSHARK_PATH`。
## 本地开发 (Windows)
安装依赖:
```
npm install
cd backend; npm install
cd ../frontend; npm install
cd ..
```
运行应用程序:
```
npm run start
```
停止应用程序:
```
npm run stop
```
端点:
- 前端:http://localhost:5173
- 后端:http://localhost:3001
- 健康状态:http://localhost:3001/api/health
## Docker 演示 (推荐用于分享)
SACA 可以通过使用云提供商 (OpenAI, DeepSeek, OpenRouter) 在无 GPU 环境下运行。
1. 根据模板创建本地 Docker 环境文件:
```
Copy-Item .env.example .env.docker
notepad .env.docker
```
2. 仅添加你计划使用的提供商密钥。
3. 启动容器:
```
docker compose --env-file .env.docker up --build
```
4. 停止容器:
```
docker compose down
```
如果未提供云 API 密钥,只有 Ollama 会显示为已配置。
## 安全与密钥管理
SACA 包含安全防护措施以减少意外提交密钥的风险:
- `.gitignore` 阻止 `.env`, `.env.local`, `.env.docker` 以及常见的密钥/证书文件。
- 预提交密钥扫描器会阻止已暂存的敏感文件名和类密钥令牌模式。
在仓库初始化后启用钩子:
```
npm run security:install-hooks
```
运行手动暂存扫描:
```
npm run security:scan-staged
```
推荐的本地密钥文件:
- `backend/.env.local` 用于后端运行时密钥。
- `.env.docker` 用于基于 Compose 的演示。
已跟踪的模板:
- `backend/.env.example`
- `.env.example`
## 验证与保真度 (GT-01..GT-13 + RAGAS)
SACA v13 使用 GT-01 到 GT-13 作为一个实用的基准范围,用于衡量检测质量和解释的 groundedness。
评估机制:
- 真值锚点:来自 GT-01..GT-13 场景的已知攻击行为。
- 待测的 SACA 输出:发现、证据数据包编号、推理文本和策略关联。
- 类 RAGAS 的保真度焦点:验证模型声明是否得到检索到的数据包证据和策略条款的支持,而非幻觉摘要。
本项目的操作性解释:
- 高保真度:发现的推理可直接追溯到数据包级别的证据,并映射到策略文本。
- 低保真度:推理包含无支撑的声明、较弱的证据关联或策略不匹配。
本仓库当前的验证重点包括在以下方面已证实的改进:
- GT-07 类行为:DNS 劫持/欺骗检测质量。
- GT-10 类行为:操作系统指纹信号提取。
- GT-13 类行为:会话劫持/令牌重用可见性。
此 GT + RAGAS 保真度工作流被用作一种持续机制,用于衡量 SACA 在能力演进过程中是否保持基于证据。
## 状态
本项目是一个积极演进的提案和实施路径,旨在实现实际、可解释的网络安全审计。
标签:AI风险缓解, Apex, DLL 劫持, Docker, GNU通用公共许可证, MITM代理, Node.js, pcap分析, RAGAS评估, 人工智能, 包捕获分析, 合规发现, 合规性分析, 多代理分析, 大语言模型, 安全防御评估, 审计, 对称加密, 工具辅助聊天, 提示词模板, 机器学习, 用户模式Hook绕过, 策略比较, 网络安全, 网络流量分析, 自动化审计, 自动化攻击, 证据分析, 请求拦截, 违规检测, 隐私保护