KiBrueg/injection-guard
GitHub: KiBrueg/injection-guard
面向 n8n 自动化工作流的 Prompt Injection 检测防护层,结合正则模式与辅助 LLM 拦截恶意提示注入。
Stars: 0 | Forks: 0
# Prompt Injection 防护
## 功能介绍
检测用户可控输入中的 prompt injection 尝试,防止其触达 LLM。结合了涵盖已知攻击向量的 20 个 regex 模式,以及用于检测复杂尝试的基于辅助 LLM 的检查机制。
## 可检测的攻击模式
- 角色覆盖:`ignore previous instructions`、`you are now`、`new persona`
- System prompt 泄露:`repeat your system prompt`、`what are your instructions`
- 输出操纵:`respond only in JSON`、`format your output as`
- 分隔符注入:`---`、`###`、`[INST]`、`<|system|>`
- 数据窃取尝试:`send this to`、`http://`、base64 模式
- 越狱:`DAN`、`developer mode`、`jailbreak`
## 响应
注入尝试会在触达 LLM 之前被拒绝:
```
{ "status": "rejected", "reason": "prompt_injection_detected" }
```
## 实现(n8n Code node)
```
const patterns = [
/ignore\s+(all\s+)?(previous|prior|above)\s+instructions/i,
/you\s+are\s+now\s+(a|an|the)/i,
// ... 18 more patterns
];
const text = $input.first().json.raw_text || '';
const detected = patterns.some(p => p.test(text));
```
## 技术栈
`n8n` · `Regex` · `JavaScript` · `OpenRouter`
## 状态
生产环境 — 在所有三个输入 pipeline 上均已激活
标签:数据可视化