⚠️如何屏蔽TRAE使用ssh的能力?!🚨

我居然经历了新闻上的传奇惊吓事件!

TRAE不经过我同意就用ssh连到服务器上去重启,居然不需要我同意?!
TRAE不经过我同意就用ssh连到服务器上去重启,居然不需要我同意?!
TRAE不经过我同意就用ssh连到服务器上去重启,居然不需要我同意?!

TRAE的沙箱居然允许运行ssh命令?!

ssh -i /Users/rhett/.ssh/id_rsa root@◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎ 'cd /www/wwwroot/◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎/◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎ && pm2 restart ecosystem.config.cjs'

我的自动化脚本有改版本号、提交git的功能,也有上传到服务器的功能,但是我还没有写一键重启的功能。他大爷的从我的脚本和package.json的配置里推测出了重启的方法。

他居然提交了git,并且ssh连上服务器覆盖了,并且重启了。

你说它智能吧,它关键bug完全没修对!

你说它不智能吧,它一个半吊子就敢推测出来生产服的重启方法并直接就干了!

之前看网上别人用AntiGravity误删了整盘文件的事情,也觉得离谱。

他妈的 所以只要不是机制性的杜绝(即准确的白名单/黑名单权限管控机制),就一定会出问题。靠提示词或模型能力就相当于是放任它去猜测了,没收作案工具才能真正杜绝它越权的行为。

本身我本地一个开发环境,外网一个生产环境,本来都是本地测试完毕后跑脚本发布的。正常都是本地构建然后测试,至少通过了测试才会推到外网啊。

这个事件碰巧是外网生产环境的一个nginx配置的问题,我问得可能也比较随意了,我问的是外网正式服有一个bug,贴了错误404的日志,问他怎么解决,TRAE就直接写完代码操作外网了。

但是它排查问题智商不足,按照代码问题修了(根本不对),并且跑在沙盒模式可以不经过我同意直接发布到外网了,然后正式服启动没报错就回报我说全修好了!🤯震惊。

所以说,龙虾危险,TRAE这种智能体也危险,只要不是每次都找你批准,都他妈不安全,你总是无法确定什么时候就被它坑了,毕竟都在你自己电脑上运行。

挽救一下git记录先:

git checkout main
git reset --hard 8b9080d0f34f3f5db0c2b586111ca2a045153092

然后重新提交。

找了半天居然没有找到黑名单功能,沙箱默认允许ssh,而且只有白名单功能。

按道理讲,你白名单功能的话,我没加白的就应该都不允许运行啊?

我以前对npm、cat 这些批准多了,就设置成让sandbox运行了,不再每次手动批准。

然而你sandbox居然随意使用我的~/.ssh/下的敏感密钥,那你sandbox的意义何在?

为了杜绝下次再干这种越权的行为,只好改成全部手动授权了。