
问题 1: 因为早先没有意识到. 导致已经在好几个老项目中使用了 claude-code, gemini 这些工具, 所有项目文件都被扫过了. 这些模型会进行数据脱敏吗? 如果密钥泄露了非常棘手啊!
问题 2: 开始新项目, 怎么避免项目配置文件中的密钥泄露? 有没有比较工程化又简单的方法?
1 pikko 10 小时 37 分钟前 密钥也不放在 git 仓库里的啊 |
2 stinkytofux OP @pikko #1 小公司和我个人的项目也没那么严谨, 像 OSS 这些密钥直接就写配置文件中了. 现在意识到 AI 编程出问题了. |
3 sentinelK 10 小时 35 分钟前 没什么诀窍,无非就是照本宣科:不要硬编码。通过服务获取。 btw ,即便是最高风亮节的 Anthropic ,也只是声明了不会用用户的数据再训练。 也就是说,他只能保证你的代码、数据不会被“自己的新模型”吐露给其他用户。但也仅此而已了。 |
4 |
5 WuSiYu 10 小时 32 分钟前 每过几个月换个密钥就行了,就算被当作了训练数据也不会立刻反应到市面的模型中 |
6 94 10 小时 20 分钟前 直接用官方的 API 其实没必要担心,别人还看不上你这点小东西。使用你的数据去训练也不会说直接把你的密钥吐给其他用户(稍微理解一下原理就不会有这样的困扰了)。 要是使用的中转站之类的才需要小心,以及一些使用上的引用问题 /t/1175066 如果使用了 CICD 的话,一般会放到项目仓库的 Secret 里面。后端一般是放到 Nacos 里面配置。 |
7 TArysiyehua 10 小时 13 分钟前 @stinkytofux 首先你个人项目小公司无所谓了吧? 然后就是,总是通过服务器,环境变量来读取,现在 AI 变成都是通过 Agent 来编程的,它执行的命令要获取真实的秘钥也并不是什么难事。 最保险的还是测试密钥跟线上密钥分开 |
8 bbao 9 小时 32 分钟前 1 ,配置文件里目前是不安全的;开发同学不掌握线上或者测试环境任何 key 2 ,运维部署时,扩写配置文件,由运维侧来维护和统一管理 key ,代码会提交到 git 仓库,只会在服务器中查看配置 3 ,更安全的方式,通过环境变量的方式进行设置。在部署脚本中维护,代码依旧提交到 git 仓库。(推荐) |
9 lyxxxh2 9 小时 31 分钟前 .claude/settings.local.json 设置拒绝读取的文件。 |
10 Msxx 9 小时 24 分钟前 via Android 我都是丢 github 仓库,项目各种 API 都是跟着仓库跑,靠换 key 解决。 |
11 ratazzi 9 小时 6 分钟前 https://mise.jdx.dev/environments mise 内置 age 加密 |
12 Aleks 7 小时 6 分钟前 最佳实践:密钥不能硬编码在项目里,需要配置在部署的环境变量中。 |
13 Amareni 6 小时 6 分钟前 via Android AI 给我的建议是配置 Cloudflare Worker(AI 辅助下半小时就配置好测试) |
14 sikong31 5 小时 55 分钟前 @bbao 具体怎么弄呢?开发不还是需要 key ,总得暴露出来认证吧,环境变量那也是写到文件运行,他就是躺在电脑上。我都用对称加密,但是怕忘记麻烦还是有一份明文密码放 U 盘,现在干脆不用集成的 AI 服务,都自己小片段的用网页 AI ,太麻烦了 |
15 karashoukpan 5 小时 47 分钟前 |
16 BenjaminSu 5 小时 40 分钟前 via Android 终于有人意识到这个问题了。所以我目前一直坚持聊天编程 |
17 wpblank 5 小时 36 分钟前 开发环境的项目全部单起一套需要密钥的服务呗。 |
18 uni 3 小时 45 分钟前 用 dotnet 吧,自带的 secret manager 才是最佳实践,只要不要不小心在日志里打出来就基本不会有事 |
19 x2ve 2 小时 36 分钟前 放环境变量或者库里头,测试跟线上分开,这样 ai 读了也没太大影响。 |
20 reallittoma 1 小时 37 分钟前 开发环境密钥随便读,部署后换一个就好了。 |
21 gadfly3173 43 分钟前 如果是 spring ,把密钥放在 nacos 里之类的配置中心就行了。或者让运维放在容器的 bootstrap.yml 里什么的 |