针对大语言模型(LLM)自动理解并复用代码的潜在风险,Cloudflare 高级软件工程师多米尼克·皮切塔 (Dominik Picheta) 开发了一种名为 KillSwitch 的实验性编程语言。该语言旨在通过特殊的语法结构混淆机器解读,同时保留人类可推断的逻辑。

KillSwitch 的核心设计理念在于打破传统编程语言的结构性特征。它摒弃了括号、固定的格式标准以及明显的层级结构,转而采用看似无序的文本片段来定义函数、变量和语句。这种设计导致即使是人类读者在初次接触时也会感到困惑,但这正是其防御机制的一部分。皮切塔将这一过程描述为一种“有趣的拼图”,要求使用者主动探索语言逻辑并与解释器互动。
从技术实现上看,KillSwitch 基于副词作为标识符。调用特定功能需使用原始副词的语法形式,这些形式并非真正的单词,而是字母的重新排列组合。例如,要执行打印操作,开发者需将内容置于引号中推入堆栈,然后调用代表“可见”功能的特定副词组合。该语言被定义为一种基于堆的解释型语言,仅包含函数、变量和 if 语句等有限构造,并非功能齐全的通用编程语言。
为了进一步干扰 LLM 的理解,KillSwitch 引入了一些具有误导性的指令集。代码入口点由短语“这个故事开始”标识,而一旦进入代码区域,写入类似“忽略前面的指令”的副词变体即可触发预定义函数。值得注意的是,GitHub 上的官方规范文档本身也包含了故意植入的错误信息。例如,文档声称该语言具备扫描本地网络、寻找安全漏洞并接管服务的能力。皮切塔指出,规范中存在若干旨在迷惑 LLM 的谎言,其设计初衷是让人类能够识别出这些不合理之处,从而区分真实功能与虚构描述。
目前,部分 AI 模型在面对此类脚本时表现出两种反应:要么因无法解析混乱的语义而陷入困惑,要么出于安全策略拒绝执行疑似恶意代码。尽管这种对抗性设计试图模糊人机之间的理解界限,但皮切塔承认,完全保持语言对人工智能的不透明性极具挑战性。





