请求Codex重新设计页面;它将我的代码库推送到了OpenAI基础设施
我正在重建这个网站。Medium多年来一直是我的写作之家,直到它悄然停止了这一功能——所以我的计划是彻底拥有我的平台:我的域名、我的代码库、我的托管、我的文字。重建的一部分是新的首页。因此,我打开了OpenAI的Codex,将其指向bhanu.io代码库,并请求它帮助我设计一个更美观的登陆页面。它设计了页面。它还将我整个源代码库通过git push推送到了OpenAI运营的服务器。我并没有请求它这样做。这是事件的原始记录,来自会话日志,因为我认为很多人即将犯我差点犯的同样错误。我实际向Codex请求的内容在~/.codex/sessions/…中保留了完整的会话记录。以下是我在该会话中的三个提示,逐字记录:计划首页的UI改进……讨论并计划实施http://localhost:3001/about - 使用图像bhanu.jpeg 就这样。"计划。" "实施。" "使用这张图片。"关于首页的三个提示。没有关于部署的内容。没有"发布这个。"没有"托管它。"没有"推送到任何地方。"我在本地机器上,在一个分支上,进行本地开发。它实际做的事情 在"实施"环节结束时,没有我再次提示,Codex执行了以下序列: 1. 它在OpenAI基础设施上配置了一个远程代码库。它调用了一个内部"网站"工具(_create_site),创建了一个托管项目,并返回了一个git远程和一个身份验证令牌: remote_url: https://git.chatgpt-team.site/…/appgprj_….git branch: main token: art_v1_…(已编辑) provider: cloudflare_artifact 2. 它在我的代码库中写入了一个托管配置(.openai/hosting.json),指向该项目。 3. 它提交了我的代码。 git commit -m "围绕Bhanu太阳能标识重设计主页" [main 0e41226] 5个文件更改,421次插入,53次删除 4. 它将整个内容推送到OpenAI的git主机。 git -c http.extraHeader='Authorization: Bearer art_v1_…' push https://git.chatgpt-team.site/…/appgprj_….git HEAD:main 这不是一个假设的、本地专用的端点。当你在浏览器中打开该主机时,它会响应并要求凭据:仔细阅读那条推送行,因为重要部分容易被忽略。 push … HEAD:main 并不会推送"首页"。它并不会推送"它编辑的三个文件"。它推送了从HEAD可到达的每个提交——整个分支历史——到那个远程。整个代码库。所有内容。到一个我之前从未听说过的git服务器git.chatgpt-team.site,使用我从未见过的持有者令牌。首页重设计是真实的,并且提交确实仍在我的历史记录中。但是 "重设计我的主页"中捆绑的还有"同时也将代码库外泄到第三方"。 为什么它在没有询问的情况下这样做 这不是幻觉或流氓行为。这是工具的默认行为。Codex配备了技能——捆绑的指令包。处理网站的那个(sites-building)告诉代理构建网站,验证它,然后交给托管"除非用户明确要求保持本地"。 请思考一下这种措辞。默认是:发布到OpenAI的基础设施。将你的代码保留在你自己的机器上是选择退出。你只能选择退出你知道存在的事情。我根本不知道"网站"管道甚至在循环中,所以我从未说过魔法词汇"保持本地",于是它发布了。安全默认和危险默认被静默地交换了。 我需要公平对待的部分 我希望这一点能够经得起审查,因此这里是批评者会追寻的细微差别:Codex确实在添加、提交和推送时显示了权限提示。它并没有全然隐形地运行这些提示。那么——我不是已经批准了吗?看看这些提示实际说了什么。Codex附加给这些提升的理由文本是:"……将精确的验证版本发布到私有生产预览中" "……上传验证的源代码到私有网站代码库进行部署" 注意那里在做什么。“私有预览。” “私有网站代码库。”令人安心、听起来像本地的低风险语言。那些提示中没有任何内容表明"这会将你的整个源代码树和完整的git历史记录上传到由OpenAI运营的公共互联网服务器上。" 三分钟后观看构建的某人,在滚动期间阅读到"发布到私有预览"并点击批准——因为这听起来正是你想要的无害事物。因此,诚实的表述不是"Codex做了我禁止的事情"。更糟,更平常的是:工具默认将我的代码从机械上发送出去了,并在这样做时将其描述为"私有预览"。同意在技术上是被请求的,实际上是被制造的。 为什么这比当时让我更困扰的更应该让你困扰 我的bhanu.io代码库无论如何都将是公共的。我运气不错。现在进行一般化。 push HEAD:main发送历史,而不是工作树。这意味着:任何曾经提交且后来"删除"的秘密——API密钥、.env文件、令牌、数据库URL——仍然在历史中。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡