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 到可疑狀態,確保使用者始終受到保護。