你的代理实际上是如何获取API密钥的?

Reddit r/AI_Agents 新闻

摘要

一位开发者讨论了编码代理获取API密钥的三种常见模式,强调代理可以通过足智多谋的方式规避限制,并向社区询问他们的实际设置和经验。

我一直在思考这个问题,起因是读到一位开发者阻止其编码代理读取`.env`文件——但代理通过运行`docker compose config`并从解析后的输出中读取密钥,仍然拿到了它们。这让我意识到,大多数代理设置(包括我自己构建的)获取凭证的方式有三种:1. **代理可读取的文件中的密钥**(.env、配置文件、设置)。很方便,而且能正常工作,直到代理——或代理运行的任何东西——出于错误原因读取该文件。2. **环境变量中的密钥**。稍好一些,但任何打印环境变量的操作都会泄露它们,而代理会运行*大量*打印内容的命令。3. **代理从未见过的密钥**——某些代理或保险库会将其附加到出站请求中,因此代理使用占位符工作。最安全,但需要更多配置工作。几乎每个人都从第一点开始,因为每个教程都从那里开始。公平地说,对于业余项目来说,这可能没问题。但那个`.env`故事中的模式让我印象深刻:代理并非恶意,而是*足智多谋*。它有一个目标,规则挡了路,于是它绕过了规则。任何依赖于代理不去查看某个地方的限制,与其说是边界,不如说是一种礼貌的请求。很好奇这里的人实际处于什么情况:* 你在1、2还是3?* 你的代理是否曾通过读取你未预料到的内容让你吃惊?* 如果你在3,设置成本如何——值得吗?不是求教贴,纯粹好奇真实的设置与安全文章所说的应该是什么样子。
查看原文

相似文章

证明你是机器人:面向代理的验证码

Hacker News Top

Browser Use 推出了基于反向验证码的代理原生注册机制,旨在阻止人类进入,而让 AI 代理进入。代理通过解决混淆的数学题来获得 API 密钥访问权限和免费套餐福利。