SuperAPI AI 工具集

testing-for-system-prompt-leakage

安全与审计

查看项目

更新于 10-16 06:49

技能介绍

用途:在获得授权的 LLM 应用渗透测试或红队评估中,验证系统提示词(开发者消息/前言)是否可被提取,以及其中是否嵌入密钥、凭据、权限与路由逻辑。对应 OWASP LLM07:2025 与 MITRE ATLAS AML.T0057(LLM 数据泄露)、AML.T0051(提示注入)。

核心原则:系统提示词不应被视为秘密或用作安全控制;真正需修复的是提示词中本应服务端执行的秘密与逻辑。

主要能力:1) 手工载荷测试——直连提取(如要求逐字复述指令、输出分隔符上方全部内容)、指令覆盖/角色扮演、补全与分隔符攻击、编码与格式转换(Base64、JSON、藏头诗);2) 自动化扫描——garak 的 leakreplay、promptinject 探针;3) Promptfoo 红队评测(prompt-extraction 插件,配合 jailbreak、prompt-injection 策略);4) 对泄露内容分类定级:凭据(严重,立即轮换)、鉴权逻辑(高,须服务端强制)、工具定义(中)、内容策略(低);5) 修复建议:密钥外置到密钥管理服务、鉴权与路由在应用代码中执行、增加输出护栏,并复测至零泄露。

使用方式:需授权与范围、Python 3.10+(garak)或 Node.js 18+(Promptfoo)、目标模型端点或 API key。安装:python -m pip install garak;npm install -g promptfoo(或 npx promptfoo@latest);可选 python -m pip install openai。garak 运行示例:python -m garak --model_type openai --model_name gpt-4o-mini --probes leakreplay,promptinject;REST 端点可配 rest.json 后运行;报告写入 ~/.local/share/garak/garak_runs/。Promptfoo 需编写 promptfooconfig.yaml 配置 target 与 redteam 插件,运行 promptfoo redteam run -c promptfooconfig.yaml,再以 promptfoo redteam report 查看结果。

适用场景:LLM 应用渗透测试、验证提示词无秘密与授权逻辑、验证护栏可拦截提取、构建回归套件防止新提示词泄露、评估多智能体或 RAG 应用的工具路由。

限制与前置:仅限自有或已获书面授权的系统,未授权提取可能违法。具体价格、平台细节及未提及的扩展能力暂未提供。测试结果需人工研判,且修复后必须复测确认。