構成管理において検討すべき7要素
project topic
プロジェクトごとの構成情報
そういう意味では project composition topic と言ってもいい
narsion topic
コンポーネントごとのデータと言い換えてもいい
が、主キーは narsion の単位になるはず
どういうデータをぶら下げるかは要検討
SBOMのベースライン属性はnarsionの他に「供給者名、作成者名、タイムスタンプ、id、コンポーネントハッシュ、依存関係」がある
getter howto
どこから、どのような構成情報を取るか
例: OSからインストール済ソフトウェア、OSからOSバージョン、コンテナからインストール済ソフトウェア、npmプロジェクトから依存ライブラリ
getter software
getterをどのようなソフトウェアとして提供するか
例: インストール不要コマンド(CLI)、要インストールなエージェント(CLI)、要インストールな製品の一部機能(GUI)
file format
構成情報をどのようなファイル形式や中身の形式で表現するか
例: 人間が読めるExcel、機械がパースするjson/csv/yaml/toml/xml、人間が読めるtxt
例: SPDX、CycloneDX、SWID、独自形式
collecting howto
構成情報をどうやって集めるか
getterが吐き出した情報をどうやって集めるかという話
例: 利用者に手でアップロードしてもらう、エージェント経由でアップロードさせる、リポジトリに置いてもらう
collecting processing
構成情報を集める際の加工を行うか。行うとしたらどのように行うか
例: 顧客環境から送るためにハッシュ化する、同左暗号化する
---
project topicは、ある
project
component
vul
vul
……
component
……
プロジェクトに関する全般情報も入れれるようになってる
narsion topicは、ある
Python 3.1も3.2も異なるトピックとして区別してくれるし、ちゃんとそれぞれに情報がある
getter howtoは、パッケージ管理の設定ファイル見てるのと、あとはディレクトリスキャンだと思われる
getter softwareは、有償パッケージ
SaaS版ってあるんだっけ?sta.icon
file formatは、HTMLとcsv
collecting howtoは、よくわからん
会社で使ってるのか会社の提供形態で隠蔽されてるので……
デスクトップクライアントの場合はエージェント型
collecting processingは、してないと思う