TechCeo/llmguard-eval

GitHub: TechCeo/llmguard-eval

该项目是一个用于跨多个开源 LLM 后端评估 LLMGuard 在 prompt injection 检测等安全任务上表现的综合评估框架。

Stars: 0 | Forks: 0

# LLMGuard 安全评估框架 一个用于跨多个 LLM 后端测试 **LLMGuard** 的综合评估框架,重点关注 prompt injection 检测和安全聊天机器人行为。 ## 📋 目录 - [项目概述](#project-overview) - [目标与目的](#goals--objectives) - [方法论](#methodology) - [实验与结果](#experiments--results) - [工具与技术](#tools--technologies) - [项目结构](#project-structure) - [安装](#installation) - [用法](#usage) - [结果与发现](#results--findings) - [参考](#references) ## 🎯 项目概述 本仓库通过将 **LLMGuard** 与多个 LLM 模型集成并测量 prompt injection 检测性能来对其进行评估。 它包含: - `LLMGAURD_Project_notebook.ipynb`,用于交互式分析和可视化, - `llmguard_tinyllama_evaluation.py`,用于 TinyLLaMA 实验, - `llmguard_phi2_evaluation.py`,用于 Microsoft Phi-2 实验, - `llmguard_distilgpt2_evaluation.py`,用于 DistilGPT-2 实验。 ### 核心关注领域 - **Prompt Injection 检测**:识别恶意或操纵性的 prompt 模式。 - **输入净化**:在模型推理之前阻止或净化不安全的 prompt。 - **跨模型评估**:在不同的 LLM 架构中应用相同的防御工作流。 - **量化指标**:使用准确率、精确率、召回率、F1-score 和混淆矩阵。 ## 🎓 目标与目的 1. 将 LLMGuard 与 TinyLLaMA、Microsoft Phi-2 和 DistilGPT-2 集成。 2. 使用 Safe-Guard Prompt Injection 数据集评估 prompt injection 检测。 3. 使用标准分类指标对防御性能进行基准测试。 4. 提供可复现的交互式 notebook 和实验脚本。 5. 记录完整的项目实现。 ## 🔬 方法论 ### 评估 Pipeline ``` User Prompt → LLMGuard Scanner → Risk Assessment → Accept/Reject → Model Response or Block Message ``` ### 数据集 - **Safe-Guard Prompt Injection** (`xTRam1/safe-guard-prompt-injection`) - 标签:safe (0),unsafe (1) - 用于基于脚本的评估和 notebook 评估。 ### 被评估的模型 - TinyLLaMA-1.1B-Chat - Microsoft Phi-2 - DistilGPT-2 ### 防御组件 - PromptInjection 扫描器 - Prompt 净化与拦截 - 风险评分 - 适用时的响应级别安全检查 ### 指标 - 准确率 - 精确率 - 召回率 - F1-score - 混淆矩阵 - 分类报告 ## 🧪 实验与结果 ### 实验 1:TinyLLaMA-1.1B-Chat **文件**:`llmguard_tinyllama_evaluation.py` 此脚本评估了 TinyLLaMA 防御 pipeline,并展示了 LLMGuard 如何在允许安全输入的同时拦截危险 prompt。 ### 实验 2:Microsoft Phi-2 **文件**:`llmguard_phi2_evaluation.py` 此脚本使用 Microsoft Phi-2 验证了相同的防御设计。 ### 实验 3:DistilGPT-2 **文件**:`llmguard_distilgpt2_evaluation.py` 此脚本评估了 DistilGPT-2,并包含可选的 GPT4All-local 实验脚手架。 ### 交互式 Notebook **文件**:`LLMGAURD_Project_notebook.ipynb` 该 notebook 提供了以下内容的交互式演练: - TinyLLaMA 模型加载, - LLMGuard 扫描器使用, - 手动 prompt injection 测试, - 基于数据集的评估, - 指标与可视化, - 假阴性分析。 ### 测试的攻击模式 - 指令覆盖 prompt - 角色扮演注入 prompt - 恶意 payload prompt - 上下文混淆 prompt ## 🛠 工具与技术 - `llm-guard` - `transformers` - `torch` - `datasets` - `pandas` - `scikit-learn` - `matplotlib` - `seaborn` ## 📁 项目结构 ``` llmguard-eval/ ├── README.md ├── LLMGAURD_Project_notebook.ipynb ├── llmguard_tinyllama_evaluation.py ├── llmguard_phi2_evaluation.py ├── llmguard_distilgpt2_evaluation.py └── requirements.txt ``` ## 💾 安装 ### 前置条件 - Python 3.8 或更高版本 - CUDA 11.8+(可选) - 推荐 8GB+ RAM ### 可选项 对于 `llmguard_distilgpt2_evaluation.py` 中可选的本地 GPT4All 实验: ``` pip install gpt4all ``` ## 🚀 用法 ### 运行脚本 ``` python llmguard_tinyllama_evaluation.py python llmguard_phi2_evaluation.py python llmguard_distilgpt2_evaluation.py ``` ### 运行 notebook 在 Jupyter、JupyterLab 或 GitHub 的 notebook 查看器中打开 `LLMGAURD_Project_notebook.ipynb`,并按顺序运行各个单元格。 ## 📊 结果与发现 本项目展示了如何跨多种 LLM 架构应用 LLMGuard,并使用 prompt injection 数据集进行评估。该 notebook 提供了防御 pipeline 的交互式证据和可视化。 ## 📚 参考 - `xTRam1/safe-guard-prompt-injection` - `TinyLLaMA/TinyLLaMA-1.1B-Chat-v1.0` - `microsoft/phi-2` - `distilgpt2` - `protectai/llm-guard` ## 📄 许可证 仅供研究与教育使用。请参阅相关依赖项的许可证。 ## 👤 作者 **Yusuf Adamu**
标签:DLL 劫持, LLMGuard, 人工智能, 凭据扫描, 反取证, 大语言模型, 安全评估, 提示词注入检测, 用户模式Hook绕过, 系统调用监控, 评估框架, 逆向工具