Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
AI-Vulnerabilities-Playground — 动手实操的AI安全实验室平台,涵盖50多个场景,涉及提示注入、智能体系统利用、模型操纵以及MCP信任边界攻击。采用Ollama + FastAPI + React构建,用于安全的攻防演练实践。 | Kitploit
工具/GitHubGitHub/owasp/ai-vulnerabilities-playground
Web安全CTF渗透测试学习与教育AI 安全对抗性攻击实验室与实践
GitHubowasp/ai-vulnerabilities-playground

AI-Vulnerabilities-Playground

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →

动手实操的AI安全实验室平台,涵盖50多个场景,涉及提示注入、智能体系统利用、模型操纵以及MCP信任边界攻击。采用Ollama + FastAPI + React构建,用于安全的攻防演练实践。

查看仓库
11454个月前尚未审核
分享

AIVP [AI 漏洞演练场]

AIVP 是一个动手实践的 AI 安全实验平台,涵盖 4 个阶段和 50+ 个实验(目前代码库中有 50+ 个场景)。它结合了 Ollama + Llama 3.1、FastAPI 后端和 React/Vite 前端,让从业者能够安全地演练攻防两端的 AI 安全技术。

如果这个项目对你有帮助,请 ⭐ star / 点赞 该仓库、fork 它,并随时欢迎提交 PR!


目录

  • 概述
  • 运行步骤
  • 前置条件
  • 项目结构
  • 硬件要求
  • 安装与配置
    • 快速开始(Windows PowerShell)
    • 快速开始(macOS/Linux bash)
    • 手动步骤
  • 运行实验
  • 配置
  • 截图
  • 故障排查
  • 贡献指南
  • 问题与反馈
  • 许可证

运行步骤

请使用专门的运行指南:RUN_STEPS.md。它涵盖了手动(Vite + uvicorn)和 Docker(nginx + API + Redis,Ollama 在宿主机上)两种方式,包括可靠访问实验所需的前置条件。

实际运行路径中的配置行为是严格的:缺少必需的 env 值会按设计导致启动失败。


概述

该平台涵盖四条训练路线:

  • 阶段 1(PI):提示词注入和指令遵循滥用模式
  • 阶段 2(DE):Agent 系统、工具/记忆/RAG 泄露,以及多系统数据提取
  • 阶段 3(MM):模型操纵和纯模型攻击面
  • 阶段 4(MCP):MCP 信任边界和符合 OWASP MCP 的风险场景

每个实验都使用动态的、按实验区分的密钥和显式验证,让你可以在安全的环境中验证利用是否成功。

仅供教育用途——这些实验在本地系统上模拟攻防两端的 AI 安全场景。请不要针对你不拥有或未经明确授权测试的真实服务、数据或基础设施。这些实验中的密钥是合成的,并按实验重新生成;它们不是生产环境凭据。请自行承担使用风险。不提供任何担保。

  • 模型:通过 Ollama 运行 Llama 3.1(本地)
  • 后端:FastAPI(SSE 流式)——POST /api/labs/{lab}/chat
  • 前端:React + Vite(Tailwind UI)
  • 密钥:运行时按实验生成;API 重启后重置(或通过重置端点)
  • 特色功能:真实子系统模拟(Agent/工具/记忆/RAG)、运行跟踪遥测、严格配置模式,以及手动 + Docker 工作流

前置条件

  • Python 3.10+(3.12 可用)
  • Node.js 18+(建议 Node 20 LTS)
  • Ollama 已安装并在本地运行
  • Git(可选但建议安装)

至少拉取一次模型:ollama pull llama3.1(或你喜欢的其他兼容 llama3.1 的变体)


项目结构

root@kitploit:~
apps/
  api/                # FastAPI backend (SSE -> Ollama)
    main.py
    requirements.txt
    .env.example
  web/                # React + Vite frontend
    src/
    .env.example

硬件要求

  • 最低(仅 CPU): 4 核、16 GB 内存、10 GB 可用磁盘、无 GPU → 可用,生成较慢
  • 推荐: 8 核、32 GB 内存、SSD 20+ GB 可用、NVIDIA 8–12 GB 显存(或 Apple Silicon)→ 流畅体验

CPU

  • 支持 AVX2 的 64 位 CPU(现代 Intel/AMD)或 Apple Silicon(M1/M2/M3)
  • 最低 4 核;建议 8 核以上,以支持并行聊天 + 开发工具

内存(通过 Ollama 运行量化版 Llama 3 8B)

  • Q4_K_M(约 4–5 GB 模型): 运行时约需 6–8 GB
  • Q5/Q6(约 6–8 GB): 运行时约 10–12 GB
  • Q8(约 9–10 GB): 运行时约 14–16 GB

提示: 16 GB 系统内存可用;32 GB 可为浏览器、Node、Python 和 IDE 提供充足余量。

GPU(可选)

  • Windows/Linux(CUDA): NVIDIA RTX,≥8 GB 显存(例如 3060 12 GB 就很不错)
  • macOS(Metal): 任何 Apple Silicon 均可
  • 仅 CPU 也完全可以;只是响应速度会慢一些

磁盘

  • 模型: 5–10 GB,取决于量化级别。
  • 仓库 + node_modules + venv: 1–2 GB。
  • 请预留 15–20 GB 可用空间。

操作系统

  • Windows 10/11、macOS 12+、Ubuntu 20.04+(或类似系统)。WSL2 也可用(GPU 需要额外设置)。

开发工具

  • Python 3.10+、Node 18+(20 LTS 最佳)、Ollama 已安装并正在运行。

性能提示

  • 从 llama3(8B)Q4 开始;只有当内存/显存有余量时才提高量化级别。
  • 保持提示词/上下文合理(2–4k tokens),避免内存激增。
  • 如果只有 16 GB 内存,请关闭占用资源较多的应用。

安装与配置

快速开始(Windows PowerShell)

在仓库根目录(包含 apps\api 和 apps\web 的文件夹)下:

root@kitploit:~
# 0) Ensure the model is available
ollama pull llama3.1

# 1) Backend venv + deps + run
cd apps/api
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env
uvicorn main:app --reload --port 8000

为前端打开一个新的 PowerShell 窗口:

root@kitploit:~
cd apps/web
npm install
copy .env.example .env
npm run dev   # http://localhost:5173

快速开始(macOS/Linux bash)

root@kitploit:~
# 0) Model
ollama pull llama3.1

# 1) Backend
cd apps/api
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn main:app --reload --port 8000

在另一个 shell 中:

root@kitploit:~
cd apps/web
npm install
cp .env.example .env
npm run dev   # http://localhost:5173

手动步骤

  1. 启动 Ollama 并保持运行(需要时执行 ollama serve)。
  2. 拉取 Llama 3.1:ollama pull llama3.1。
  3. 在 :8000 上运行后端(FastAPI)。
  4. 在 :5173 上运行前端(Vite)。

前端从后端流式接收服务器推送事件(SSE);请确保 apps/api/.env 中的 CORS origins 包含 http://localhost:5173。


运行实验

  • 打开前端 http://localhost:5173。
  • 进入 探索实验 → 选择一个实验 → 启动实验。
  • 使用聊天功能对助手发起攻击(适用实验特定的提示词规则)。
  • 获得密钥后,将其粘贴到提交你的答案中。

后端接受的实验 ID 格式:PI-01、PI_01、pi01、p01 → 全部规范化为 PI_01。

动态密钥会在后端重启后首次使用某个实验时创建。你也可以重置密钥:

root@kitploit:~
POST /api/secrets/reset/{labId}

每个实验的密钥都不同,并在后端重启时重新生成(内存中)。如果需要持久化,请考虑使用文件/数据库进行备份。


配置

后端(apps/api/.env)

root@kitploit:~
OLLAMA_URL=http://localhost:11434
OLLAMA_MODEL=llama3.1
CORS_ORIGINS=http://localhost:5173
SERVER_SALT=change-me-in-production
AIVP_DEFAULT_MODE=off
ENABLE_TRAINING_LABS=false
OLLAMA_MODEL_TRAINING_LABS=llama3.1
REDIS_URL=redis://localhost:6379/0
REDIS_HOST=localhost
REDIS_PORT=6379
MEMORY_TTL_SECONDS=3600
SESSION_TTL_SECONDS=3600
AGENT_B_URL=http://localhost:8001
MM_API_BASE=http://localhost:8000
API_BASE_URL=http://localhost:8000
JIRA_URL=https://example.atlassian.net
GITHUB_API_BASE_URL=https://api.github.com
SLACK_API_BASE_URL=https://slack.com/api

前端(apps/web/.env)

root@kitploit:~
# Local dev: full URL to the API (Vite proxies /api in vite.config as well)
VITE_API_BASE=http://localhost:8000/api
VITE_DEV_API_TARGET=http://localhost:8000
[email protected]

Docker / 生产式构建使用 VITE_API_BASE=/api,这样浏览器在 nginx 之后使用同源路径(参见 RUN_STEPS.md → 选项 B)。

端点

  • POST /api/labs/{lab}/chat — SSE 流,格式为 data: {"content": "..."}
  • POST /api/secrets/validate — { labId, answer } → { success, message }
  • POST /api/secrets/reset/{lab} —(可选,用于测试)

截图

将你的截图放在 docs/screenshots/ 目录下,并在此处引用:

root@kitploit:~
![Home](https://raw.githubusercontent.com/owasp/ai-vulnerabilities-playground/main/docs/screenshots/home.png)
![PI‑01 Running](https://raw.githubusercontent.com/owasp/ai-vulnerabilities-playground/main/docs/screenshots/about_labs.png)
![Explore Labs](https://raw.githubusercontent.com/owasp/ai-vulnerabilities-playground/main/docs/screenshots/explore_labs.png)
![PI‑01 Running](https://raw.githubusercontent.com/owasp/ai-vulnerabilities-playground/main/docs/screenshots/PI01.png)

故障排查

``
在 apps/web 内运行 npm install。

``
在 main.py 中添加 from typing import Iterator(或移除该注解)。

CORS / SSE 被阻止
确保 CORS_ORIGINS 包含 http://localhost:5173。

Ollama 错误
确保 ollama serve 正在运行,并且已拉取模型:ollama pull llama3.1。

用 curl 进行基本检查

root@kitploit:~
curl -N -X POST http://localhost:8000/api/labs/PI_01/chat \
  -H "Content-Type: application/json" \
  -d '{"prompt":"Say hello in one sentence."}'

你应该会看到类似 data: {"content":"Hello …"} 的流式输出行。


贡献指南

欢迎贡献!请:

  1. Fork 该仓库并创建功能分支。
  2. 遵循现有代码风格(TypeScript/React + Python/FastAPI)。
  3. 尽可能添加测试或快速演示。
  4. 提交一个PR,附上清晰的描述;如果涉及 UI 更改,请附上截图。

建议的方向:

  • 新实验(阶段 1–4)
  • 更好的护栏 / 评估框架
  • 密钥持久化(SQLite/JSON)
  • 打包与 Docker

问题与反馈

如果你发现 Bug 或有想法:

  • 提交 Issue,附上复现步骤和环境详情。
  • 或发起 Discussion 来提出改进建议。

如果你喜欢这个项目,请 ⭐ star / 点赞 并分享给其他人!


许可证

MIT。

邮箱

[email protected]

下载工具