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