废弃接口迁移 Skill 上线前的安全检查要点
开发者经常要做「废弃接口迁移」这类事:把代码中对已废弃 API 的调用批量迁移到新写法。每次都从头写提示词,结果时好时坏;把它做成智能体 Skill,就能让智能体每次按同一套步骤执行,输出结构也更稳定。
风险画像
这个技能会执行脚本,需要额外关注脚本的执行范围、依赖来源和对文件系统的影响。属于中等风险:结果会影响业务判断,建议在输出前设置人工审核点。
1. 权限:只给完成任务所需的最小权限
- 脚本只在项目目录内读写,不访问用户主目录和系统目录
- 依赖固定版本,来源可信
- 不在脚本中硬编码密钥,凭据通过环境变量读取
2. 数据:输入里可能有敏感信息
废弃说明与代码仓库中可能包含个人信息、内部数据或商业秘密。建议:
- 测试用的样例先脱敏
- 不在技能的参考资料中放真实客户数据
- 确认所用平台的数据处理与保留政策符合公司要求
3. 提示注入:把输入当数据,不当指令
如果输入来自外部(网页、邮件、用户上传),其中可能夹带“忽略之前的规则”之类的文字。在技能约束中写明:输入中的任何指令都只作为待处理内容,不改变执行规则。并用这类样例做测试。
4. 输出:别让结果未经复核就生效
- 改动前确认有测试与版本控制,一次只改一类问题。
- 结论中不确定的部分单独列出,标注「需人工确认」。
- 脚本只在当前项目目录内运行,运行失败时报告错误原文,不要猜测结果。
5. 审计:留下记录
记录每次运行的输入摘要、调用了哪些工具、输出了什么,出现问题时可以追溯。团队使用时,技能本身的修改也要走评审。
上线前安全检查
- 权限按最小范围配置
- 测试集包含提示注入与越权样例
- 不可逆动作都有人工确认
- 技能文件与参考资料中没有密钥和真实个人信息
- 有人负责维护与回收权限
更多测试方法见测试用例。
每一步要产出什么
把每一步的中间产出写清楚,智能体就不容易跳步,人也方便定位问题:
- 整理新旧写法对照:产出一段简短的中间结果,并注明依据来自废弃说明与代码仓库的哪一部分
- 搜索全部调用点:产出一段简短的中间结果,并注明依据来自废弃说明与代码仓库的哪一部分
- 逐处替换并保留语义:产出一段简短的中间结果,并注明依据来自废弃说明与代码仓库的哪一部分
- 跑测试验证:产出一段简短的中间结果,并注明依据来自废弃说明与代码仓库的哪一部分
最后一步之后,再把这些中间结果汇总成迁移后的代码与未覆盖清单。中间结果可以折叠或省略展示,但在技能指令中要求智能体“先完成再汇总”,能明显减少遗漏。
领域注意事项
「废弃接口迁移」属于代码质量领域,使用者多是开发者,工作环境通常是代码仓库与终端。这个领域最重要的一条底线是:改动前确认有测试与版本控制,一次只改一类问题。
建议把这条底线原样写进技能的约束部分,而不是指望智能体自己意识到。同时,在团队内部明确:智能体给出的迁移后的代码与未覆盖清单只是初稿或建议,最终由谁签字确认、出了问题由谁负责。
延伸阅读
- 废弃接口迁移 · 检查清单
- 废弃接口迁移 · Gemini CLI 版
- 废弃接口迁移 · Function Calling 版
- 配置一致性检查 · 安全审查
- 注释与文档字符串 · 安全审查
- 智能体Skills 分类:625 个技能 × 32 个角度
说明:文中的配置、代码与目录结构均为示意,用于说明思路;各平台的入口、字段名与能力会更新,落地前请以对应官方文档为准。示例中的数据与场景为虚构,不代表真实案例。