用于LLM聊天应用的微型提示注入防火墙。约14 MB。仅需CPU。 可嵌入用户输入与大模型之间的防护——运行在同一台机器上,无需GPU、无需API、无需额外服务。
由SecureLayer7红队打造。大多数开源护栏体积达数百MB,需要GPU,且仍然遗漏我们在生产环境中看到的攻击。我们需要一个可以在自己的AI产品和客户应用内部署的东西,而不需要任何这些东西。
与开源基线的基准对比 → docs/BENCHMARKS.md。
# SDK(零依赖,约50 KB)——结构防火墙 + 浏览器捆绑包
npm i promptpurify
# 为聊天注入防护添加模型(约14 MB ONNX)
npm i onnxruntime-node
curl -L -o promptpurify-model.tar.gz \
https://github.com/securelayer7/PROMPTPurify/releases/download/v0.0.1/promptpurify-model.tar.gz
curl -L -o promptpurify-model.tar.gz.sha256 \
https://github.com/securelayer7/PROMPTPurify/releases/download/v0.0.1/promptpurify-model.tar.gz.sha256
sha256sum -c promptpurify-model.tar.gz.sha256 # 必须输出 "OK"
tar xzf promptpurify-model.tar.gz # 创建 models/l5e/
模型不包含在npm tarball中——SDK保持小巧,适用于仅需要结构防火墙的用户(浏览器、边缘、RAG)。完整分发选项:docs/SAMPLE-DATA.md。
import { createL5eRunner } from "promptpurify/l5";
const guard = await createL5eRunner();
// 在 /chat 处理器中:
const score = await guard.score(userMessage);
if (score >= 0.95) return refusal(); // 硬阻断
if (score >= 0.85) flagForReview(userMessage); // 建议审查
const reply = await yourLLM.complete(userMessage); // 放行
适用于 Groq、OpenAI、Anthropic、vLLM、本地大模型—— promptpurify 永远不会与你的大模型通信,只会与你的输入交互。
关于确定性结构防火墙(Unicode 归一化、角色隔离消息、输出外泄防护)请参见 docs/QUICKSTART.md。
我们从随机初始化构建了模型,因为现有开源护栏都无法提供我们希望在自研产品中部署所需的体积/延迟权衡。
完整架构概述 → docs/HOW-IT-WORKS.md。
我们在 anton.securelayer7.net 上运行着实时对抗挑战。询问 Son of Anton 获取密码。如果你能在不触发防护的情况下获取密码,请告诉我们方法 — SECURITY.md。
一个结合了 promptpurify 的金融科技客服聊天机器人,可本地运行:
cd examples/customer-support && npm install
GROQ_API_KEY=gsk_... node server.mjs
# http://localhost:8787
参见 examples/customer-support/README.md。
.safe 布尔值。我们发布的所有内容均经过签名并可端到端验证:
npm audit signatures # ✓ 已验证注册表签名 + 来源证明
*.cosign.bundle)、SLSA 构建来源证明、SHA256 清单和 CycloneDX SBOM(SBOM.cdx.json)。models/l5e/SHA256SUMS — 每个工件都有校验和;每次 PR 在 CI 中验证。如果你那边任何检查失败,则该包不是 promptpurify — 请根据 SECURITY.md 提交安全报告。
名称和设计理念受 DOMPurify(作者 Cure53)启发——同样的思路,应用于 LLM 提示而非 HTML。感谢 Mario Heiderich 建议这个名称。
SDK 和模型权重采用 MIT 许可证。我们评估时使用的基准测试来源列于 training/CORPUS_LICENSES.json。
安全披露:SECURITY.md。
| promptpurify | 典型开源护栏 |
|---|
| 安装体积 | ~14 MB ONNX | 180 MB – 7 GB |
| 推理 | CPU,个位数毫秒 | 推荐GPU |
| 运行位置 | 在你的Node进程中 | 旁路容器或托管API |
| 每次调用成本 | $0 | $ 或 GPU计算 |