UBEL:免費SCA、依賴/ Linux軟體包/ Docker防火牆及AI輔助SAST
UBEL是一個跨生態系統的軟體供應鏈安全平臺,它不僅能發現依賴項中的漏洞,還能在安裝時強制執行安全策略,阻止已知的惡意包。它支援npm、pip、Cargo等多種包管理器,以及Linux和Windows平臺,並提供完整的SBOM和SARIF輸出。
UBEL是一個基於軟體組合分析(SCA)的供應鏈安全平臺,由開源社群開發。與許多僅生成報告的傳統掃描器不同,UBEL具備主動阻斷能力——如果掃描發現違反策略,它會直接中斷安裝過程並給出明確原因。該工具覆蓋從開發者新增依賴到CI驗證,再到生產環境的整個交付鏈,確保每個環節的依賴安全。
UBEL支援廣泛的生態系統,包括Node.js(npm、pnpm、yarn、bun)、Python(pip)、PHP(Composer)、Rust(Cargo)、Go(Go Modules)、C#/.NET(NuGet)、Java/Kotlin(Maven)和Ruby(Bundler)。此外,它還能掃描Linux(dpkg、apk、rpm)和Windows(登錄檔、PowerShell)平臺上的系統軟體,無需提升許可權。每個發現的包都會透過PURL去重,確保跨子專案的共享包只被掃描一次。
核心功能之一是“防火牆”機制。以Node.js為例,UBEL先以鎖檔案模式解析依賴樹,生成候選鎖檔案。掃描透過後才允許實際安裝;如果發現策略違規,鎖檔案會回滾到掃描前的狀態,保證node_modules/目錄不受影響。同時,系統還會驗證候選鎖檔案和package.json的SHA-256雜湊,防止TOCTOU競態條件攻擊。所有包管理器均以--ignore-scripts引數呼叫,阻斷惡意安裝前/後指令碼。
策略配置以JSON格式儲存在專案根目錄的.ubel/local/policy/config.json中。預設策略阻止“high”及以上嚴重性的漏洞,以及未評分的CVE。惡意包(如MAL-*)始終被無條件阻止,無法停用。每次掃描都會生成時間戳報告,包括JSON、HTML、SBOM(CycloneDX v1.6)和SARIF(v2.1.0)格式。HTML報告無需伺服器即可開啟,包含嚴重性儀表盤、可搜尋的漏洞表、互動式依賴關係圖等。
UBEL可直接整合到CI/CD流水線和Dockerfile中,違反策略時命令返回非零退出碼。它也提供程式化API,供AI代理和VS Code擴充套件呼叫。完全本地執行,僅向OSV.dev和NVD的公開API傳送PURL查詢,不收集任何遙測資料或檔案內容,確保隱私安全。