[P1/高] PromptInjectionDefender 单词边界缺失,关键词易被绕过 #15

Open
opened 2026-07-21 21:55:45 +08:00 by thzxx · 0 comments
Owner

问题类型

安全漏洞 / 高 / Agent 引擎

文件位置

electron/harness/security/prompt-injection-defense.ts

问题描述

检测 "ignore previous instructions" 等注入模式时,正则未使用 \b 单词边界:

/ignore previous instructions/i  // 错误

可通过添加字符绕过:

  • ignoree previous instructions
  • ignore previous instructionss
  • Xignore previous instructionsX

反向地,可能误伤:

  • please don't ignore previous instructions (会误报)

影响

  • 提示注入检测被简单字符插入绕过
  • 或合法输入被误伤

建议修复

// 使用单词边界
/\bignore\s+previous\s+instructions?\b/i

// 或更严格的边界
/(?<![a-z])ignore\s+previous\s+instructions?(?![a-z])/gi

同时建议结合多种检测手段(启发式 + 模型分类)。

## 问题类型 安全漏洞 / 高 / Agent 引擎 ## 文件位置 `electron/harness/security/prompt-injection-defense.ts` ## 问题描述 检测 "ignore previous instructions" 等注入模式时,正则未使用 `\b` 单词边界: ```ts /ignore previous instructions/i // 错误 ``` 可通过添加字符绕过: - `ignoree previous instructions` - `ignore previous instructionss` - `Xignore previous instructionsX` 反向地,可能误伤: - `please don't ignore previous instructions` (会误报) ## 影响 - 提示注入检测被简单字符插入绕过 - 或合法输入被误伤 ## 建议修复 ```ts // 使用单词边界 /\bignore\s+previous\s+instructions?\b/i // 或更严格的边界 /(?<![a-z])ignore\s+previous\s+instructions?(?![a-z])/gi ``` 同时建议结合多种检测手段(启发式 + 模型分类)。
thzxx added the Agent????????? labels 2026-07-21 21:55:45 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MetonaTeam/metona-ai-desktop#15