AI News HubLIVE
站内改写2 分钟阅读

Manticore-projects/aurscan: 使用Claude LLM扫描AUR包中的恶意软件

aurscan是一个用Go编写的工具,在AUR包构建前利用Claude或本地模型检测PKGBUILD中的恶意代码。它结合确定性静态规则和LLM判断,能够识别诸如CHAOS RAT和Atomic Arch攻击等供应链攻击。通过yay包装器集成,支持多种后端(Claude CLI、API、本地模型),并提供fail-closed安全策略。

来源Hacker News AI作者: aiNohY6g

aurscan 是一款由 Manticore-projects 开发的开源工具,旨在扫描 Arch Linux 用户仓库(AUR)中的软件包,在构建之前识别潜在的恶意代码。它利用 Anthropic 的 Claude 语言模型(或本地替代模型)来审查 PKGBUILD 文件、.install 脚本、.SRCINFO 以及辅助脚本,从而在 makepkg 执行任何代码之前阻断恶意构建。

该工具的设计初衷源于实际发生的供应链攻击。2025 年 7 月,AUR 上的 firefox-patch-bin、librewolf-fix-bin 和 zen-browser-patched-bin 等软件包被上传,其 source=() 条目伪装成补丁,实际上指向攻击者的 GitHub 仓库,并在构建时执行 CHAOS RAT 恶意软件。这些软件包看似无害,仅在 46 小时后才被发现。2026 年 6 月的 Atomic Arch 攻击进一步凸显了这种威胁:攻击者接管了 1500 多个被遗弃的 AUR 软件包,利用 Git 提交伪造技术冒充可信维护者,添加了执行 npm install atomic-lockfile(随后是 bun install js-digest)的后安装步骤,从而部署了 Rust 凭据窃取器和 eBPF rootkit。aurscan 的提示和静态规则直接针对这些攻击进行了编码。

aurscan 采用两阶段检测机制。第一阶段运行快速确定性静态规则(离线且零成本),匹配已知的攻击模式,如 curl|bash、反向 shell、凭据访问、systemd 持久化以及 Atomic Arch 攻击签名。第二阶段,静态规则的结果连同软件包的 AUR 信誉信息被传递给 Claude 或本地模型,由模型对细微案例做出判断。如果未配置模型,静态规则本身仍能产生 fail-closed 的裁决,即使在完全离线的情况下也能提供保护。

该工具通过 syay 包装器与 yay AUR 助手无缝集成。syay 透明地将 yay 的编辑器指向 aurscan-edit,确保 yay 构建的每个 AUR 软件包在构建前都会经过扫描。它适用于各种 yay 命令,包括 -S、-Syu 以及交互式搜索。扫描结果可以是干净(clean)、可疑(suspicious)或恶意(malicious),每种结果都有相应的退出码(0、1、2)。当检测到恶意软件时,用户可以选择中止(默认)、向 aur-general 邮件列表发送报告,或者输入“INSTALL”以强制继续。

安装过程简单:克隆仓库,运行 install.sh(需要 Go),然后将 yay 别名为 syay。更新同样简单。认证方式自动检测,优先级从高到低包括:Claude Code CLI(无需 API 密钥)、ANTHROPIC_API_KEY、兼容 OpenAI 的本地端点、以及自定义可执行文件。该工具还提供详细的使用统计,包括每次扫描的令牌数和成本。

对于本地模型,aurscan 推荐使用至少 14B 参数的模型(如 qwen3:14b)以获得可靠结果,32B 模型(如 qwen2.5-coder:32b)是最佳选择。小模型(3B 及以下)可能产生近随机结果,无法有效工作。重要的配置参数包括上下文窗口(建议 8192 或更高)和超时时间(CPU 推理可能需要 15 分钟)。无论模型质量如何,静态规则始终运行,模型错误或超时都会 fail-closed 到可疑状态,确保用户始终受到保护。