安全与隐私
密钥泄露、许可证、数据出境意识。
30 分钟
安全与隐私
把代码或配置 粘贴进 Copilot / Cursor / 云端 Chat,等于把内容 发送到第三方推理服务。密钥进 prompt、客户数据进上下文,可能造成 泄露、合规违规、许可证风险——AI 辅助越方便,保密纪律 越要硬。
学习目标
- 识别绝不能进 AI 上下文的内容
- 了解团队与企业常见的数据策略选项
- 将安全习惯与 git-essentials 的远程协作结合
绝不能进 Prompt 的内容
| 类型 | 示例 | 替代做法 |
|---|---|---|
| 密钥 | API key、JWT secret、DB 密码 | 占位符 + 环境变量 |
| 私钥 | .pem、kubeconfig | 本地 openssl,不上传 Chat |
| PII | 真实用户邮箱、身份证 | 合成数据 |
| 未公开商业信息 | 未发布定价、合同条款 | 抽象描述需求 |
.env 应已在 .gitignore;同样不应拖进 AI 对话。误粘贴时:轮换密钥、查厂商 report / delete 政策。
代码上传与许可证
- 开源项目:注意 许可证(GPL 等与 Copilot 建议的兼容性,以法务为准)
- 公司代码:遵守 内部 AI 使用政策;不确定时问安全/法务
- 训练数据 opt-out:GitHub / Cursor 等产品设置随版本变化,以官方控制台为准
AI 生成的代码也可能 与训练语料相似——关键模块仍要 review 与 license 扫描。
生成代码的安全审查
AI 常 自信地写出:
- SQL 拼接、未参数化查询
- 硬编码 admin 密码
- 关闭 SSL 验证的「临时」代码
合并前人工 + test-integration 不能省;安全敏感路径 禁止 仅 AI review。
写 CodeRoadMap 讲义时的隐私
draft 中示例应使用:
spring.datasource.password=${DB_PASSWORD}
而非真实连接串。用 Cursor 批量写 content/课程/ 时,Rules 里写 「示例一律虚构 hostname」。
团队最低基线
- 启用 secret scanning(GitHub Advanced Security 或同类)
- 文档化:哪些 repo 可用 Copilot/Cursor
- incident:密钥进 AI → 轮换 + 记录
练习
- 扫描本地 repo 是否有 被 track;若有, 并轮换