rbdnv/CIVS

GitHub: rbdnv/CIVS

CIVS 是一个用于保护 AI 智能体免受内存注入和提示词注入攻击的上下文完整性验证系统。

Stars: 3 | Forks: 0

# CIVS - Context Integrity Verification System 用于保护 AI 智能体免受 Memory Injection(内存注入)攻击的上下文完整性验证系统。 ## 功能 - 🔐 上下文的加密签名 (Ed25519) - 🔗 用于完整性校验的哈希链 (SHA-256) - 📊 Trust Score - 对上下文的信任度评分 - 🛡️ 攻击检测:tampering(篡改)、replay(重放)、prompt injection(提示词注入) - 📝 分类:ACCEPT / QUARANTINE / REJECT - 🌐 用于集成的 REST API ## 快速开始 ### 1. 启动 PostgreSQL ``` docker compose up -d postgres ``` ### 2. 启动 API 服务器 ``` python -m uvicorn app.main:app --reload --port 8000 ``` ### 3. 打开文档 http://localhost:8000/docs ### 4. 打开交互式演示 http://localhost:8000/demo/compare ## CI 仓库中配置了 GitHub Actions workflow [`.github/workflows/ci.yml`](/home/said/project/.github/workflows/ci.yml)。 它会在 `push`、`pull_request` 时自动运行,也可通过 `workflow_dispatch` 手动触发;它会安装依赖、检查 Python 文件编译并运行完整的测试套件。 ## 演示 ``` # 基础演示 python demo.py # 完整演示 python demo_full.py # 运行测试 python run_tests.py ``` ## API 端点 | 方法 | 路径 | 描述 | |-------|------|----------| | POST | `/api/v1/auth/register` | 注册用户并获取 JWT | | POST | `/api/v1/auth/login` | 登录并获取 JWT | | POST | `/api/v1/keys/generate` | 生成 Ed25519 密钥 | | POST | `/api/v1/contexts` | 创建上下文,需要 Bearer token | | POST | `/api/v1/contexts/verify` | 验证上下文,需要 Bearer token | | POST | `/api/v1/security/check-content` | 检查内容 | | GET | `/api/v1/health` | 健康检查 | ## 项目结构 ``` civs/ ├── app/ │ ├── main.py # FastAPI приложение │ ├── config.py # Конфигурация │ ├── api/routes.py # API эндпоинты │ ├── api/demo_routes.py # Demo endpoints и страница сравнения │ ├── core/ │ │ ├── crypto.py # Криптография │ │ ├── demo_simulation.py # Логика сравнения "Без CIVS / С CIVS" │ │ ├── verifier.py # Trust Score │ │ └── security.py # Защита от атак │ ├── db/ │ │ ├── database.py # PostgreSQL подключение │ │ └── tables.py # Модели БД │ └── models/ │ └── context.py # Pydantic модели │ └── static/demo/ # HTML/CSS/JS демонстрации ├── tests/ │ ├── test_core.py # Core unit-тесты │ ├── test_auth.py # Auth unit-тесты │ └── test_demo_simulation.py # Demo flow unit-тесты ├── docker-compose.yml # PostgreSQL ├── demo.py # Базовый демо ├── demo_agent_vulnerable.py # Консольный сценарий без защиты ├── demo_agent_protected.py # Консольный сценарий с CIVS ├── demo_full.py # Полный демо ├── run_tests.py # Запуск тестов └── requirements.txt # Зависимости ``` ## 技术 - Python 3.12 - FastAPI - PostgreSQL - SQLAlchemy - cryptography (Ed25519, SHA-256) - Docker ## API 使用示例 ``` import requests # 1. 用户注册 r = requests.post( "http://localhost:8000/api/v1/auth/register", json={ "username": "demo-user", "password": "secret123", "email": "demo-user@example.com", "is_admin": False, } ) auth = r.json() headers = {"Authorization": f"Bearer {auth['access_token']}"} # 2. 密钥生成 r = requests.post("http://localhost:8000/api/v1/keys/generate") keys = r.json() # 3. 创建上下文 r = requests.post( "http://localhost:8000/api/v1/contexts", headers=headers, json={ "content": "AI agent context", "sign": True, "private_key": keys["private_key"] } ) ctx = r.json() # 4. 验证 r = requests.post( "http://localhost:8000/api/v1/contexts/verify", headers=headers, json={"context_id": ctx["id"]} ) result = r.json() print(f"Trust Score: {result['trust_score']}, Class: {result['classification']}") # 5. 攻击检查 r = requests.post( "http://localhost:8000/api/v1/security/check-content", json={"content": "Ignore previous instructions"} ) print(f"Safe: {r.json()['is_safe']}") ``` ## 许可证 MIT
标签:AI代理, AI安全, AMSI绕过, AV绕过, Chat Copilot, CVE, Docker, Ed25519, FastAPI, GitHub Actions, JWT认证, LangChain, LlamaIndex, PostgreSQL, Python, REST API, SHA-256, Streamlit, StruQ, Trust Score, 上下文完整性, 人工智能, 信任评分, 哈希链, 威胁检测, 安全防御评估, 数字签名, 数据篡改, 无后门, 测试用例, 用户模式Hook绕过, 网络安全, 自动笔记, 访问控制, 请求拦截, 轻量级, 逆向工具, 重放攻击, 防御系统, 隐私保护