UBEL: 無料SCA、依存関係/Linuxパッケージ/Dockerファイアウォール、AI支援SAST
UBELは、依存関係の脆弱性を検出し、インストール時にポリシーを強制してサプライチェーン攻撃を阻止するマルチエコシステムのセキュリティプラットフォームです。npm、pip、Cargoなどのパッケージマネージャーや、Linux/Windowsのプラットフォームスキャンをサポートします。
UBELは、ソフトウェアコンポジション分析(SCA)に基づくサプライチェーンセキュリティプラットフォームで、オープンソースコミュニティによって開発されています。多くのスキャナーがレポートを生成するだけなのに対し、UBELは能動的にサプライチェーン攻撃を阻止します。スキャンでポリシー違反が検出されると、インストールを中断し、理由を明確に示します。このツールは、開発者が依存関係を追加する瞬間からCI検証、本番環境に至るまでのデリバリーチェーン全体をカバーします。
サポートするエコシステムは、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で重複排除され、複数のサブプロジェクト間で共有される依存関係は一度だけスキャンされます。
UBELの核心的な機能の一つは「ファイアウォール」メカニズムです。Node.jsエコシステムでは、まずロックファイルモードで依存関係ツリーを解決し、候補ロックファイルを生成します。スキャンが成功して初めて実際のインストールが進行します。ポリシー違反があった場合、ロックファイルはスキャン前の状態にロールバックされ、node_modules/ディレクトリは変更されません。さらに、候補ロックファイルとpackage.jsonのSHA-256ハッシュを検証し、TOCTOU競合条件攻撃を防ぎます。すべてのパッケージマネージャーは--ignore-scriptsフラグで起動され、悪意のあるインストール前後スクリプトをブロックします。
ポリシーはJSON形式で保存され、デフォルトでは「high」以上の深刻度の脆弱性と未評価のCVEをブロックします。悪意のあるパッケージ(MAL-*)は常に無条件でブロックされます。各スキャンはタイムスタンプ付きのレポートを生成し、JSON、HTML、SBOM(CycloneDX v1.6)、SARIF(v2.1.0)形式で出力されます。HTMLレポートには、深刻度のグラフ、検索可能な脆弱性テーブル、依存関係グラフなどの視覚的情報が含まれます。
UBELはCI/CDパイプラインやDockerfileに直接統合でき、ポリシー違反時に非ゼロの終了コードを返します。また、AIエージェントやVS Code拡張機能から利用可能なプログラムAPIも提供しています。UBELは完全にローカルで動作し、公開APIにPURLのみを送信するため、テレメトリデータやファイル内容は収集されません。