TwKit
正在载入
TwKit

用 Claude Code、Codex、WorkBuddy、Pi 这类 Agent 远程操作服务器时,怎么尽可能降低密码、密钥等核心配置泄露的风险?🚨 最近… · @aehyok · TwKit

@aehyok

用 Claude Code、Codex、WorkBuddy、Pi 这类 Agent 远程操作服务器时,怎么尽可能降低密码、密钥等核心配置泄露的风险?🚨 最近这一周的安全事件,值得所有用 AI 的人高度警惕,大致如图所示。 把这些放在一起看,结论就很清楚了:攻击者最想要的,其实就是你的凭据。 SSH 私钥、云服务密钥、API Token、环境变量等,一旦泄露,就要把相关凭据全部换一遍。 有些由于系统软件等受限制,换起来还不容易,这一点也要提前给自己留好口子。 到时候有可能导致你的 AI 密钥,就白白的被黑客们白嫖了。 而 AI Agent 能读文件、执行命令、登录服务器,本身就成了新的攻击面。 如果你把服务器密码直接告诉 AI,或者让它在能看到 ~/.ssh 和 .env 的环境里随意运行,那么一次投毒、一个恶意仓库,就可能让所有凭据一起泄露。 那么用 AI Agent 远程管理服务器时,该怎么做?🔥 核心原则只有一条: 让 AI 能用登录通道,但永远看不到凭据本身。 ① 用 SSH 密钥 + ssh-agent 代替密码 给 AI 单独生成一把带 passphrase 的密钥,自己用 ssh-add -t 4h 解锁一次,再在 ~/.ssh/config 里配好别名。 AI 只需执行 ssh myserver,私钥一直留在 ssh-agent 的内存里,它拿不到。 服务器上关闭密码登录和 root 登录。 ② 给 AI 专用的低权限账号 在服务器上新建一个普通用户给 AI 用,sudo 只放行具体命令并设为免密。 千万不要用 echo 密码 | sudo -S 或 sshpass -p 这类写法。 ③ 在 Agent 里挡住敏感文件 · 不管用哪个 Agent,都打开权限审批和沙箱,禁止读取 ~/.ssh、~/.aws、.env 等敏感路径 · 只配禁止规则往往挡不住 cat、head 这类命令,要和沙箱一起用才可靠 · 不要使用全自动、跳过审批的模式 · 启动 Agent 的终端里不要导出密钥环境变量,也不要把密码写进提示词、项目说明文件、Skill 或记忆里 ④ 服务器上的配置靠权限保护 .env、数据库配置等文件归应用账号所有,权限设为 600,AI 的账号读不到。 有条件的话,用密钥管理服务代替明文配置。 ⑤ 保持更新,人工审批 Agent 本身和它依赖的工具要及时更新(参考图中的 Agent2Shell 和 LiteLLM),不要用 Agent 打开来路不明的仓库。 操作生产环境时,每条命令都人工审批。 ⑥ 万一泄露了 只要密码或密钥在对话里出现过,或者装过被投毒的版本,就当它已经泄露: 立刻改密码、换密钥、轮换 Token,检查服务器登录日志,再删除本地的会话记录。 一句话总结: 密钥加 agent,让 AI 看不到凭据 设置权限规则,让它读不到敏感文件 使用低权限账号,让它碰不到重要配置 及时更新和人工审批,作为最后兜底 最后出问题了,也要第一时间补救,别不当回事 还在维护 GitLab、PHP、Node.js、Go 服务的,赶紧检查版本,该升级的尽快升级。 以上只是抛砖引玉,具体场景可以跟 AI 一起探讨,再落地执行。

曝光 576 · 评论 14 · 点赞 10 · 书签 5

查看原帖