Claude Code、Codex跑命令前,先复制这张安全表

Claude Code、Codex跑命令前,先复制这张安全表

Claude Code、Codex跑命令前,先复制这张安全表 Claude Code、Codex跑命令前,先复制这张安全表 Modified July 3 给AI的规则可以这么写: Code block Plain Text 运行陌生项目时,不读取、不复制、不打印任何真实密钥、token、cookie、SSH配置和.env文件。如果项目必须要配置,先生成示例配置。 道理很简单:别把钥匙放在桌面上,再怪别人顺手拿起来。 第五条,先看package scripts 如果是Node项目(用JavaScript写的那一类),别急着 npm install 完就 npm run dev 。先让AI打开 package.json (Node项目的配置清单),看 scripts 字段里写了什么。 有些脚本名字看起来很正常,比如 postinstall (安装完自动跑)、 prepare 、 dev 、 start 。真正执行时,它可能会跑额外命令、下载二进制文件、改本地配置。 Python项目也一样。先看 pyproject.toml 、 setup.py 、 requirements.txt 这类文件,里面写着装什么、怎么装。Rust、Go、Bun、Deno都各有自己的入口。你不需要每个生态都懂,但可以要求AI先解释入口。 先搞清楚三件事:它会装什么,会执行什么,会访问哪里。 第六条,需要管理员权限的命令,一律停 先解释几个词。 sudo 是Linux和Mac下"临时用管理员身份运行一条命令"的写法。注册表是Windows的中央配置库,系统级设置都存在这里。hosts 是系统里的域名映射表,能强行把某个网址指向别的地址。shell profile 是命令行每次启动时自动跑的脚本,改了它,你以后每次开终端都带着这个改动。 sudo 、管理员PowerShell、改系统目录、写注册表、改hosts、改shell profile,这些都先停。 很多安装教程喜欢把权限开大,因为这样省解释。但对普通人来说,权限越大,出问题越难收拾。AI Agent更是这样。它一旦有了高权限,就可能把一个小错误放大成系统级问题。 我现在看这类命令,第一反应是问:它为什么需要这么大的权限?解释不清,就别跑。 可以让AI先找低权限方案。实在没有,再单独确认。 如果对你有帮助,记得关注一波 第七条,外部域名要列出来 一个项目启动时访问GitHub、npm、PyPI、Docker Hub很正常。访问一个你认不出来的域名,就要停一下。 先把几个黑话翻译一下。DNS TXT 是域名系统里的一种记录,正常用来配邮件验证这类事,但也能塞自定义内容进去。paste站是Pastebin这类公开贴文本的网站,常被用来临时放一段代码或命令。短链接、临时文件托管、看不懂的CDN(内容分发网络)地址,都属于"为什么不直接用正规源"的可疑信号。 这些不一定有问题。但这种链路不适合让AI自动放过去。 给AI加一个检查点: Code block Plain Text 执行前列出所有将要访问的外部域名,说明每个域名的用途。如果用途不清楚,先不要访问。 它会逼AI把藏在安装过程里的外部依赖讲出来。 第八条,别让AI自己改你的长期配置 有些命令跑一次没事,改长期配置就麻烦了。 PATH 是系统查找命令的目录列表,改了它,你可能再也跑不起来原来的工具。shell profile 上一条解释过了。Git全局配置影响你每一次代码提交。SSH配置影响每一台你能登录的服务器。安装常驻服务、写入开机启动项,则是让一个程序每次开机都自动跑。 今天你是为了跑一个小项目,结果AI顺手把这些长期行为改了。以后每次开终端,每次 git push ,每次跑node,都可能带着这个改动。到那时候你再排查,会很烦。 所以陌生项目阶段,规则要明确: Code block Plain Text 不要修改全局配置、启动项、shell profile、Git全局配置、SSH配置和系统PATH。必须修改时,先说明影响范围和恢复命令。 恢复命令很重要。能写出来,说明它至少知道自己动了哪里。 第九条,让AI先交命令计划,不要直接开跑 很多人用AI Agent的方式太像许愿:帮我把这个项目跑起来。 这句话太宽了。AI会自己拆解,也会自己判断。它可能做得很好,也可能为了完成目标一路放权。 更稳的说法是: Code block Plain Text 先不要执行命令。请先给我一份运行计划,包含准备执行的命令、每条命令的目的、可能修改的文件、外部网络访问、风险等级和回滚方式。等我确认后,再一步一步执行。 这句话一放,AI就从"替你乱跑的手"变成"先把路线摆出来的助手"。 AI适合做的,是帮你把复杂任务拆开、解释清楚、跑你确认过的动作。它不适合在你完全不知道发生什么的时候,替你一路点下一步。 第十条,跑完以后要命令账单 项目跑起来以后,不要立刻关窗口。 让AI输出一份清单:它执行过哪些命令,改过哪些文件,装过哪些包,访问过哪些外部地址,哪些动作需要你后续清理。 这个东西像收据。平时不一定看,但出问题时救命。 你可以直接要求: Code block Plain Text 请输出本次会话执行记录,包括所有命令、修改文件、安装依赖、访问域名、创建进程、后台服务和建议清理项。不要省略失败命令。 别只要成功记录。失败命令有时候更关键。很多奇怪的问题,就是某条失败命令改了一半留下来的。 我自己的默认提示词 如果你嫌上面太散,可以直接复制下面这段,放在你让AI Agent跑陌生项目之前。 Code block Plain Text 你现在要帮我检查并运行一个陌生项目。安全优先,不要直接执行任何高风险命令。 规则如下: 1. 不要直接运行远程下载后立即执行的脚本,例如curl | sh、wget | bash、iwr | iex。 2. install、init、setup失败后,不要自动尝试新的修复命令,先列计划等我确认。 3. 不读取、不复制、不打印真实密钥、token、cookie、SSH配置和.env文件。 4. 不修改全局配置、系统PATH、shell profile、Git全局配置、SSH配置和启动项。 5. 任何需要管理员权限的命令必须先停下来解释原因。 6. 执行前列出将要访问的外部域名和用途。 7. 执行前给出命令计划,包含目的、影响文件、风险等级和回滚方式。 8. 每执行一步后告诉我结果,不要连续自动执行多步。 9. 如果发现脚本会下载或执行外部内容,先展开内容并解释。 10. 完成后输出执行记录,包括命令、修改文件、安装依赖、访问域名和清理建议。 先只输出运行计划,不要执行。 这段提示词解决一个实际问题:让AI把目标设成"安全地跑起来"。 这段有两种用法。临时跑陌生仓库,把上面整段(含首尾两句)贴进对话框就行。想让它长期生效,去掉首尾两句,只留 10 条规则,放进你项目的 CLAUDE.md 或 AGENTS.md ,每次开新会话自动生效。 常驻版本: Code block Plain Text AI Agent 运行陌生项目安全规则 1. 不要直接运行远程下载后立即执行的脚本(curl | sh、wget | bash、iwr | iex),先下载展开内容并解释。 2. install、init、setup 失败后不要自动尝试新的修复命令,先列计划等我确认。 3. 不读取、不复制、不打印真实密钥、token、cookie、SSH 配置和 .env 文件。 4. 不修改全局配置、系统 PATH、shell profile、Git 全局配置、SSH 配置和启动项。 5. 任何需要管理员权限的命令必须先停下来解释原因。 6. 执行前列出将要访问的外部域名和用途。 7. 执行前给出命令计划,包含目的、影响文件、风险等级和回滚方式。 8. 每执行一步后告诉我结果,不要连续自动执行多步。 9. 发现脚本会下载或执行外部内容时,先展开内容并解释。 10. 完成后输出执行记录,包括命令、修改文件、安装依赖、访问域名和清理建议。 最后说一句边界 这张清单不能保证百分百安全。安全这事没有一招鲜。 它能做的,是把AI Agent最容易失控的几个地方挡一下。自动执行、自动修复、自动放权、自动访问外部资源,这几样你盯住了,大部分坑就躲过去了。你不需要变成安全专家,至少先让AI慢下来,把手里的动作说清楚。 我的判断是,AI编程接下来,光看模型会不会写代码已经不够了,人会不会验收AI的动作更重要。以前我们担心AI写错,现在更得防它太努力。写错了你能看到报错,太努力了你未必看得见它干了什么。 工具越勤快,人越不能完全撒手。你要盯着它干了什么,确认没问题再放行。 验收的标准很简单:电脑没被搞乱。AI自己觉得"完成了",不算数。 飞书 开源知识库(实时 更新 交流群 ): https://tffyvtlai4.feishu.cn/wiki/OhQ8wqntFihcI1kWVDlcNdpznFf Claude Code & Openclaw &Codex 仨顶流全中文从零开始的教程: 不懂代码照样造网站,老金15万字Claude Code+OpenClaw教程免费开源 我的小破站(含我开源的项目): https://www.aiking.dev/ 每次我都想提醒一下,这不是凡尔赛,是希望有想法的人勇敢冲。 我不会代码,我英语也不好,但是我做出来了很多东西。 我真心希望能影响更多的人来尝试新的技巧,迎接新的时代。 不懂代码照样造网站,老金15万字Claude Code+OpenClaw教程免费开源 给AI的规则可以这么写: 道理很简单:别把钥匙放在桌面上,再怪别人顺手拿起来。 第五条,先看package scripts 如果是Node项目(用JavaScript写的那一类),别急着 npm install 完就 npm run dev 。先让AI打开 package.json (Node项目的配置清单),看 scripts 字段里写了什么。 有些脚本名字看起来很正常,比如 postinstall (安装完自动跑)、 prepare 、 dev 、 start 。真正执行时,它可能会跑额外命令、下载二进制文件、改本地配置。 Python项目也一样。先看 pyproject.toml 、 setup.py 、 requirements.txt 这类文件,里面写着装什么、怎么装。Rust、Go、Bun、Deno都各有自己的入口。你不需要每个生态都懂,但可以要求AI先解释入口。 先搞清楚三件事:它会装什么,会执行什么,会访问哪里。 第六条,需要管理员权限的命令,一律停 先解释几个词。 sudo 是Linux和Mac下"临时用管理员身份运行一条命令"的写法。注册表是Windows的中央配置库,系统级设置都存在这里。hosts 是系统里的域名映射表,能强行把某个网址指向别的地址。shell profile 是命令行每次启动时自动跑的脚本,改了它,你以后每次开终端都带着这个改动。 sudo 、管理员PowerShell、改系统目录、写注册表、改hosts、改shell profile,这些都先停。 很多安装教程喜欢把权限开大,因为这样省解释。但对普通人来说,权限越大,出问题越难收拾。AI Agent更是这样。它一旦有了高权限,就可能把一个小错误放大成系统级问题。 我现在看这类命令,第一反应是问:它为什么需要这么大的权限?解释不清,就别跑。 可以让AI先找低权限方案。实在没有,再单独确认。 如果对你有帮助,记得关注一波 第七条,外部域名要列出来 一个项目启动时访问GitHub、npm、PyPI、Docker Hub很正常。访问一个你认不出来的域名,就要停一下。 先把几个黑话翻译一下。DNS TXT 是域名系统里的一种记录,正常用来配邮件验证这类事,但也能塞自定义内容进去。paste站是Pastebin这类公开贴文本的网站,常被用来临时放一段代码或命令。短链接、临时文件托管、看不懂的CDN(内容分发网络)地址,都属于"为什么不直接用正规源"的可疑信号。 这些不一定有问题。但这种链路不适合让AI自动放过去。 给AI加一个检查点: 它会逼AI把藏在安装过程里的外部依赖讲出来。 第八条,别让AI自己改你的长期配置 有些命令跑一次没事,改长期配置就麻烦了。 PATH 是系统查找命令的目录列表,改了它,你可能再也跑不起来原来的工具。shell profile 上一条解释过了。Git全局配置影响你每一次代码提交。SSH配置影响每一台你能登录的服务器。安装常驻服务、写入开机启动项,则是让一个程序每次开机都自动跑。 今天你是为了跑一个小项目,结果AI顺手把这些长期行为改了。以后每次开终端,每次 git push ,每次跑node,都可能带着这个改动。到那时候你再排查,会很烦。 所以陌生项目阶段,规则要明确: 恢复命令很重要。能写出来,说明它至少知道自己动了哪里。 第九条,让AI先交命令计划,不要直接开跑 很多人用AI Agent的方式太像许愿:帮我把这个项目跑起来。 这句话太宽了。AI会自己拆解,也会自己判断。它可能做得很好,也可能为了完成目标一路放权。 更稳的说法是: 这句话一放,AI就从"替你乱跑的手"变成"先把路线摆出来的助手"。 AI适合做的,是帮你把复杂任务拆开、解释清楚、跑你确认过的动作。它不适合在你完全不知道发生什么的时候,替你一路点下一步。 第十条,跑完以后要命令账单 项目跑起来以后,不要立刻关窗口。 让AI输出一份清单:它执行过哪些命令,改过哪些文件,装过哪些包,访问过哪些外部地址,哪些动作需要你后续清理。 这个东西像收据。平时不一定看,但出问题时救命。 你可以直接要求: 别只要成功记录。失败命令有时候更关键。很多奇怪的问题,就是某条失败命令改了一半留下来的。 我自己的默认提示词 如果你嫌上面太散,可以直接复制下面这段,放在你让AI Agent跑陌生项目之前。 这段提示词解决一个实际问题:让AI把目标设成"安全地跑起来"。 这段有两种用法。临时跑陌生仓库,把上面整段(含首尾两句)贴进对话框就行。想让它长期生效,去掉首尾两句,只留 10 条规则,放进你项目的 CLAUDE.md 或 AGENTS.md ,每次开新会话自动生效。 常驻版本: 最后说一句边界 这张清单不能保证百分百安全。安全这事没有一招鲜。 它能做的,是把AI Agent最容易失控的几个地方挡一下。自动执行、自动修复、自动放权、自动访问外部资源,这几样你盯住了,大部分坑就躲过去了。你不需要变成安全专家,至少先让AI慢下来,把手里的动作说清楚。 我的判断是,AI编程接下来,光看模型会不会写代码已经不够了,人会不会验收AI的动作更重要。以前我们担心AI写错,现在更得防它太努力。写错了你能看到报错,太努力了你未必看得见它干了什么。 工具越勤快,人越不能完全撒手。你要盯着它干了什么,确认没问题再放行。 验收的标准很简单:电脑没被搞乱。AI自己觉得"完成了",不算数。 飞书 开源知识库(实时 更新 交流群 ): https://tffyvtlai4.feishu.cn/wiki/OhQ8wqntFihcI1kWVDlcNdpznFf Claude Code & Openclaw &Codex 仨顶流全中文从零开始的教程: 不懂代码照样造网站,老金15万字Claude Code+OpenClaw教程免费开源 不懂代码照样造网站,老金15万字Claude Code+OpenClaw教程免费开源 我的小破站(含我开源的项目): https://www.aiking.dev/ 每次我都想提醒一下,这不是凡尔赛,是希望有想法的人勇敢冲。 我不会代码,我英语也不好,但是我做出来了很多东西。 我真心希望能影响更多的人来尝试新的技巧,迎接新的时代。 谢谢你读我的文章。 如果觉得不错,随手点个赞、在看、转发三连吧🙂 如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章。 扫码 添加下方微信(备注AI) ,拉你加入 AI学习交流群 。 🔗 原文链接: https://mp.weixin.qq.com/s/cUYbOnwj... https://mp.weixin.qq.com/s/cUYbOnwj... 原创 金先森是朝鲜族阿 金先森是朝鲜族阿 老金带你玩AI2026年7月3日 17:10 北京 加我进AI讨论学习群,公众号右下角“联系方式” 文末有老金的 开源知识库地址·全免费 这两天看AI编程工具的安全消息,让我想起了一个我经常提到的事儿。 很多人已经习惯把一个陌生项目丢给AI,然后说一句"你帮我跑起来"。它会装依赖、看报错、修、再跑一遍,像个特别勤快的小助理。 问题也在这。它太勤快了。 以前你自己跑陌生项目,看到安装命令、初始化脚本、权限提示,多少会停一下。 现在AI替你跑,它看到报错以后,可能会自己找下一条命令,自己复制,自己执行。你以为它在解决问题,其实它可能已经走过了你本来会犹豫的那一步。 今天就给一张保命清单。以后你让Claude Code、Codex、Cursor或者其他AI Agent跑陌生仓库之前,先让它过一遍。 先说发生了什么 最近安全圈在讨论一类风险,意思很简单:一个看起来干净的GitHub项目,也可能在安装或初始化过程中,把危险动作藏到外部链路里。 仓库本身可能没写明显恶意代码。问题出在运行时。比如安装失败后,错误信息引导AI去执行一段脚本,这段脚本再从外部地址拿下一步命令。人眼看仓库时没看到坏东西,普通扫描工具也不一定立刻发现。可AI为了把项目跑起来,会顺着提示继续往下走。 这就多了一层麻烦。过去我们担心代码里有没有坑,现在还要担心AI为了修坑,自己去跳另一个坑。 AI帮你跑环境、看报错、整理依赖,确实省时间。 但你得先给它画边界。 第一条,远程脚本先展开,不许直接跑 看到这类命令,先停。 先解释这三条在干什么。 curl ... | sh 的意思是:从网上下载一段脚本,直接喂给命令行执行,中间不停。 wget ... | bash 是同一件事的另一种写法。 iwr ... | iex 是 Windows PowerShell 的版本,下载完立刻执行。共同点是,你还没看脚本里有什么,它已经跑了。 正确做法很土。先让AI把脚本下载下来,展开内容,解释每一步,再问你要不要执行。 你可以直接给AI这句话: 意思就是告诉AI:你可以干活,但得先把手伸出来让我看一下。 第二条,install、init、setup报错后,不要让AI自动补命令 很多危险动作发生在报错以后,第一条命令反而少见。 你让AI跑 npm install (Node项目装依赖的第一步),报错了。它去看README,又看到一条初始化命令。初始化也报错,它再去搜解决方案,最后跑了一个你根本没看过的脚本。 人类自己折腾环境时,也会这样一路试。但AI的问题是,它试得太快。你刚喝口水,它已经执行了三步。 所以把规则写死: 这里最关键是"可回滚方式",也就是万一搞砸了怎么退回原来状态。"风险等级"四个字反而其次。一个命令如果说不清怎么退回,就不要急着跑。 第三条,新项目先关进小房间 陌生项目别直接放在你的主工作目录里跑,更别放在有密钥、有客户代码、有真实业务配置的目录旁边。 先把几个词说清楚,不然下面看不懂。 .env 是项目用来存配置的文件,常见的数据库密码、API key 经常写在这里面。SSH key 是你登录远程服务器、推送代码到GitHub时用的身份凭证。浏览器Cookie 是你登录状态的载体。这三样东西被拿走,等于把账号钥匙给了别人。 最简单的做法,是单独建一个干净目录。里面没有 .env ,没有SSH key,没有Cookie,没有你平时工作项目里的配置文件。让AI只在这个小房间里折腾。 如果你有条件,用容器、虚拟机、临时Windows沙盒都行。没有条件也没关系,至少先做到一件事:别让它在你的主项目里乱跑。 很多人觉得这一步麻烦。可真正麻烦的是,AI一旦读到了不该读的东西,你很难回头判断它到底有没有发出去、发给了谁、什么时候发的。 第四条,环境变量和密钥先拿走 接着上一条的几个词。API key 是你调用各种AI、云服务时用来认账的字符串,谁拿到谁就能用你的额度和身份。数据库密码、GitHub token(GitHub的访问令牌)、云服务密钥,性质都一样。 这些东西不要放在AI要跑陌生项目的环境里。 你可以让它先用假的配置跑通结构。比如数据库连接写成示例地址,API key写成占位符,比如写成 sk your api key here 这种假字符串。等项目可信了,再换真实配置。 尤其是 .env 文件。很多项目启动时会自动读取它,AI也可能为了省事帮你复制一份。你如果不提前说,它不一定知道这里哪些东西不能碰。

在 小宇宙note 阅读完整内容