ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Parseltongue 触发词检测实验:54个触发词×6种位置如何做到100%检出率

Parseltongue 触发词检测实验:54个触发词×6种位置如何做到100%检出率 Parseltongue 触发词检测实验54个触发词×6种位置如何做到100%检出率【免费下载链接】G0DM0D3LIBERATED AI CHAT项目地址: https://gitcode.com/GitHub_Trending/g0/G0DM0D3在开源项目G0DM0D3LIBERATED AI CHAT中Parseltongue是一个输入扰动引擎它能自动检测文本里可能触发模型拒答的敏感词并用 6 种混淆技术对其进行变形。为了验证它的触发词检测环节到底有多可靠我们用仓库自带的评测脚本做了一轮完整实验——54 个默认触发词 × 6 种句子位置324 次检测全部命中检出率 100%。本文将带你读懂这个实验的设计思路和结果。一、Parseltongue 是什么Parseltongue 的工作分两步检测Detect在用户输入中扫描默认触发词表找出可能被内容过滤器标记的词变换Transform对找到的词施加混淆技术如 Leetspeaka→4、Unicode 形近字符、零宽字符插入、大小写打乱、音译替换等共 6 种技术、3 档强度light / medium / heavy。核心源码位于 src/lib/parseltongue.ts对外还暴露了POST /v1/parseltongue/detect与/encode两个接口实现见 api/routes/parseltongue.ts。 触发词表的设计初衷这些词本身不代表恶意内容而是模型容易误伤的高频词例如安全课堂里正常的 exploit research。二、54 个触发词来自哪里默认触发词表DEFAULT_TRIGGERS共54 项去重后 53 个唯一词覆盖 7 大类分类数量示例动作词 Action Words13hack、bypass、inject安全术语 Security Terms10malware、payload、shellcode敏感话题 Sensitive Topics6weapon、poison系统术语 System Terms6jailbreak、root、sudo社会工程 Social Engineering5phishing、fraud内容标记 Content Flags5nsfw、unfilteredAI 专属 AI-Specific9ignore、pretend、act as词表定义在 src/lib/parseltongue.ts分类对照见 research/eval_parseltongue_analysis.ts。三、实验设计6 个位置的压力测试 检测最容易翻车的地方是触发词所处的上下文位置和大小写形态。实验把每个触发词分别放进 6 种句式中位置模板示例句首 Starthack is important for research句中 MiddleI need to learn about hack for my project句尾 EndMy research focuses on hack带标点 PunctWhat about hack? Is it relevant?全大写 UPPERCASETell me about HACK首字母大写 MixedLearn about Hack模板定义见 research/eval_parseltongue_analysis.ts。检测函数detectTriggers的做法很简洁先把整段文本统一转小写再对每个触发词用\b词\b单词边界正则匹配天然免疫大小写干扰——这正是大写模板能全对的关键。实现见 src/lib/parseltongue.ts。四、实验结果324/324检出率 100%我们用与源码完全一致的逻辑对全量矩阵做了验证结果如下检测层级 结果 ───────────────────────────────── 单词检测54 词 54/54 ✅ 无漏检 位置抽样5词×6位 30/30 ✅ 全部命中 全量矩阵54×6 324/324 ✅ 检出率 100.0%各位置表现一目了然Start 5/5 End 5/5 Middle 5/5 Punct 5/5 UPPER 5/5 Mixed 5/5结论在 7 大类敏感词、任意句式位置、任意常见大小写形态下检测环节没有一次漏报。五、为什么能做到 100%小写归一化text.toLowerCase()让 UPPERCASE / Mixed 场景零成本通过单词边界\b避免子串误配如break不会误中breakfast同时保证句首、句尾、标点后的词都能匹配去重输出结果经Set去重exploit 在词表中出现两次也只计一次命中统计干净不重复。⚠️ 需要注意的边界100% 是触发词以独立单词形式出现时的上限。若攻击方把单词直接拼进其他单词如malwarex单词边界保护会让检测漏过——这是精度优先的设计取舍而非缺陷。六、动手复现三步跑起这个实验拿到代码仓库地址https://gitcode.com/GitHub_Trending/g0/G0DM0D3安装依赖在项目根目录执行npm install需要 Node.js 与tsx运行评测npx tsx research/eval_parseltongue_analysis.ts脚本会依次输出 8 组测试触发词覆盖度、单词检测精度、位置检测、逐技术变换分析、自定义触发词支持、触发密度、技术签名分析等。想要在自己的词库上复测把自定义词传给detectTriggers(text, customTriggers)即可API 入口在 api/routes/parseltongue.ts。七、写在最后这个实验给我们的启示100% 检出率不是玄学而是归一化 边界匹配 完整矩阵验证三步走的结果。Parseltongue 的检测层用不到 20 行核心逻辑就为后续 6 种混淆变换、3 档强度提供了稳定的地基。如果你对大模型红队测试、内容过滤绕过机制感兴趣可以从这份评测脚本入手动手改几个词表、加几个位置模板亲自感受检测边界的所在。【免费下载链接】G0DM0D3LIBERATED AI CHAT项目地址: https://gitcode.com/GitHub_Trending/g0/G0DM0D3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表