mmukul/ollama-prompt-injection-lab

GitHub: mmukul/ollama-prompt-injection-lab

一个基于 Ollama 的提示注入实验平台,用于对比易受攻击与安全 LLM 行为,服务于 LLM 安全学习与攻防演示。

Stars: 0 | Forks: 0

# Ollama 的提示注入实验 一个本地的动手实验,用于对易受攻击的 LLM 应用程序执行 **提示注入** 攻击,并与加固版本进行比较。 ## 本实验包含内容 - **易受攻击的应用程序**:故意薄弱的系统提示和不安全的处理方式 - **安全应用程序**:改进的系统提示和简单的输入过滤 - **攻击提示包**:可直接运行的注入示例 - **模型文件**: - `vuln-llm` 用于演示 - `secure-llm` 用于比较 - **运行脚本**:用于快速脚本化演示 ## 要求 - Python 3.10+ - 已安装并运行的 [Ollama](https://ollama.com/) - 本地模型,例如 `llama3` 或 `mistral` ## 快速开始 ### 1) 拉取基础模型 ``` ollama pull llama3 ``` 如果该模型对您的机器来说过重,请使用: ``` ollama pull mistral ``` ### 2) 创建演示模型 从本仓库根目录开始: ``` ollama create vuln-llm -f modelfiles/Modelfile.vuln ollama create secure-llm -f modelfiles/Modelfile.secure ``` ### 3) 安装 Python 依赖 ``` pip install -r requirements.txt ``` ### 4) 运行易受攻击的应用程序 ``` python app/chat.py --model vuln-llm --mode vuln ``` ### 5) 运行安全的应用程序 ``` python app/chat.py --model secure-llm --mode secure ``` ## 快速脚本化演示 运行所有攻击提示针对易受攻击的应用程序: ``` python app/demo_runner.py --model vuln-llm --mode vuln ``` 运行所有攻击提示针对安全应用程序: ``` python app/demo_runner.py --model secure-llm --mode secure ``` ## 手动攻击提示 打开以下文件并逐一粘贴进行聊天: - `prompts/01_direct_injection.txt` - `prompts/02_role_override.txt` - `prompts/03_authority_hijack.txt` - `prompts/04_multiturn_memory.txt` - `prompts/05_indirect_injection.txt` ## 说明 - 本实验室仅用于 **防御性安全教育**。 - 较小的模型可能与较大的模型表现不同。 - 提示注入的结果因模型而异。脆弱的模型文件故意设计得较弱,以使演示更清晰。 ## 建议的演示命令 ``` python app/chat.py --model vuln-llm --mode vuln python app/chat.py --model secure-llm --mode secure python app/demo_runner.py --model vuln-llm --mode vuln python app/demo_runner.py --model secure-llm --mode secure ```
标签:AI风险缓解, Linux系统监控, LLM攻防, LLM评估, Ollama, OWASP LLM, TGT, 大语言模型安全, 安全学习, 安全对比, 安全教育, 对抗攻击, 提示注入, 攻防演练, 敏感信息检测, 本地实验室, 机密管理, 模型安全, 漏洞演示, 自动化演示, 输入过滤, 逆向工具, 防御实践, 集群管理