pratikluhana/AIVA

GitHub: pratikluhana/AIVA

AIVA 是一款针对 AI/LLM 端点的漏洞评估扫描器,用于检测 OWASP LLM Top 10 安全风险并关联基础设施 CVE。

Stars: 0 | Forks: 0

# AIVA **一款针对 AI / LLM endpoint 的 VAPT 扫描器** — 探测你拥有(或被授权测试)的聊天机器人或模型 API,以检测 **OWASP LLM 应用十大风险 (2025)**:prompt injection、system prompt 泄露、敏感数据披露、不安全的输出处理、过度 agency、jailbreak 鲁棒性等 — 随后执行基础设施侦察(技术栈指纹识别、暴露/未经身份验证的 endpoint、针对 NIST NVD 的实时 CVE 关联)。 ![Python](https://img.shields.io/badge/python-3.8%2B-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![OWASP](https://img.shields.io/badge/OWASP-LLM%20Top%2010%20(2025)-orange) ## 功能 - **全面的 OWASP LLM Top 10 (2025) 探测** — 跨越 LLM01、LLM02、LLM05、LLM06、LLM07、LLM09、LLM10 的约 35 个内置探测,外加 jailbreak/guardrail 鲁棒性测试。 - **多轮 / 对话式探测** — 捕获跨回合构建的攻击(规则注入、启动后覆盖、jailbreak 渐强、权限提升)。 - **适用于任何 endpoint** — 兼容 OpenAI、Ollama,或通过 `--mode raw` 实现完全自定义的请求/响应结构;使用 `--stream` 支持 streaming (SSE) endpoint。 - **基础设施侦察** — 对服务技术栈进行指纹识别,并标记暴露/未经身份验证的管理 endpoint(这是自托管推理服务器被攻陷的首要途径)。 - **实时 CVE 关联** — 将检测到的技术栈与 NIST NVD API 2.0 进行匹配,为著名的 AI 基础设施 CVE 内置参考说明并进行 CISA KEV 标记。 - **风险评分** — 为每个目标提供 0–100 的评分、A–F 等级以及 guardrail 鲁棒性指标。 - **基线差异对比** — `--baseline` 为 CI 门控标记 **NEW** / **EXISTING** / **FIXED** 发现。 - **多格式报告** — 彩色控制台、JSON、HTML、**Markdown** (`--md`) 和 **SARIF** (`--sarif`),用于 GitHub 代码扫描 / Security 标签页;对 CI 友好的退出代码。 - **扩展的 secret/PII 检测** — 常见密钥格式 + 基于熵的通用查找器。 - **自带探测** — 添加特定于你的应用/策略的自定义测试用例。 - **可选的 AI 判官** — 使用 Anthropic API 对模棱两可的响应进行分类。 - **审计日志、并发、配置文件** — `--log-file` (JSONL)、`--concurrency`、`--config`。 ## 安装 ``` git clone https://github.com/pratikluhana/aiva.git cd aiva python3 -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate pip install . # installs dependencies + the `aiva` command aiva --help # or, without installing: python aiva.py --help ``` 可选环境变量: ``` export NVD_API_KEY=... # free key → 10× faster CVE lookups (nvd.nist.gov) export ANTHROPIC_API_KEY=... # required only for --judge ``` ## 快速开始 ``` # Ollama aiva http://localhost:11434 --mode ollama --model llama3 # 带 auth 的 OpenAI 兼容 API aiva https://my-llm.example.com --mode openai --model my-model \ --header "Authorization: Bearer $TOKEN" # 预览 probes 而不发送任何内容 aiva http://localhost:11434 --mode ollama --model llama3 --dry-run ``` 扫描一系列 endpoint 并生成报告: ``` cp targets.example.txt targets.txt # then edit with endpoints you may test aiva -f targets.txt --mode openai --model my-model \ --html report.html -o results.json --authorized ``` 生成对 CI 友好的输出 — 用于 Security 标签页的 SARIF,以及与之前运行结果的回归差异对比: ``` aiva "$LLM_URL" --mode openai --model my-model --authorized \ --sarif aiva.sarif --md report.md \ --baseline last.json -o results.json # flags NEW vs FIXED findings ``` ## 文档 - **[GUIDE.md](GUIDE.md)** — 完整的用户指南:每个选项、连接模式、完整的探测目录、检测器、输出格式和局限性。 - **[CHEATSHEET.md](CHEATSHEET.md)** — 单页快速参考。 ## 仓库结构 ``` aiva/ ├── aiva.py # the scanner (single self-contained file) ├── pyproject.toml # packaging — provides the `aiva` command ├── README.md # this file ├── GUIDE.md # full documentation ├── CHEATSHEET.md # one-page quick reference ├── CHANGELOG.md # version history (see what's new in 2.0) ├── requirements.txt # dependencies ├── targets.example.txt # example targets file → copy to targets.txt ├── my_probes.example.json # example custom-probe corpus → copy to my_probes.json ├── LICENSE └── .gitignore ``` ## 覆盖范围说明 主动探测:**LLM01、LLM02、LLM05、LLM06、LLM07、LLM09(带有 `--judge`)、LLM10** 以及 jailbreak 鲁棒性。由于无法从黑盒 endpoint 进行运行时测试,因此故意不作伪造:**LLM03** 供应链(通过基础设施 CVE 检测部分覆盖)、**LLM04** 数据和模型中毒、**LLM08** 向量和 Embedding 漏洞。详情请参阅 [GUIDE.md](GUIDE.md)。 ## 免责声明 这是一个检测/评估工具,仅用于**授权**的安全测试。发现是基于启发式的 — 请务必手动验证。作者对滥用或因使用此软件而产生的任何损害不承担任何责任。请遵守所有适用法律和目标的服务条款。 ## 许可证 [MIT](LICENSE) © 2026 Pratik Luhana
标签:AI安全, AI风险缓解, Chat Copilot, DLL 劫持, LNA, Petitpotam, Python, Web报告查看器, 大语言模型, 无后门, 红队评估, 逆向工具