2作者: decodebytes4 天前
嗨,HN<p>我是 Luke。<p>我构建了 nono,并且比我预期的更快地发布了它,以应对 openclaw 的惨状,但它的用途远不止 openclaw。<p>问题:AI 代理在你的机器上执行代码。提示注入、幻觉或受损工具可以读取 ~&#x2F;.ssh,窃取凭据,甚至更糟。应用程序级别的沙盒可以被它们正在沙盒化的代码绕过。<p>我从事安全工作已经很长时间了(几年前我创建了 sigstore),并且已经见过这种模式很多次了。<p>解决方案:nono 使用用户空间无法逃逸的 OS 级隔离:<p>Linux:Landlock LSM(内核 5.13+) macOS:Seatbelt (sandbox_init) 在沙盒 + exec() 之后,没有系统调用可以扩展权限。内核会拒绝。<p>它的作用:<p>nono run --read .&#x2F;src --allow .&#x2F;output -- cargo build nono run --profile claude-code -- claude nono run --allow . --net-block -- npm install nono run --secrets api_key -- .&#x2F;my-agent<p>文件系统:按目录或文件进行读&#x2F;写&#x2F;允许 网络:完全阻止(计划进行每主机过滤) 密钥:从 macOS 钥匙串 &#x2F; Linux Secret Service 加载,注入为环境变量,在 exec 后清零<p>技术细节:<p>用 Rust 编写。大约 2k 行代码。在 Linux 上使用 landlock crate,在 macOS 上使用原始 FFI 到 sandbox_init()。密钥通过 keyring crate 实现。所有路径都在授权时进行规范化,以防止符号链接逃逸。<p>Landlock ABI v4+ 为我们提供了 TCP 端口过滤。较旧的内核会回退到完全的网络允许&#x2F;拒绝。 macOS Seatbelt 配置文件是作为类似 Scheme 的 DSL 字符串动态生成的。<p>限制:<p>macOS:目前允许所有读取以使可执行文件工作。将在下一个版本中收紧。 Linux:Landlock 并非涵盖所有内容(直到最近的内核才支持 UDP 过滤,没有系统调用过滤 - 那是 seccomp 的领域) 不支持 Windows(尚未?)<p>起源:<p>为 OpenClaw(处理 Telegram&#x2F;WhatsApp 消息的 AI 代理平台)构建了它。需要真正的隔离,而不是“请不要读取此文件”的隔离。将其泛化,因为每个代理运行器都有这个问题。<p>GitHub:<a href="https:&#x2F;&#x2F;github.com&#x2F;lukehinds&#x2F;nono" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;lukehinds&#x2F;nono</a> 文档:<a href="https:&#x2F;&#x2F;docs.nono.dev" rel="nofollow">https:&#x2F;&#x2F;docs.nono.dev</a> 网站:<a href="https:&#x2F;&#x2F;noto.sh" rel="nofollow">https:&#x2F;&#x2F;noto.sh</a><p>Apache 2.0 许可证。 欢迎对安全模型提出反馈意见,特别是来自使用过 Landlock 或 Seatbelt 的人。 话虽如此,代码需要好好整理一下,我对此并不感到自豪,所以请轻拍!
2作者: rafaelmdec4 天前
在目睹了关于 AI Botlers(如 OpenClaw/Moltbot/Clawdbot)的讨论后,我认为用户界面(UI)将面临重大变革。 指点、点击和输入的时代已经结束。 语音将成为主要交互界面。 用户界面将具有自适应性,并按需启用。 每个电脑上都将存在一个 AI 智能代理层。 由于隐私问题,类似“Shazam”的过滤器将阻止未经授权的语音捕获。 明白了吗?
1作者: robkop4 天前
几个月前,我把“Human”作为一个 LLM 提供商加到了 OpenCode 里,这只是个玩笑,结果发现扮演 LLM 真是痛苦。但出乎意料的是,这对于理解真实 agent harness 开发却很有用。<p>所以我想我不会落下任何人!我做了一个小型的开源游戏——《你是一个 Agent》—— youareanagent.app——来分享这种(有用的?)挫败感。<p>这有点荒谬。为了向你介绍一些完全必要的功能,我们有: - 一个完整的 WASM arch-linux 虚拟机,在你的浏览器中运行,用于 agent 编码关卡 - 一个糟糕的桌面模拟,以及一个漂亮的 excel 模拟,用于我们的计算机使用关卡 - 一个可爱的 WebGL CRT 模拟(我认为是第一个在 Safari 上支持正确的 DOM 2d 桶形扭曲失真的模拟器?老实说,我想利用现成的,而不是自己写一个,但我找不到一个让我满意的) - 一个 MCP 服务器模拟器,完全模拟了非品牌 Jira/Confluence/... 的连接 - 当然,还有一个完整的 WebGL 示波器音乐模拟器,用于开场序列<p>告诉我你的想法吧!<p>代码(如果你想添加一个关卡):<a href="https:&#x2F;&#x2F;github.com&#x2F;R0bk&#x2F;you-are-an-agent" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;R0bk&#x2F;you-are-an-agent</a><p>(如果你想浪费 20 分钟——我花了太长时间来写我关于 agent harness 开发的混乱想法):<a href="http:&#x2F;&#x2F;robkopel.me&#x2F;field-notes&#x2F;ax-agent-experience&#x2F;" rel="nofollow">http:&#x2F;&#x2F;robkopel.me&#x2F;field-notes&#x2F;ax-agent-experience&#x2F;</a>