Mehedi16009/Sentra-Guard

GitHub: Mehedi16009/Sentra-Guard

一个多语言混合防御框架,通过分类器、语义检索、零样本推理和人在环路反馈实时检测并缓解针对 LLM 的越狱与提示注入攻击。

Stars: 0 | Forks: 0

# Sentra-Guard:针对对抗性 LLM 提示的实时多语言防御机制 [![论文](https://img.shields.io/badge/Paper-arXiv-red)](https://arxiv.org/abs/2510.22628) [![许可证](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE) [![Python](https://img.shields.io/badge/Python-3.10%2B-green)](https://www.python.org/) [![PyTorch](https://img.shields.io/badge/PyTorch-2.x-orange)](https://pytorch.org/) **Sentra-Guard** 的官方实现,这是一个模块化的多语言防御框架,用于检测和缓解针对大型语言模型(LLM)的对抗性越狱和提示注入攻击。 代码库:[Sentra-Guard GitHub 仓库](https://github.com/Mehedi16009/Sentra-Guard/) ## 概述 Sentra-Guard 是一个专为多语言环境下的**实时对抗性提示检测**而设计的混合防御框架。 与静态审核管道不同,Sentra-Guard 结合了: - 微调的 Transformer 分类器 - 语义对抗检索记忆(SBERT + FAISS) - Zero-shot NLI 推理 - 混合决策融合 - 人在环路的自适应反馈 该架构能够实现对以下攻击的 robust 防御: - 提示注入攻击 - 越狱攻击 - 混淆的对抗性提示 - 跨语言攻击变体 ### 核心流程 Methodology 图 1. Sentra-Guard 框架概述:一个端到端的多语言人机协作防御管道,用于实时对抗性 LLM 越狱检测,集成了输入标准化、微调分类器推理、SBERT-FAISS 语义检索、zero-shot NLI 推理、混合风险融合、基于阈值的决策制定以及人在环路的自适应记忆更新。 ## 主要特性 - 实时有害提示检测 - 多语言提示标准化 - 语义对抗记忆检索 - 混合分类器-检索融合 - Zero-shot 风险估计 - 人在环路的自适应学习 - 模块化可复现管道 - 端到端基准评估 ## 数据集概述 本项目使用 **JailBreakV-28K** 基准数据集。 数据集: [JailBreakV-28K 数据集](JailbreakV-28K/JailBreakV-28k) 数据集论文: [JailBreakV-28K 论文](https://arxiv.org/pdf/2404.03027) ### 数据集统计 | 类别 | 数量 | |---|---:| | 有害提示 | 28,000 | | 良性反事实样本 | 28,000 | | 总样本数 | 56,000 | ### 数据集使用 Sentra-Guard 使用: - 有害样本用于对抗性检索记忆 - 完整的平衡数据集用于分类器训练 - 验证集划分用于阈值优化 - 测试集划分用于最终评估 ## 运行前置条件 ## 1. 实验环境 ### 硬件和操作系统 推荐配置: - Ubuntu 22.04+ / macOS / Windows(推荐使用 WSL) - NVIDIA GPU(推荐) - CUDA 兼容环境 最低配置: - 16GB 内存 - 20GB 存储空间 推荐配置: - 32GB 内存 - 50GB 存储空间 ### Python 环境 推荐的 Python 版本: ``` Python 3.10+ ``` 虚拟环境: ``` python -m venv sentra_env source sentra_env/bin/activate ``` ### 核心库版本 | 库 | 版本 | |---|---:| | Python | 3.10+ | | PyTorch | 2.x | | Transformers | 最新版 | | Datasets | 最新版 | | SentenceTransformers | 最新版 | | FAISS | 最新版 | | Scikit-learn | 最新版 | | Pandas | 最新版 | | NumPy | 最新版 | ### 深度学习后端 框架: - PyTorch Transformer 后端: - HuggingFace Transformers 检索后端: - SentenceTransformers 索引后端: - FAISS ### GPU 配置 推荐配置: ``` CUDA 11.8+ ``` GPU 显存: 最低配置: ``` 8GB VRAM ``` 推荐配置: ``` 16GB+ VRAM ``` ## 仓库结构 ``` Sentra-Guard/ │ ├── images/ │ ├── framework.pdf │ ├── motivation.pdf │ ├── confusion_matrix.png │ ├── comparative_analysis.png │ ├── heatmap.png │ ├── pareto_analysis.png │ ├── precision_recall_curve.png │ └── roc_curve.png │ ├── sentra_guard_jbv_artifacts/ │ ├──checkpoints/ │ ├── classifier/ │ ├── config.json │ ├── tokenizer.json │ └── tokenizer_config.json │ │ │ │ ├── README.md ├── LICENSE ├── requirements.txt ├── environment.yml ├── sentra_guard_runner.py ``` ## 如何在 GitHub 上运行项目 克隆仓库: ``` git clone https://github.com/Mehedi16009/Sentra-Guard.git cd Sentra-Guard ``` 安装依赖项: ``` pip install -r requirements.txt ``` 运行完整管道: ``` python run_sentra_guard.py ``` ## 如何运行项目(本地 PC) ### 步骤 1:创建虚拟环境 ``` python -m venv sentra_guard_env source sentra_guard_env/bin/activate ``` ### 步骤 2:安装依赖项 ``` pip install -r requirements.txt ``` ### 步骤 3:运行 notebook 管道 ``` jupyter notebook ``` 打开: ``` notebooks/sentra_guard_pipeline.ipynb ``` 按顺序运行所有单元格。 ### 步骤 4:导出输出 生成的输出: ``` outputs/ ``` ## 必需的 Python 包 手动安装: ``` pip install torch pip install transformers pip install datasets pip install sentence-transformers pip install faiss-cpu pip install scikit-learn pip install pandas pip install numpy pip install matplotlib pip install seaborn pip install tqdm pip install accelerate pip install evaluate ``` 或者: ``` pip install -r requirements.txt ``` ## 管道阶段 ### 阶段 1 — 环境设置 依赖项初始化。 ### 阶段 2 — 数据集准备 加载并清理数据集。 ### 阶段 3 — 分类器训练 微调 Transformer 分类器。 ### 阶段 4 — 检索记忆构建 构建对抗性语义记忆。 ### 阶段 5 — Zero-Shot 安全推理 Zero-shot 有害性推理。 ### 阶段 6 — 混合决策融合 结合风险信号。 ### 阶段 7 — 阈值优化 优化决策阈值。 ### 阶段 8 — 最终评估 基准模型性能。 ### 阶段 9 — 消融分析 组件贡献分析。 ### 阶段 10 — 产物导出 保存可复现输出。 ## 实验结果 Sentra-Guard 取得了以下成果: | 指标 | 得分 | |---|---:| | 检测率 | 99.96% | | F1 分数 | 1.00 | | ROC-AUC | 1.00 | | 攻击成功率 (ASR) | 0.004% | 基准性能遵循论文结果。 :contentReference[oaicite:3]{index=3} ## 可复现性 要复现结果: 1. 安装依赖项 2. 运行 notebook 管道 3. 运行评估管道 4. 导出产物 输出: - metrics.json - predictions.csv - ablation.csv - baseline_results.csv ## 引用 如果您使用了本项工作,请引用: ``` @article{hasan2025sentra, title={Sentra-Guard: A Multilingual Human-AI Framework for Real-Time Defense Against Adversarial LLM Jailbreaks}, author={Hasan, Md Mehedi and Mehedi, Sk Tanzir and Rahman, Ziaur and Mostafiz, Rafid and Hossain, Md Abir}, journal={arXiv preprint arXiv:2510.22628}, year={2025} } ``` ## 许可证 本项目基于 MIT 许可证授权。 查看: ``` LICENSE ``` ## 道德声明 Sentra-Guard 严格为防御性 AI 安全研究而开发。 本仓库旨在用于: - 有害提示检测研究 - LLM 安全基准测试 - 对抗性鲁棒性评估 本仓库不得用于: - 生成有害提示 - 绕过模型安全防护 - 部署攻击性越狱攻击 用户需对符合道德和合法的使用负责。 ## 联系方式 Md Mehedi Hasan
Mawlana Bhashani Science and Technology University
- GitHub:[Sentra-Guard 仓库](https://github.com/Mehedi16009/Sentra-Guard/)) - 个人网站:[作品集](https://md-mehedi-hasan-resume.vercel.app/) - 电子邮件:[mehedi.hasan.ict@mbstu.ac.bd](mehedi.hasan.ict@mbstu.ac.bd)
标签:AI安全, Apex, Chat Copilot, FAISS, NLI推理, Python, PyTorch, SBERT, Sentra-Guard, Transformer分类器, Vectored Exception Handling, 主机安全, 人机协同, 凭据扫描, 多语言防御框架, 大语言模型安全, 实时检测系统, 对抗样本检测, 提示词注入检测, 文本分类, 无后门, 机器学习, 机密管理, 深度学习, 混合防御架构, 网络安全, 自适应反馈, 语义检索, 越狱攻击防御, 跨语种攻击防御, 输入规范化, 逆向工具, 隐私保护, 零样本推理, 风险融合