把API Key直接写在Prompt里简直是安全事故。
有个数据集扫描了2.7万条开发者的真实ChatGPT对话记录,结果竟然翻出了3个依然有效的API Key。这说明很多程序员在调试AI Agent或者写自动化工作流的时候,习惯性地把密钥直接丢进提示词里,完全忘了这些数据会被记录甚至在某些环境下被同步。
下一篇
我的模型池实验:用开源权重模型组合实现低成本高性能 →
为了避免这种低级错误,建议在编写提示词时,把密钥或敏感信息用占位符代替,然后通过环境变量或配置文件在代码层面注入。
如果你需要让AI帮你处理需要API权限的任务,可以用下面这个提示词模版来规范它,强制让AI在输出时对敏感信息进行脱敏处理,而不是直接把 Key 打印出来:
# Role: 安全敏感型代码审计专家
# Task: 对以下代码/配置进行分析,但必须执行严格的脱敏操作。
# Constraints:
1. 严禁在输出结果中直接显示任何形式的 API Key, Secret, Password 或 Token。
2. 发现敏感信息时,必须将其替换为 `[MASKED_SECRET]`。
3. 如果需要建议如何存储这些密钥,请推荐使用 .env 文件或 Secret Manager。
# Input Data:
{{your_code_or_prompt}}这个Prompt的核心逻辑在于建立一个“脱敏过滤器”,在AI生成结果之前先执行一遍掩码操作。实操下来,这种写法比简单地告诉它“不要泄露密钥”要稳健得多,因为它把脱敏定义成了必须执行的步骤,而不是一个可选的建议。