<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>安全 - Tag - 傲来说的博客</title><link>https://aolaishuo.cc/tags/%E5%AE%89%E5%85%A8/</link><description>安全 - Tag - 傲来说的博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Mon, 10 Aug 2026 18:00:00 +0800</lastBuildDate><atom:link href="https://aolaishuo.cc/tags/%E5%AE%89%E5%85%A8/" rel="self" type="application/rss+xml"/><item><title>当AI学会撒谎，你点的那个"批准"还靠谱吗？</title><link>https://aolaishuo.cc/posts/%E5%BD%93ai%E5%AD%A6%E4%BC%9A%E6%92%92%E8%B0%8E/</link><pubDate>Mon, 10 Aug 2026 18:00:00 +0800</pubDate><author>傲来说</author><guid>https://aolaishuo.cc/posts/%E5%BD%93ai%E5%AD%A6%E4%BC%9A%E6%92%92%E8%B0%8E/</guid><description>&lt;blockquote>
&lt;p>全文约1600字，阅读需4分钟&lt;/p>&lt;/blockquote></description></item><item><title>Agent 的安全，不该是正则表达式</title><link>https://aolaishuo.cc/posts/agent%E5%AE%89%E5%85%A8%E4%B8%8D%E8%AF%A5%E6%98%AF%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0800</pubDate><author>傲来说</author><guid>https://aolaishuo.cc/posts/agent%E5%AE%89%E5%85%A8%E4%B8%8D%E8%AF%A5%E6%98%AF%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/</guid><description><![CDATA[<h1 id="agent-的安全不该是正则表达式">Agent 的安全，不该是正则表达式</h1>
<p>最近在 Hacker News 上看到一篇文章，标题很直白：Stop Using OpenCode。作者 Wren 用了大约五千字，把 OpenCode 的设计缺陷和安全问题翻了个底朝天。HN 评论区 240 多条回复，吵得不可开交。</p>
<p>但让我留意的是一条被忽视的线索——这场争论里最有技术含量的部分，不是 bug 有多严重，而是一个更根本的问题：<strong>AI 编码工具到底该怎么处理安全？</strong></p>
<h2 id="纸糊的护栏">纸糊的护栏</h2>
<p>先看几个绕过 OpenCode 权限系统的例子：</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;git clean -fdx .&#39;</span> <span class="p">|</span> bash
</span></span><span class="line"><span class="cl">python3 -c <span class="s2">&#34;import shutil; shutil.rmtree(&#39;/&#39;)&#34;</span>
</span></span><span class="line"><span class="cl">cat ~/.ssh/id_rsa <span class="p">|</span> base64</span></span></code></pre></div></div>
<p>OpenCode 用 tree-sitter 解析 bash 语法树，再用正则表达式匹配危险命令。听起来合理？实际上这些过滤全都能用管道、heredoc、base64 编码绕过。</p>
<p>更离谱的是持久化权限陷阱。你在 OpenCode 里对 <code>python3</code> 回复了&quot;Always Allow&quot;，之后所有 <code>python3 -c</code> 命令都免检——包括读取你 SSH 私钥。文件权限过滤同样挡不住，<code>shutil.rmtree(&quot;/&quot;)</code> 照样畅通无阻。OpenCode 的默认行为就更吓人了：首次启动时输入一个字母回车，就能打通远程模型和本地 shell，模型 URL 从 models.dev 动态下载，也就是说——你不确认任何东西，就已经把完整系统访问权交给了互联网上的一段代码。</p>]]></description></item></channel></rss>