日本語

オープンソースパッケージに基づいてSBOMを生成する

Aikidoでは、**SBOM(Software Bill of Materials)とVEX(Vulnerability Exploitability eXchange)**の両方のファイルをエクスポートできます。これらのエクスポートにより、ソフトウェアコンポーネント(オープンソースコンポーネントを含む)を可視化し、実際に修正が必要なものの優先順位付けに役立てることができます。

ユースケース:

  • SBOMエクスポート(CycloneDX 1.6、SPDX-2.3、またはCSV)
    • M&A、調達、監査(例:ISO 27001、SOC2)の際にサードパーティと共有する。
    • Cyber Resilience Act(CRA)、Medical Device Regulation(MDR)、Executive Order 14028などの規制へのコンプライアンス対応。
    • サードパーティのリスク管理ツールや調達ツールに取り込む。
  • VEXエクスポート(CycloneDXのみ)
    • どの脆弱性が悪用可能で、どの脆弱性が該当しないかを明確に示す。
    • デューデリジェンスの証明。VEXは、既知の脆弱性を積極的に管理していることをサードパーティに証明します。

SBOMの場所

ステップ1. Reports > Licenses & SBOM に移動します

ステップ2. 右上のアクションからSPDX、CycloneDX、またはCSV形式のSBOMをダウンロードします

フィルターとSBOMダウンロードオプションを備えたPythonパッケージのライセンスリスク概要。

オプション. さまざまなパラメーターでライセンスをフィルタリングしてからSBOMをエクスポートできます。エクスポートには選択したフィルター値が反映されます。

ライセンス、言語、リスク、コンテナのオプションでリポジトリを検索するためのフィルターメニュー。

チームでフィルタリングしたい場合は、ページ上部のTeam Filterを変更することで行えます。

Licenses & SBOMレポートを表示するためのチーム選択ドロップダウン。

マルチブランチスキャンを有効にしている場合、ドロップダウンで特定のブランチリポジトリを選択することで、ブランチごとに異なるSBOMを取得できます。詳細については、アプリ内チャットでお問い合わせください。

API経由での生成とエクスポート

Export SBOM APIを使用して、SBOMを生成・ダウンロードできます。

自己生成したSBOMの監視

BuildrootやYoctoなどのツールで構築された組み込みシステムでは、ビルド時にSBOMを生成できます。これらのシステムには標準的なコンテナレジストリがないことが多いため、自己生成したSBOMをAPI経由でAikidoにアップロードし、サプライチェーンセキュリティとライセンスコンプライアンスを監視できます。

Buildroot / YoctoによるSBOMの生成

Buildrootは、組み込みのgenerate-cyclonedxユーティリティを使用してCycloneDX SBOMを生成します。このユーティリティはmake show-infoの出力を利用します。

  1. SBOMを生成する

    次のコマンドを実行します:

    make show-info | utils/generate-cyclonedx > sbom.cdx.json

    これにより、組み込みLinuxシステム内のすべてのパッケージを、バージョン、ライセンス、ソース情報とともに一覧にした単一のCycloneDX JSONファイルが生成されます。

SBOMをAikidoにアップロードする

Upload Container SBOM APIを使用して、生成したファイルをプッシュします。 APIキーの取得方法と使用方法の詳細については、APIの認証に関するドキュメントを参照してください。

#Prevents word splitting of the JSON file
SBOM=$(cat /path/to/sbom.spdx.json)

# Accepts both CycloneDX and SPDX in JSON formats
curl -X POST "https://app.aikido.dev/api/public/v1/containers/sbom" \
  -H "accept: application/json" \
  -H "Authorization: Bearer $AIKIDO_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"sbom\": $SBOM, \"container_image_name\": \"$YOUR_CONTAINER_NAME\"}"

Aikidoは、アップロードされたSBOMをレジストリSelf-reported SBOMとしてContainersの下に一覧表示し、脆弱性とライセンスリスクのスキャンを自動的に開始します。