ソフトウェア部品表
開発者がアプリの透明性とセキュリティのためにソフトウェア部品表(SBOM)を構築すべき理由を覗いてみよう。

ソフトウェア部品表
お気に入りのIDEを開き、最新のプロジェクトに飛び込んで、それぞれのロックファイル(package-lock.json、go.mod、Pipfile.lock
など)。おそらく何百、何千ものオープンソースのパッケージやライブラリを見つけることができ、あなたのアプリケーションの目に見えない未知の部分がどれだけ広く広がっているかを正確に示すことができるでしょう。
ソフトウェア部品表(SBOM)は、アプリケーションが依存するすべてのソフトウェアコンポーネント、ライブラリ、依存関係のインベントリに似ているが、パッケージ名やピン留めされたバージョンよりも深いものである。オープンソースのライセンスなどのデータを集約することで、SBOMは完全な可視性を提供し、サプライチェーン攻撃の防止や、2層、3層、またはそれ以上の深さの依存関係における新たな脆弱性の特定に使用することができます。
ソフトウェア部品表の例とその仕組み
SBOMにはさまざまな出力形式やデータ構造があるが、最終的にはパッケージ名、バージョン、ソース、ライセンス、URLなどを含む成果物のデータベースである。SBOMはまた、アプリケーションが依存する依存関係の網を透明化するために、2つの成果物間の関係を識別する。
SBOMはスクロールするのには特に役立たないが、アプリケーションの広範な脆弱性管理には非常に役立つ。アプリのSBOMを、依存性スキャン、マルウェア検出、または使用終了(EOL)データを提供する他のツールにフィードすることで、表面レベルの脆弱性だけでなく、アプリケーションのありとあらゆる脆弱性を確実に表面化することができる。

ソフトウェア部品表を持つことは、開発者にとってどのような助けになるのでしょうか?
停電をその場でトラブルシューティングする際、最新のSBOMがあれば、どのパッケージが原因かを正確に特定することができる。
アプリケーションを効果的に動作させるために必要なコンポーネントを完全に理解することで、可能性のある弱点を特定し、修正またはより安全な依存関係への移行の優先順位を決めることで、より積極的にリスクを軽減することができます。
SBOMがあれば、開発チームと運用チームは、問題に対するコラボレーションや、現在の問題に対するプロアクティブなソリューションの優先順位を決定するための、単一の真実の情報源を持つことができます。
SBOMはオープンソースの依存関係のメタデータの変更を特定するのに役立ち、新しいパッケージがマルウェアを注入されたサプライチェーン攻撃の手がかりとなる可能性がある(XZ Utilsのバックドアを覚えているだろうか?)
特定の業界や規制環境では、ライセンス条件や調達インベントリの完全なインベントリが必要です。

ソフトウェア部品表の実装:概要
SBOMの生成は、ほとんどの開発者がローカルの作業環境で行うことができる。Syftのようなオープンソースのツールを使って、任意のコンテナイメージやローカルのファイルシステムを調査することもできる:
シフト
ローカルでワンライナー、Homebrew、またはバイナリリリースを使用する。合気道でも
ソフトウェア部品表を効果的に管理するためのベストプラクティス
アプリケーションセキュリティプラットフォームを完全に選択していない場合でも、プロジェクト内でできるだけ早い段階で最初の SBOM を作成する。履歴が多ければ多いほど、アプリケーションに悪影響を及ぼす変更の追跡が容易になります。
CLIツールはローカルのワークステーションにインストールするのは簡単だが、本当の洞察を得るためには、最終的にはアーティファクトを別の場所に保存して集約しなければならない。少なくとも、SBOMの生成をCI/CDパイプラインに組み込んで、手動での実行を忘れないようにしよう。
CycloneDXやSPDXのような業界標準フォーマットを使用することで、より多くのセキュリティ・ソフトウェアと統合し、パートナーや規制当局とSBOMを共有することができます。
ソフトウェア部品表の作成を無料で始める
GitプラットフォームとAikido 接続し、ソフトウェア部品表(Software Bill of Materials)を立ち上げ、即座のトリアージ、スマートな優先順位付け、迅速な修復のためのピンポイントのコンテキストを実現しましょう。
最初の結果は、読み取り専用アクセスで60秒後。

SOC2タイプ2および

ISO27001:2022認証取得
