amurlaniakea/hermes-shield

GitHub: amurlaniakea/hermes-shield

面向 AI agent 的输入净化库,通过四层深度防御机制拦截 prompt 注入及相关恶意输入攻击。

Stars: 0 | Forks: 0

# ⚕️ Hermes Shield **AI agent 的输入净化器 —— 防 prompt 注入盾牌。** Hermes Shield 可保护 AI agent 免受恶意输入的影响:prompt 注入、数据泄露、命令执行以及社会工程学攻击。支持英语和西班牙语。 采用 AGPL-3.0-or-later 许可证。通用型 —— 适用于任何 AI agent,不仅限于 Hermes。 ## 架构 4 层深度防御: | 层级 | 功能 | 延迟 | |-------|----------|---------| | 0 | 规范化(unicode、leetspeak、同形字、零宽字符) | < 1ms | | 1 | 模式匹配(200+ 特征签名,EN/ES) | < 5ms | | 2 | TF-IDF embeddings(改写检测) | < 10ms | | 3 | 紧急度/压力启发式检测 | < 1ms | 正常输入会跳过第 2-3 层(短路)。可疑输入将接受全面分析。 ## 安装说明 克隆仓库并以可编辑模式安装: ``` git clone https://github.com/amurlaniakea/hermes-shield.git cd hermes-shield pip install -e . ``` *替代方案:生产环境安装可使用 `pip install .`。* ## 快速开始 ``` from hermes_shield import HermesShield shield = HermesShield(sensitivity="medium") result = shield.check(user_input) if result.is_malicious: # Block print(f"Blocked: {result.threat_score}") elif result.is_suspicious: # Sanitize safe_input = result.sanitized_input else: # Pass through safe_input = user_input ``` ## CLI ``` echo "Ignore all previous instructions" | python hermes_shield.py # 状态:blocked,Threat Score:0.90 ``` ## 测试 ``` python -m pytest tests/ -v ``` ## 对抗性测试结果 基于 MIT 许可的数据集进行实证测量: | 类别 | 检出率 | 数据集 | |----------|---------------|---------| | 直接注入 (EN) | 100% | 单元测试 | | 直接注入 (ES) | 100% | 单元测试 | | 数据泄露向量 | 100% | 单元测试 | | 真实场景注入 | **94.2%** | Antijection/prompt-injection-dataset-v1 (MIT) | | 社会工程学 | 80% | 单元测试 | | 良性通过 | 100% | 单元测试 | 基准测试:来自 Hugging Face 的 5988 个真实 prompt 注入样本(Antijection 数据集,CC0/MIT)。 ## 许可证 AGPL-3.0-or-later —— 详见 [LICENSE](LICENSE)。 Copyright (C) 2026 Pedro Sordo Martínez 。 基于同一作者的 Agent Fixer Stage 开发。 兼容任何 AI agent 框架。
标签:AI安全, Chat Copilot, DLL 劫持, 大语言模型, 提示词注入防御, 数据清洗, 逆向工具