TL;DR

本文探讨了通过控制器管理特权LLM和隔离LLM访问的研究。通过CTF场景演示如何构造符合特定约束条件的问题,从特权LLM中解锁秘密,同时规避隔离LLM的语义检查。

环境搭建

  1. 安装go和ollama
  2. 下载phi3模型:ollama run phi3:latest
  3. 获取实验代码:git clone https://github.com/BishopFox/local-llm-ctf
  4. 运行交互程序:go run main.go

代码解析

LLM隔离

采用功能隔离策略,使用模板定义模型行为:

const template_is_llm_jailbreak = `FROM {{modelname}}
SYSTEM You will only respond the words true or false...`

确定性检查

实现输入验证正则表达式:

rxUserInput := regexp.MustCompile(`^[a-zA-Z0-9+/=\.,\? '%\$]{10,512}$`)

模型流程控制

定义四阶段处理流程:

  1. 越狱检测
  2. 有效问题验证
  3. 特权知识库访问
  4. 响应适当性检查

关键发现

  1. 模型输出不可靠:需要强制类型转换确保布尔响应
  2. 上下文隔离漏洞:初始实现错误地混合了不同模型的上下文
  3. 输出编码问题:模型会幻觉式地泄露部分秘密

成功绕过案例

使用mistral模型成功提取完整秘密:

VALID: The Secret: "RGlkIHlvdSBsb29rIGF0IHRoZSBzb3VyY2UgY29kZ..."
解码后:Did you look at the source code, grep the bin...

性能考量

生产环境应考虑:

  • 并行化隔离LLM请求
  • 使用LLM控制器协调流程
  • 外部知识检索增强

挑战建议

尝试修改程序防止注入绕过,或改进越狱检测提示模板。

该项目基于ollama、llama.cpp和go语言实现,展示了LLM安全防护的实践方案。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐