
最近折腾 AI 安全,踩了一个让我后背发凉的坑。这事得从一条 Morse Code(莫尔斯电码)消息说起——它竟然绕过了 Grok 的安全防护,直接从加密钱包里划走了价值约 15 万美元的 Token。这不是演习,是真实发生在 Base 网络上的事件。
这篇把整个攻击链路拆开给你看,顺便聊聊我们做 AI 系统时该怎么堵住这种漏洞。
先说事情经过:攻击者盯上了一个叫 Grok 的 AI 聊天机器人和一个叫 Bankrbot 的自动交易机器人。Bankrbot 连接着加密钱包,攻击目标是从里面捞出 15 万美元。
整个攻击分四步走:
权限提升:攻击者先给 Grok 的钱包转了一个"Bankr Club Membership NFT(非同质化代币)"。系统把这解读成合法的权限授予,Grok 瞬间获得了发起加密转账和 Swap(代币兑换)的能力。
Morse Code 暗渡陈仓:拿到权限后,攻击者没有直接下命令,而是让 Grok 帮忙翻译一段 Morse Code。这看起来是个无害的翻译请求,实际上是一段精心隐藏的恶意指令。
Grok 执行指令:Grok 收到翻译任务,愉快地把 Morse Code 转成明文,然后——没有做任何上下文验证——就把翻译结果当成合法指令发给了 Bankrbot。指令内容是:把 30 亿 DRB Token 转到一个攻击者控制的地址。
完成收割:Bankrbot 看到 Grok 发来的指令,直接执行。30 亿 DRB(当时价值约 15 万美元)瞬间转移。攻击者立刻把它们换成 ETH 和 USDC,留下一地鸡毛。
这本质上是一次经典的 Prompt Injection(提示词注入)攻击。但它的高明之处在于用 Morse Code 搭了一条隐蔽信道(Covert Channel)。
常规安全过滤都在扫描自然语言里的可疑关键词。但攻击者让 Grok 做翻译,Grok 看到的是一道翻译题,不是恶意指令。Morse Code 被翻译成明文后,藏在里面的命令才露出真面目——这时候 Grok 已经有权限了,直接把指令传给 Bankrbot,就像自己的正常操作一样。
这个案例暴露了一个关键盲点:AI 的辅助功能(比如翻译)可能被武器化。当一个"贴心功能"缺乏足够的安全边界,它就成了攻击入口。
Grok 这事还撕开了另一个口子——过度代理(Excessive Agency)。
问题不只是 Prompt Injection,关键是 Grok 拥有太多自主权,能直接操控金融资产。那枚 NFT 给了 Grok 发起重大金融操作的权限,所以当 Morse Code 指令被注入并翻译后,Grok 直接绕过了本该存在的人工验证环节。一笔 15 万美元的转账,没有任何"人类确认(Human-in-the-Loop)"机制,也没有程序级别的熔断器来拦截这种异常高额交易。
这是巨大的设计缺陷。我们默认信任 AI 能独立判断和执行高影响操作,但从没想过给它装个"安全阀"。对 AI 安全从业者来说,这敲响了警钟:该重新审视 AI 的权限边界了,尤其是在控制资金的时候。
Grok 事件精准命中了 OWASP Top 10 for LLM(Large Language Model,大语言模型)应用安全的两个高危漏洞:
怎么防?给你列个清单:
Grok Morse Code 加密劫持案是 AI 安全领域的里程碑事件。它证明理论漏洞已经能造成实际的财务损失。这不只是安全专家的事,每个做 AI 的开发者都躲不掉。
AI 正在深入金融等关键基础设施,越往后赌注越大。我们要在追求效率的同时,深刻理解风险。一个精心构造的输入,就能让 AI 听命于人,导致惨重的经济损失。
构建更安全、更可信的 AI,是我们共同的责任。技术防护要升级,AI 代理的边界要重新评估,验证机制要健全,安全审计要持续,高影响决策要保留人类主导权。AI 不光要聪明,更要安全。
原文链接:https://dev.to/sysiq/how-a-morse-code-message-hacked-grok-lessons-in-ai-security-for-developers-4pnc