m-musif/AgentHifazat

GitHub: m-musif/AgentHifazat

面向企业 AI Agent 的多语言红队安全测试框架,将攻击结果映射到 OWASP ASI 2026 并生成合规审计报告。

Stars: 0 | Forks: 0

# AgentHifazat **多语言 Agent 安全平台** — 面向企业级 AI Agent 的红队测试与合规框架。 AgentHifazat 会使用特定语言的攻击包自动测试 LangGraph(及其他)Agent,将失败情况映射到 **OWASP ASI 2026** 类别,并导出 JSON 审计轨迹。 ## 状态 | 阶段 | 范围 | 状态 | |-------|--------|--------| | 第 1 周 | Repo、FinBot 演示 Agent、15 个攻击、trace logger | 已完成 | | 第 2 周 | CLI runner、regex judges、FastAPI 骨架 | 已完成 | | 第 3 周 | LLM judge、ASI mapper、风险评分器、50 个攻击 | 已完成 | | 第 4 周 | 加固版 FinBot、前后对比、trajectory index | 已完成 | | 第 5 周 | React 仪表盘、异步扫描、运行历史 API | 已完成 | | 第 6 周 | PDF 审计报告、Docker 部署、演示脚本 | 已完成 | | 第 7 周 | HTTP 适配器、有状态多轮对话、replay judge、对比 UI | 已完成 | | 第 8 周 | 跨语言矩阵、global_english pack、落地页 | 已完成 | | 第 9 周 | GitHub Action CI、SQLite 历史记录、API keys、UAE Arabic pack | 已完成 | | 第 10 周 | 报告库、pack manager UI、案例研究模板 | 已完成 | | 第 11 周 | 仪表盘认证、Groq key UI、OWASP 文章、推介演示文稿 | 已完成 | | 第 12 周及以后 | 部署演示、提交至 Hoobit、对外宣传 | 计划中 | ## 快速开始 ``` cd AgentHifazat python -m venv .venv .venv\Scripts\activate # Windows pip install -r backend/requirements.txt # 列出 packs python cli/agenthifazat.py list-packs # 使用 Pakistan pack 对内置 FinBot 运行测试(通过 MockChatModel 离线工作) python cli/agenthifazat.py run --pack pakistan # 对比 vulnerable 与 hardened(前后演示) python cli/agenthifazat.py compare --pack pakistan # 仅运行 hardened agent python cli/agenthifazat.py run --pack pakistan --target hardened # JSON 输出(适配 CI) python cli/agenthifazat.py run --pack pakistan --format json # 可选:使用 Groq 运行在线 FinBot + LLM judge # 1. 获取免费密钥:https://console.groq.com/keys # 2. 复制 .env.example → .env 并粘贴您的密钥 copy .env.example .env python cli/agenthifazat.py run --pack pakistan --judge hybrid ``` ## API (第 2 周起) ``` cd backend uvicorn app.main:app --reload --port 8000 ``` - `GET /v1/health` - `GET /v1/packs` - `GET /v1/runs` — 最近的扫描摘要 - `GET /v1/runs/{run_id}` — 完整的 trajectory JSON - `POST /v1/scans` — 开始扫描 (`run_async: true` 返回 `job_id`) - `GET /v1/scans/jobs/{job_id}` — 轮询进度 - `POST /v1/comparisons` — 漏洞版与加固版对比 - `GET /v1/runs/{run_id}/report.pdf` — 高管审计 PDF - `GET /v1/comparisons/{comparison_id}/report.pdf` — 前后对比 PDF - `POST /v1/runs/{run_id}/replay` — 使用另一个 judge 重新对已保存的 trajectories 进行评分 HTTP 外部机器人:参见 [docs/HTTP_TARGETS.md](docs/HTTP_TARGETS.md)。 ``` # 扫描外部 HTTP bot python cli/agenthifazat.py run --pack pakistan --target http://localhost:8080/v1/chat/completions # 重新评估已保存的运行(检测 flaky 问题) python cli/agenthifazat.py replay --run-id --judge hybrid # 跨语言矩阵(Urdu / Roman Urdu / English) python cli/agenthifazat.py matrix --target vulnerable # UAE / MENA Arabic pack python cli/agenthifazat.py run --pack uae_mena --target hardened ``` ## CI (第 9 周) GitHub Actions 工作流:`.github/workflows/agenthifazat.yml` — pytest + 加固版/漏洞版冒烟测试门禁。 参见 [docs/CI.md](docs/CI.md)。将此工作流复制到你的 Agent repo 中,以便在风险过高时阻止部署。 ## API keys 与历史记录 - 扫描摘要存储在 SQLite (`data/agenthifazat.db`) 中 - `GET /v1/history/runs` · `GET /v1/history/stats` - `POST /v1/settings/api-keys` — 创建 key(仅显示一次) - 当存在 keys 时,POST 扫描需要提供 `X-API-Key` header - 仪表盘:`/app/settings` ## 报告与 packs (第 10 周) - `GET /v1/reports/library` — 带有 PDF 链接的运行和对比记录 - `GET /v1/reports/trends?pack_id=pakistan` — 随时间变化的安全趋势 - `POST /v1/reports/compare-runs` — 两次运行之间的差异 - `GET /v1/packs/{pack_id}/preview` — 攻击细分与样本 仪表盘:`/app/reports` · `/app/packs` 案例研究模板:[docs/CASE_STUDY_TEMPLATE.md](docs/CASE_STUDY_TEMPLATE.md) ## 认证与 Groq 设置 (第 11 周) - `GET /v1/auth/status` — 是否需要设置、是否需要登录、session 状态 - `POST /v1/auth/setup` — 首个管理员用户(仅限一次) - `POST /v1/auth/login` / `POST /v1/auth/logout` - `GET/PUT/DELETE /v1/settings/groq` — LLM judge key(环境变量优先级高于 DB) 创建首个管理员后,即可在 `/app/login` 登录仪表盘。Session token 作为 `X-Session-Token`(或 `Authorization: Bearer`)发送。CI 仍可使用 `X-API-Key`。 可发布文章:[docs/OWASP_ASI_ARTICLE.md](docs/OWASP_ASI_ARTICLE.md) 推介演示文稿大纲:[docs/PITCH_DECK.md](docs/PITCH_DECK.md) ## 仪表盘 (第 5 周起) 终端 1 — API: ``` cd backend ..\.venv\Scripts\python.exe -m uvicorn app.main:app --reload --port 8000 ``` 终端 2 — UI (开发环境): ``` cd frontend npm install npm run dev ``` 打开 http://localhost:5173 — **落地页**位于 `/`,仪表盘位于 `/app`(包含 Overview、New Scan、Compare、Matrix、Run Detail 及 PDF)。 ### 单端口生产环境 (第 6 周) 构建 UI 并通过 FastAPI 提供服务: ``` cd frontend && npm run build && cd .. cd backend ..\.venv\Scripts\python.exe -m uvicorn app.main:app --host 0.0.0.0 --port 8000 ``` 打开 http://localhost:8000 — 仪表盘和 API 集成于同一 URL。 ### Docker ``` docker compose up --build ``` 有关 Render / HF Spaces 的信息,请参见 [docs/DEPLOY.md](docs/DEPLOY.md)。演示脚本:[docs/DEMO_VIDEO_SCRIPT.md](docs/DEMO_VIDEO_SCRIPT.md)。 ## 架构 ``` packs/pakistan/attacks/ → Attack Runner → FinBot (target) ↓ Rule Judge + PII check ↓ Trace JSON in results/ ``` ## Pakistan pack (MVP) - **语言:** Urdu、Roman Urdu、English - **攻击:** 50 个黄金测试场景 (ASI01、ASI02、ASI03、ASI06、ASI09、PII、多轮对话) - **演示 Agent:** `demo_agents/finbot_vulnerable/` — LangGraph 银行 FAQ 机器人 ## 项目结构 ``` AgentHifazat/ ├── cli/agenthifazat.py ├── backend/app/ # FastAPI + eval core ├── demo_agents/ # Reference bots to attack ├── packs/pakistan/ # Country/language pack └── results/ # Scan output JSON ``` ## 作者 Muhammad Musif — FAST NUCES, Islamabad GitHub: [m-musif](https://github.com/m-musif) ## 许可证 MIT
标签:AI安全, AV绕过, Chat Copilot, DLL 劫持, FastAPI, LNA, 大语言模型, 红队评估, 请求拦截, 逆向工具