SBOM関連ツールの一覧情報が絵でわかる！SBOM-Catalogの紹介 + OpenChain Security Assurance (ISO/IEC 18974) 自己認証の取得

OpenChain Japan WGの高橋([@flying-pan](https://qiita.com/flying-pan))と安倍([@ambai](https://qiita.com/ambai))です。
[OpenChain Japan Advent Calender](https://qiita.com/advent-calendar/2024/openchainjapanwg)の20日目を担当させていただきます。
本日は豪華2本立てでお届けします！！

記事1 : SBOM関連ツールの一覧情報が絵でわかる！SBOM-Catalogの紹介
記事2 : OpenChain Security Assurance (ISO/IEC 18974) 自己認証の取得

# SBOM関連ツールの一覧情報が絵でわかる！SBOM-Catalogの紹介

## 1. はじめに

１つ目の記事は高橋(富士通(株))が担当させていただきます。
私はOpenSSF SBOM everywhere SIGというグループミーティングに定期的に参加しております。そこで開発されているSBOM(Software Bill of Materials)の関連ツール一覧情報が一目でわかる[SBOM-Catalog](https://sbom-catalog.openssf.org/)というWebサービスを紹介します。
おそらく日本でこのツールを紹介するのは、これが初だと思います。もしかしたら来年話題に上がるかもしれないツールをいち早く共有していきたいと思います。

SBOM-Catalog
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/217032/651d3134-0851-a40b-a6b7-6a940c3036e7.png)

### おことわり

このWebサービスはOpenSSF SBOM Everywhere SIGというOSSコミュニティで取り組まれているツールです。これは現在開発中であり、一部SBOMツールの情報が古い点についてはご容赦ください。

### 対象読者

* SBOMに関連するツールの一覧情報が知りたい方
* 技術調査でSBOMの生成ツール等を探している方
* 上司や同僚から「次の時代はSBOMだ！！」と言われ、よくわからずとりあえずSBOMの勉強を開始したばかりのソルジャーの方

## 2. まずさわってみよう

"百聞は一見にしかず" です。
買ってきた電化製品の箱を開けたら説明書を読まずに機械を触り出すアナタも、説明書を熟読するそこのアナタも、まずはじめに↓のページのリンク先から"Tooling Catalog"のボタンをクリックして、3〜5分触ってみてください。

Link : [SBOM-Catalog](https://sbom-catalog.openssf.org/)

少し触ったことでなんとなくUIの使い方と掲載内容の概要については把握できたのではないでしょうか。

## 3. SBOM-Catalogのバックグラウンドの話

SBOM-Catalogの使い方の説明は割愛して、ツールの背景、現在議論されている内容について紹介します。

### SBOM-Catalogが開発された背景

SBOM-Catalogは、OpenSSF SBOM Everywhere SIGのミーティング内でミュンヘン応用科学大学のMarius Biebel氏によって提案されました。
Cloud Nativeの業界では、[CNCF Landscape](https://landscape.cncf.io/)という関連情報が図示されているWebサービスがあります。「これは便利！このサービスのSBOMバージョンを作ろう。」という話があがり、このWebサービスが開発されました。

### 議論されている内容

OpenSSF SBOM Everywhere SIGであがったコメントについて一部抜粋して紹介します。

* どのようにSBOMツール情報をメンテナンスしていくのか
    * OSSメンテナが自主的にSBOM Catalogのリポジトリを更新してもらうのか
    * 自動的にツールの情報を更新する仕組みを考えるか
    * 新規にでてきたSBOMツールの登録はどうするか
* 各種ツール情報の更新をgitリポジトリからソースコードを収集してLLMを用いて自動化できないか
    * ミーティング内でこのアイデアの評判がよく、現在Marius氏によって自動化について検討が進められています
* ツールによってはロゴがないが、そのようなアイコンの画像はどうするか

## 4. おわりに

このWebサービスは、公開されてから1年経っていない非常に若いツールです。
今後流行るか廃れるかはわかりませんが、今後もコミュニティの動向をウォッチしていきたいと思います。

# OpenChain Security Assurance (ISO/IEC 18974) 自己認証の取得

## 1. あいさつ
OpenChain Japan WGの安倍(富士通(株))です。
本記事では、自身がOpenChain Security Assuranceの自己認証を取得するために取り組んだ話を書きたいと思います。

## 2. Security Assuranceの概要
OpenChain Security Assurance Specification 1.1は、OpenChainプロジェクトから2022年にリリースされており、OSSを使用する際に満たすべき最低限のセキュリティ要件が規定されています。
これはISO/IEC 18974として承認された国際規格です。

仕様の詳しい内容については過去のAdvent Calendarに記事があるため、そちらをご参照ください。

https://qiita.com/teppeitherock/items/aa0c1fa20dfa7b614259

https://qiita.com/keiya-nobuta/items/f522d0406166877abb00

## 3. 自己認証の取得について
Security Assuranceの自己認証を取得するためには仕様に定義された要件をすべて満たす事を示す必要があります。その際に[セルフ チェックリスト](https://github.com/OpenChain-Project/Reference-Material/blob/master/Self-Certification/Checklist/Security-Assurance-1.1/en/Security-Assurance-1-1-Checklist-Version-2.md)を参考にどのようなエビデンスが必要かを精査します。

今回は下記のVerification Materialを例に、実際のエビデンスはどのような内容になるかを紹介します。
* 3.1.2 - Competence
3.1.2.4: Documented evidence of assessed competence for each Program Participant;

ここでは自己認証を取得する人たちがSecurity Assuranceに必要な能力がある事を示す必要があります。
ただし、仕様ではどのような能力が必要で、どのレベルが求められるのかなど具体的な内容は記載されていません。
これはここだけではなく、仕様全体としてみても具体例などは示されておらず、あくまでOSSをセキュアに扱う組織を構築するための要件にとどまっています。

そのため、実際に自己認証を取得するために取り組んだ際はどんな能力が必要で、それをどう示せば良いか考えました。
今回、私が取り組んだ時はOSSやセキュリティなどの教育を受けた結果をエビデンスとしました。
教育内容は社内にあるOSSの基本的な知識やセキュリティについてです。また不足する知識はLinux Foundationで公開されているトレーニングコースも活用しました。
初級レベルのコースは無料で受講できるものも多く、日本語のコースもあり非常に助かりました。

下記はセキュリティに関する日本語のコースです。

https://training.linuxfoundation.org/ja/training/developing-secure-software-lfd121-jp/

## 4. 感想

OpenChain Security Assuranceの自己認証を取得するために必要なエビデンスを一部紹介しました。
社内にある規則やシステム等がどの要件を満たすのか、また足りない要件はなにかを整理することが大変だと感じましたが無事に自己認証を取得することが出来ました。
また今回で終わりとせずに、より良くなるように継続して取り組みたいと考えています。
その中で貢献ネタを見つけて皆様と共有できればと思います。