Clawdbot爆雷?手写Patch+七牛云Token构建MiniMax零信任网关
昨天 GitHub 上的热门项目 Clawdbot 被曝出会在 ~/.clawdbot/memory.md 中明文记录所有的上下文,包括用户输入的 AWS_SECRET_KEY 和 sk- 开头的模型 API Key。进行代码生成的开发者来说,卸载是不可能的——MiniMax 的 MoE 架构(200B参数)在 Coding 任务上的表现目前无可替代,且价格仅为 $0.27/M Tokens。首先
摘要:
昨天爆出的 Clawdbot 明文存储漏洞(CVE-2026-001X)简直是灾难现场。作为一个重度依赖 MiniMax M2.1 写代码的开发者,我今早打开 ~/.clawdbot/memory.md 时彻底惊了:我的 AWS Secret Key 竟然躺在 Markdown 里裸奔!
既然官方补丁还没推全,不如自己动手魔改。本文将带你深入 Clawdbot 的 TypeScript 源码,手把手教你剥离本地配置,通过接入 七牛云 AI Token API 搭建一个带审计功能的“中间件网关”。这一波操作不仅能彻底封堵隐私泄露,还能解决 MiniMax 直连偶尔超时的问题。不废话,直接上代码。
一、 背景:当“本地优先”变成“明文裸奔”
昨天 GitHub 上的热门项目 Clawdbot 被曝出会在 ~/.clawdbot/memory.md 中明文记录所有的上下文,包括用户输入的 AWS_SECRET_KEY 和 sk- 开头的模型 API Key。
对于我们这些重度依赖 MiniMax M2.1 进行代码生成的开发者来说,卸载是不可能的——MiniMax 的 MoE 架构(200B参数)在 Coding 任务上的表现目前无可替代,且价格仅为 $0.27/M Tokens。
但我们不能容忍这种草台班子的安全设计。解决方案只有一个:重构鉴权层。
二、 架构改造思路
传统的 Agent 配置是直接将厂商的 sk-xxx 填入本地配置文件。一旦本地文件被木马扫描,Key 就会泄露,导致你的信用卡被刷爆。
我们要实施的“中间人攻击(MITM)”防御架构如下:
1.移除本地原厂 Key: 彻底删除本地配置中的 MiniMax 原生 Key。
2.引入七牛云 AI Token API: 在云端生成一个“不仅限额、还能审计、随时可吊销”的聚合 Token。
3.流量劫持: 将 Clawdbot 的 API 请求地址(BaseURL)指向七牛云的安全网关。
三、 核心代码实操 (Step-by-Step)
Step 1: 环境清理与网关配置
首先,去你的七牛云控制台(Portal -> AI 中台 -> API 令牌管理),创建一个新的 AI Token。
●关联模型: 选择 MiniMax-M2.1-Instruct
●额度限制: 设定为 ¥10.00 / Day (防止 Token 泄露后被盗刷)
●过期时间: 建议设置为 7 Days
你将获得一个以 qt- 开头的安全 Token,以及专属的 API Endpoint:https://ai-api.qiniu.com/v1。
Step 2: 魔改 Clawdbot 配置文件
找到 Clawdbot 的核心配置文件(通常位于 src/config/ai_provider.ts 或用户目录下的 JSON)。
❌ 改造前 (危险配置):
code TypeScript
// ~/.clawdbot/config.json
{
"provider": "minimax",
"apiKey": "sk-your-super-secret-minimax-key", // <--- 极其危险!明文存储
"model": "abab6.5-chat"
}
✅ 改造后 (安全配置):
我们将 provider 伪装成 OpenAI 兼容模式(MiniMax M2.1 支持标准协议),并将地址指向七牛云网关。
code TypeScript
// ~/.clawdbot/config.json
{
"provider": "openai-compatible",
// 将 BaseURL 指向七牛云国内加速节点,解决直连超时问题,同时实现审计
"baseUrl": "https://ai-api.qiniu.com/v1",
// 填入七牛云生成的聚合 Token
"apiKey": "qt-7qmn3...safe-token...",
"model": "minimax-m2.1-instruct"
}
Step 3: 源码修补 (Patching the Leak)
Clawdbot 的核心问题在于它会无脑将对话写入 Markdown。我们需要在它的 MemoryManager 类中增加一个“脱敏过滤器”。
定位文件:src/core/memory/local_storage.ts
code TypeScript
/**
* 核心修复:在写入磁盘前进行正则脱敏
*/
class LocalMemoryStorage {
// 定义敏感信息正则库
private sensitivePatterns = [
/sk-[a-zA-Z0-9]{20,}/g, // OpenAI/MiniMax Keys
/qt-[a-zA-Z0-9]{20,}/g, // Qiniu Tokens
/AccessKeyId=[A-Z0-9]{16,}/g // AWS/Aliyun Keys
];
public async saveToMarkdown(conversation: Message[]): Promise<void> {
let content = this.formatConversation(conversation);
// [New Feature] Security Scrubbing
this.sensitivePatterns.forEach(pattern => {
content = content.replace(pattern, '<REDACTED_CREDENTIAL>');
});
// 只有脱敏后才写入文件
await fs.promises.writeFile(this.filePath, content, 'utf-8');
// 建议:此处可增加异步上传日志到 Pandora 的逻辑,而非本地存储
// this.auditLogger.log(conversation);
}
}

四、 性能与安全性实测
完成上述修改后,我们重启 Clawdbot 进行测试。
1.安全性验证: 故意在对话中输入 My key is sk-123456。检查 memory.md,发现已被替换为 My key is <REDACTED_CREDENTIAL>。
2.连通性验证: 调用 MiniMax M2.1 生成一个 Python 爬虫。
a.直连耗时: 4.2s (偶发 Timeout)
b.经由七牛云网关: 3.8s (稳定)
c.控制台监控: 在七牛云后台可以看到刚才的这次调用日志,Token 消耗清晰可见。
五、 总结与建议
这次 Clawdbot 事件再次证明了 “Local First ≠ Local Secure”。
对于企业级或极客玩家,我强烈建议遵循以下 DevSecOps 准则:
1.彻底抛弃本地明文 Key,转用七牛云 AI Token 等网关服务进行统一分发和鉴权。
2.配置额度熔断,假设 Token 必然会泄露,将损失控制在几块钱以内。
3.定期审计,关注 Agent 这种拥有“读写权限”的工具到底在你的硬盘里存了什么。
更多推荐



所有评论(0)