一般社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
社団法人 電子情報通信学会
INFORMATIONAND COMMUNICATION ENGINEERS

信学技報
IEICE Technical Report
信学技報
SS2022-20,KBSE2022-30(2022-07)

THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERSTECHNICAL REPORT OF IEICE.

Debian パッケージに対する依存関係を含む SPDX ファイルの自動生成ツール
田邉 傑士†

眞鍋 雄貴‡

神田 哲也†

井上 克郎∗† 大阪大学大学院情報科学研究科 〒565–0871 大阪府吹田市山田丘 1 番 5 号‡ 福知山公立大学情報学部 〒620–0886 京都府福知山市字堀 3370
∗ 南山大学理工学部ソフトウェア工学科 〒466–8673 愛知県名古屋市昭和区山里町 18
E-mail: †{tk-tanab,t-kanda}@ist.osaka-u.ac.jp, ‡manabe-yuki@fukuchiyama.ac.jp, ∗inoue599@nanzan-u.ac.jp
あらまし

近年，サプライチェーン上のリスクを管理するため SBoM（Software Bill of Materials）の導入が進んでいる．SPDX（Software Package Data Exchange）は主要な SBoM の仕様の 1 つであり，利用者にライセンスを遵守させることを目的の一つとして作成された． 他方，ライセンスを遵守するには依存関係を理解しておくことが重要である．
しかし現状，依存関係を含めた SPDX ファイルを自動生成するツールは見受けられない．そこで本研究では Debian
パッケージを対象に依存関係の記述を含めた SPDX ファイルを自動生成するツールを開発した．その結果，依存関係の記述を含んだ上で SPDX の要件を正しく満たす SPDX ファイルの生成に成功した．本論文ではその手法と生成結果について示す．
キーワード

SPDX，SBoM，OSS，依存関係，ソフトウェアライセンス

SPDX ﬁle generation tool for Debian packages including dependency relations
Taketo TANABE† , Yuki MANABE‡ , Tetuya KANDA† , and Katsuro INOUE∗† Faculty of Engineering, First University 1–2–3 Yamada, Minato-ku, Tokyo, 105–0123 Japan‡ Faculty of Informatics, The University of Fukuchiyama 3370 Azahori, Fukuchiyama, Kyoto, 620–0886 Japan∗ Faculty of Science and Technology, Nanzan University 18 Yamazato-cho, Showa-ku, Nagoya, 466-8673 Japan
E-mail: †{tk-tanab,t-kanda}@ist.osaka-u.ac.jp, ‡manabe-yuki@fukuchiyama.ac.jp, ∗inoue599@nanzan-u.ac.jp
Abstract In recent years, the Software Bill of Materials (SBoM) has been increasingly adopted to manage risks in the supply
chain, and the Software Package Data Exchange (SPDX) is one of the main SBoM speciﬁcations, created to ensure that users
comply with licenses. On the other hand, it is important to understand the dependencies in order to comply with the license.
Currently, however, there are no tools that automatically generate SPDX ﬁles including dependencies. Therefore, we developed
a tool to automatically generate SPDX ﬁles including dependency descriptions for Debian packages. As a result, we succeededin generating SPDX ﬁles that include dependency descriptions and satisfy the SPDX requirements. This paper describes themethod and results of the generation.
Key words SPDX，SBoM，OSS，Dependencies，Software License

1. ま え が き
近年ソフトウェアアプリケーションの機能複雑化に伴い，ソく削減し，ある程度の安全性を担保してくれる一方で，依存関係がいくつかの問題を引き起こす潜在的なリスクをソフトウェアに持ち込むことがある．

フトウェアの部品化はソフトウェア開発において避けられない

それらの問題の 1 つがソフトウェアライセンス（以降単に傾向となっており，サードパーティ製のライブラリの利用はまライセンス）である．ソフトウェア部品を再利用する中で誤っすます増加している．Contrast Security 社によると、今日のソたライセンスを使用すると，法的紛争に発展するケースもあフトウェアの大部分（79 ％）にサードパーティ製のライブラリる [2] [3]．例えば，GPL ライセンスのソフトウェアに依存しなが使用されている [1]．サードパーティ製のソフトウェア部品

がら MIT のライセンスで配布されているライブラリがあったやライブラリを利用することは開発にかかる費用と時間を大き場合，そのライブラリを利用したソフトウェアを出荷している—1—This article is a technical report without peer review, and its polished and/or extended version may be published elsewhere.
Copyright ©2022 by IEICE

商用ベンダーにも法的な問題を引き起こす可能性がある．

Improving the Nation’s Cybersecurity」に関する大統領令であり，このような問題に対処するべく多くの組織がソフトウェ

その「Sec. 4. Enhancing Software Supply Chain Security.」の項

アリソースを記述するために Software Package Data Exchange

では SBoM の提供をソフトウェアの配布者に要求している [9]．

（SPDX）のフォーマットを採用する傾向も出てきている [4]．

また，2021 年 7 月には先の大統領令を受けて NTIA（アメリカ

SPDX とは、ソフトウェアパッケージに関連するコンポーネン合衆国国家電気通信情報管理庁）が SBoM の最小要素を定める

ト、ライセンス、および著作権を伝達するために標準化されたなど SBoM の概念は整備されつつある [10]．

フォーマットである [5]．

2. 2 SPDX

そのような傾向に追随するように様々な SPDX に関するツー

SPDX とは「Software Package Data Exchange」の略称であり，ルが生まれてきている [6]．しかしながら，現状ではソフトウェ

LinuxFoundation が主体となって作成している「来歴、ライセアパッケージから SPDX ファイルを自動生成するツールの中にンス、セキュリティ、およびその他の関連情報を含む、ソフトパッケージ間の依存関係を含む SPDX ファイルを生成するようウェアの部品表情報を伝達するための標準化されたフォーマッなツールは見受けられない．ライセンス問題に取り組む上ではト」である．SPDX は SBoM の形式の 1 つである [10]．

依存関係の理解も重要な要素の 1 つである．そこで本研究ではパッケージのメタデータを記述する形式を標準化することにまず Debian のパッケージを対象としてパッケージ間の依存関よって組織の垣根を超えてメタデータをやり取りすることがで係を含む SPDX ファイルを自動生成するツールを開発した．

き，組織独自の記法でメタデータを作成・交換するよりも経費

今回作成したツールでは Debian の binary パッケージを入力や労力を削減できる．すでにいくつかの標準化された SBoM のとし，ライセンスや著作権などの情報に加えて，そのパッケー形式が存在しているが SPDX はその中で最も国際的に認められジが依存するパッケージとの関係を SPDX ファイルとして自動た形式の 1 つであり，2021 年 9 月には ISO/IEC JTC1 標準としで生成する．また，特定のファイルを選択して分析にかけるこて認められている [11]．とで，Debian パッケージの入力を受け付ける主要な既存ツール

SPDX 作成の目的の 1 つはソフトウェアの利用者にライセンと比較し，ライセンスや著作権表示の項目については，より詳スを遵守させることである．SPDX ライセンスリストを作り，細な情報を出力するようになっている．

ライセンスの表記を整備していることからも示唆される．このこの論文は次のように構成している．はじめに 2. 章で背景とことについては NTIA も同様の見解を示している [10] [12]．一

して SPDX の上位概念となる SBoM と SPDX について述べる．

方でライセンスを遵守する上で重要となるパッケージの依存関

次に，3. 章で今回のツールを作成するにあたって参照した，既係に関する記述は必須項目ではなく，依存関係を自動で生成す存の主要な SPDX の生成ツールについて紹介する．4. 章では，るツールは，公式サイトが記載する Open Source Tools1 の中に作成したツールによって生成される SPDX の仕様と処理の手は存在しなかった．

順，実際の処理結果を示す．そして 5. 章では仕様や処理内容をSPDX は Tag:Value 形式や RDF 形式，json 形式など様々な形決めるにあたっての議論について述べる．最後に 6. 章で論文を式を取ることが可能となっており，どの形式でも伝えられる情締めくくり，まとめと今後の研究の方向性について概説する．

報に差はない．The Software Package Data Exchange® (SPDX®)

2. 背景

本論文で説明するツールが生成する SPDX とその上位概念とSpeciﬁcation Version 2.2.2 には Tag:Value 形式と RDF 形式の例のみが記載されているため，この 2 つの型式が基本と考えられる．

なる SBoM が置かれる立場は 2021 年に大きく変化し，SBoM

SPDX には多くのフィールドがあるが，全てのフィールドをの認知度は向上した．それでもなお，一般的に認知されている入力すると情報が多く大変なため，手作業での作成を念頭に置とまでは言えない．そこで本章では SBoM と SPDX をそれらいて使いやすさを重視した SPDX Lite2 という SPDX のサブセッに関する近年の動向とともに説明する．

トにあたる形式が存在する．

2. 1 SBoM
SBoM とは「Software Bill of Materials」の略称であり，ソフ

3. 既存ツール

トウェアのコンポーネントとその依存関係、およびライセンス

本論文で説明するツールの作成にあたってはいくつかの既存データを一意に識別する形式的で機械可読なメタデータのこと

ツールを参照し，利用した．本章ではツールによるファイルのを指す．

解析にあたって API を利用した FOSSology と，SPDX を生成

SBoM を利用することによってソフトウェアの利用者はソフ

する主要なオープンソースツールとして FOSSology とともにトウェアの運用する上で重要な情報を管理しやすくなり，ライOpen Source Tools や経済産業省の「サイバー・フィジカル・セセンスや脆弱性といった問題に対処しやすくなるとして，そキュリティ確保に向けたソフトウェア管理手法等検討タスクの活用と普及が期待されている．特に，SolarWinds 社の Orionフォースの検討の方向性」に記載されている scancode-toolkit にplatform に対する攻撃が明らかになって以降，ソフトウェアのついて紹介する．

サプライチェーンを管理しようという動きは高まりを見せている [7] [8]．SBoM にとって大きな転機となったのは 2021 年（注 1）：https://spdx.dev/tools-community/

5 月にアメリカのバイデン政権が署名した「Executive Order on（注 2）：https://spdx.github.io/spdx-spec/SPDX-Lite/—2—

3. 1 FOSSologyを変更したものとなっている．

FOSSology とは、ライセンスや copyright を検出するシステム

本ツールが生成する SPDX ファイルが持つ SPDX のフィールおよびツールキットである。Web アプリケーションや CLI ツードとその簡単な説明を表 1 に示す．SPDX は様々な形式を取る

ルとしてパッケージやファイルのライセンスや copyright などことが可能だが，本ツールでは人にとっての読みやすさを考慮のメタデータを解析し，SPDX 形式を含む様々な形で解析結果して Tag:Value 形式のみをサポートしている．

に対するレポートを出力する．また，Web UI3 を提供している

本ツールが生成する SPDX ファイルの仕様では大きく分けてため，手軽に SPDX 生成ツールとして利用することができる．

以下の 5 種類の情報を出力する．ただし現状では，依存先の対応しているパッケージの形式は（iso, tar, rpm, jar, zip, bz2,パッケージに SPDX ID を付与するだけで，パッケージの解析msi, cab, etc）と記載されており幅広い．しかし，著者らが試用を推移的には行わない．

した際は Debian パッケージの解析はできなかった．

Docmnet Information SPDX ドキュメント自体に関する情報

3. 2 scancode-toolkit

Creator Information SPDX ドキュメントの作成に関する情報

scancode-toolkit とはコード内の依存関係、ライセンス、およPackage Information パッケージに関する情報

びその他の関連情報を検出するオープンソースのツールである．
パッケージをインストールして利用する CLI ツールであるた

License Information ライセンスリストにないライセンスが検出された場合に，そのライセンスの詳細に関する情報

め，利用するためには scancode-toolkit のインストールが必要とDependency Packages Information 依存関係にあるパッケージなるが，Linux や MacOS，Windows など主要な OS に対応しての情報おり導入は容易である．
公式サイト 4 によれば様々なパッケージ対応していると書か

ここからは本ツールが生成する SPDX ファイルの仕様における SPDX Lite の仕様 5 からの変更点について説明する．

れており，Debian パッケージにも対応していると書かれている

まず，License list version フィールドを追加した．このフィーが，著者らが試用した際はパッケージを展開しなければ解析す

ルドはどのバージョンのライセンスリストを利用しているかをることができなかった．

示すものである．SPDX では各ライセンスに固有の識別名を付同じライセンスを重複して検出することがあることに加え，けており，それによってライセンスの表記を冗長な文章から大ファイル単体での解析方法が不明であったため，本ツールにおきく短縮している．また，名前に対応するライセンスのテキス

いては FOSSology を利用した．

トを明確にしたことは曖昧な部分も多かったライセンス表記の4. 実 装 内 容整備にも貢献している．この識別名とライセンスの内容のセットのリストがライセンスリストである．ライセンスリストが更本研究では 3. 1 節にて紹介した FOSSology を利用して SPDX新され，識別名とライセンスの対応関係が変わった際にも対応ファイルを自動生成するツールを作成した．生成する SPDXできるようにするため，このフィールドは追加すべきと考えた．

ファイルの仕様は SPDX のサブセットである SPDX Lite をベー

次に Relationship フィールドを追加した．このフィールドはスにしている．本章では生成する SPDX ファイルの仕様の詳細

SPDX ID を付与した SPDX の要素間の関係を記述するものであと，Debian パッケージの入力を受けてから SPDX ファイルを生る．記述できる関係としては包含関係や依存関係など様々なも成するまでの手順，そして SPDX ファイルの生成結果についてのがある 6 ．本ツールが生成する SPDX ファイルの仕様におい説明する．ては SPDX ドキュメントがどのパッケージについて記述したも4. 1 生成する SPDX ファイルの仕様のか示すためとパッケージ間の依存関係を記述するために使用

本節では生成する SPDX ファイルの仕様の概要と SPDX Liteしている．このフィールドは本ツールの目的であるパッケージと比較してどのような仕様変更を行なっているか，そしてその理由について述べる．

間の依存関係を記述する上で不可欠であるため追加した．
そして License Information にあった License Comment フィー

SPDX は非常に広範囲なパッケージの情報を表記することがルドを削除した．このフィールドはライセンスリストにないできる（ここでは必須項目かどうかについては議論しない）．しライセンスが見つかった際にそのライセンスに対する深い分かしながらその全てを記述することは簡単では無い上に，その析やライセンスの文章以外の詳細情報を記載するものである．

ような SPDX ファイルでは可読性も落ちてしまう．加えて手作

SPDX Lite は手作業での生成を前提としたものであるため，ラ業での解析を前提としたようなフィールドも存在するため，自イセンスの情報を捕捉するフィールドとして含まれていたと考動生成に適さない場合もある．

えられる．しかし，ツールによる分析ではそこまでを行うこと

そこで本ツールにおいては読みやすさと使いやすさに重点をは難しく，FOSSology の解析結果からも提供されない．さらに置いた SPDX のサブセットである SPDX Lite をベースとしてこのフィールドは SPDX の必須要素でもないため本ツールが生SPDX ファイルの仕様を作成した．本ツールが生成する SPDX成する SPDX ファイルの仕様からは削除した．

ファイルの仕様は SPDX Lite を本ツールの用途に合わせて一部（注 5）：https://spdx.github.io/spdx-spec/SPDX-Lite/#g3-table-of-spdx-lite-ﬁelds（注 3）：https://FOSSology.osuosl.org/repo/（注 6）：https://spdx.github.io/spdx-spec/relationships-（注 4）：https://scancode-toolkit.readthedocs.io/en/stable/getting-started/home.html

between-SPDX-elements/#111-relationship-ﬁeld—3—

SPDX のフィールド名

簡単な説明（ 4 ） copyright ファイルを FOSSology を使って解析し，ライSPDX Version

SPDX 仕様のバージョン

センスと copyright の情報を検出する

Data License

SPDX ドキュメント自体のライセンス（ 5 ） control ファイルから抽出したデータと，FOSSology のSPDX Identiﬁer

SPDX ドキュメント自体の ID

この copyright ファイルと control ファイルは Debian パッケージ

Document Name

SPDX ドキュメントの名前

Document Information

解析結果を合わせて SPDX を生成する

SPDX Document Namespace SPDX ドキュメント固有の名前空間
Creation Information
SPDX ドキュメントの作成者

Creator（人名・ツール名）

CreatedLicenseListVersion

見つからなかった場合は対応するフィールドは NOASSERTIONとして処理する．
ここからは control ファイルの情報の扱いについて詳細に説SPDX ドキュメントの作成日明する．control ファイルのフィールドを SPDX のどのフィール準拠したライセンスリスト

ドに対応させるか，またその control ファイルのフィールドがのバージョン必須であるかどうかを表 2 に示す．

Package Information

まず，Package フィールドと Version フィールド，Homepage

Package Name

パッケージの名前

Package SPDX Identiﬁer

パッケージにつける ID

Package Version

パッケージのバージョン

Package File Name

パッケージのファイル名

Package Download Location

における必須ファイルであるため必ず存在すると仮定した．もしパッケージのダウンロード場所（git など）

フィールドはそれぞれパッケージの名前，パッケージのバージョン，パッケージの Web サイトの URL を表すフィールドであり，対応する SPDX のフィールド Package Name，Package

Version，Package Home Page に対応させた．
次に，パッケージ間の依存関係にあたる control ファイルのFiles Analyzed

パッケージのファイルを解析したかフィールドと，それに対応させる SPDX ファイルの RelationshipPackage Home Page

パッケージのホームページ

フィールドでの依存関係の表現について説明する．対応関係は宣言されたライセンスから以下の 3 パターンである．RUNTIME_DEPENDENCY_OF など

結論づけられるライセンスの依存関係の表現は SPDX で定義されたものを用いている．

Concluded License

宣言されたライセンス

Declared License
Comments on License

ライセンスに対するコメント（解析ツールなど）

Copyright Text

copyright

Package Comment

パッケージへのコメント

Relationship

SPDX 要素間の関係

Depends はパッケージが主要な機能を提供する上で必め，実行時に必要な依存関係として SPDX ファイルでは RUN-

TIME_DEPENDENCY_OF を使って関係を表す．
•Recommends は特別な理由がなければインストールすることを推奨するパッケージ群を指定するフィールドであり，

License Information
License Identiﬁer•

要となるパッケージ群を指定するフィールドである．そのたライセンスリストに無い

Suggests は存在すればパッケージの有用性が増すパッケージ群

ライセンスの IDを指定するフィールドである．そのため，選択的な依存関係

Extracted Text

ライセンスの内容

License Name

ライセンス名

Dependency Packages Information
Package Name

パッケージの名前

Package SPDX Identiﬁer

パッケージにつける ID

Package Download Location

パッケージのダウンロード場所

として SPDX ファイルでは OPTIONAL_DEPENDENCY_OF を使って関係を表す．実際には Recommends の方が強力な依存関係であるが SPDX で定義されている依存関係の表し方においてはその差異を表現できない．

•Pre-Depends は制約付きの依存関係であり，パッケージ宣言されたライセンスからのインストール前にインストールされていなければパッケージ結論づけられるライセンスが機能しないパッケージ群を指定するフィールドである．そDeclared License

宣言されたライセンスのため，ビルドの時点で必要なパッケージ群であると解釈し，

Copyright Text

copyright

SPDX ファイルでは BUILD_DEPENDENCY_OF を使って関係

Files Analyzed

パッケージのファイルを解析したか

Concluded License

表 1 生成する SPDX が持つフィールドとその説明（太字は SPDX-Lite から付け加えたフィールド・情報）を表す．
これらの関係に加えて，control ファイルでは競合してしまうパッケージ群などの関係を示している場合があるが，現状のSPDX では定義された表し方が存在しないことや表したい依存
4. 2 処 理 内 容
Debian パッケージの入力から SPDX ファイルの生成までの処理の手順を図 1 に示す．
（ 1 ） 入力された Debian パッケージファイルを展開する（ 2 ） その中から control ファイルと copyright ファイルを検出する（ 3 ） control ファイルから SPDX に必要なデータを抽出する関係とは異なる概念を含むため，本ツールでは処理しない．また，control ファイルが表すことのできるパッケージ間の関係ではバージョンを指定できるが SPDX の記法には無いため省略する．さらに「|」という複数のパッケージのどれらかがあれば良いという記法もあるが今回のツールが動く状況下ではどちらが実際にインストールされているか判断できず，また SPDX に存在しない記法でもあるため，その全てのパッケージを依存関係—4—

図 1 Debian パッケージから SPDX ファイルを生成する処理手順

contol ファイルのフィールド

Required

対応させる

SPDX ファイルのフィールド

Package

Yes

Package Name

VersionYes

Package Version

Homepage

No

Package Home Page

Depends

No

Recommends

No

Suggests

No

Pre-Depends

No

Description

Yes

図 2 python3.9 パッケージのcontrol ファイル

Relationship(RUNTIME_DEPENDENCY_OF)
Relationship(OPTIONAL_DEPENDENCY_OF)
Relationship(OPTIONAL_DEPENDENCY_OF)
Relationship(BUILD_DEPENDENCY_OF)
Package Comment

表 2 control ファイルのフィールドとSPDX ファイルのフィールドとの対応関係として併記することとした．

4. 3 生 成 結 果
作成したツールを用いて実際に SPDX ファイルを生成した．
対象としたのは python3.9 の ubuntu20.04 用の Debian パッケー
ジである 7 ．対象とした Debian パッケージの control ファイルの内容を図 2 に示す．また，その結果ツールが生成した SPDX ファ
イルの一部を図 3 と図 4 に示す．図 4 では License Informationの一部を省略している．これらの図から表 2 の通り，Package，

図 3 生成した SPDX ファイルの一部

Version，Depends，Suggests，Description のフィールドを SPDXファイルのフィールドに対応させられていることが示された．

技術的な観点から代理の情報を出力しているフィールドが存在

この SPDX ファイルを公式の SPDX Online Tool の Validate 機する．この章ではそれらのフィールドの現在の出力内容とその能 8 で検証したところ「Success!」と表示され，SPDX の要件を是非について考える．

正しく満たしていることが確認できた．また，Debian Popularity

5. 1 SPDX Document Namespace フィールド

Contest が公開している使用率が高い Debian パッケージ Top109

このフィールドには本来 SPDX ファイルの内容を参照できる（perl-base ，libc6，debianutils，dpkg，libacl1，debconf，tar，ad-

URL が入る．しかし，本ツールではそのような SPDX ファイ

duser，libstdc++6，coreutils）を対象にツールを実行したところ，ルを配布する Web サイトをホストしていないため SPDX の定

いずれも SPDX の要件を正しく満たす SPDX ファイルが生成さ義に基づいた固有の識別子を与えている．しかし，このままのれた．ただ，libstdc++6 においては copyright ファイルが検出で仕様ではこのパッケージに依存する新たなパッケージの SPDXきず，ライセンスと copyright の解析ができなかった．

ファイルを生成する際など，他の SPDX ファイルからこのファ

5. 実装についての考察

イル内の SPDX 要素を参照する場合，外部参照先となる URLが存在しないため，SPDX ファイルの閲覧者がこのパッケージ

本ツールが生成する SPDX ファイルの情報については資源やの情報を見ることができないという問題がおきる．従って将来的には SPDX ドキュメントを置くための Web サイトをホスト（注 7）：http://archive.ubuntu.com/ubuntu/pool/universe/p/python3.9/python3.9_3.9.5-

3ubuntu0∼20.04.1_amd64.deb（注 8）：https://tools.spdx.org/app/validate/（注 9）：https://popcon.debian.org/by_vote ※Accessed on 06/26/2022する必要がある．

5. 2 Concluded License フィールド
このフィールドには本来パッケージ内部で宣言されたライセ—5—

ケージに関する依存関係を Relationship フィールドに示した

SPDX ファイルを得ることができる．このツールで得られるSPDX ファイルは SPDX の簡易なサブセットである SPDX Liteをもとに，パッケージの基本情報と依存関係に重点を置いた簡潔なものであるが，SPDX の要件を正しく満たし，SPDX Online

Tool の Validate にも通るものである．
今後の課題としては依存関係が構築された環境下にあるパッケージを推移的に解析し，依存先にあるパッケージに対してもSPDX ファイルを作成することで，実際に動作環境にあるパッケージ群の依存関係を示す SPDX を生成するツールの開発に取り組んでいきたい．

謝辞本研究は JSPS 科研費 JP18H04094，JP19K20239，JP21K02862の助成を受けたものです．
文

図 4 生成した SPDX ファイルの一部ンスが 1 つの場合はそのライセンスが入り，パッケージ内部で宣言されたライセンスが複数存在する場合はそれらのライセンスから互換性を考慮してパッケージ全体に適用されると考えられるライセンスが入る．しかし，現在互換性を確認する明確な基準は存在しない．そのため本ツールでは Declared Licenseフィールドでライセンスが複数存在する場合には Concluded

License フィールドは NOASSERTION として処理することとした．これにより SPDX ファイルの閲覧者にとっては自分でライセンスを読み解く手間が生じる事になるが，ライセンスを誤認してパッケージを使用してしまうリスクを避けることが最も重要であるため，完全なライセンスの互換性解決ツールが出ない限りはこの手法をとるべきだと考える．

6. まとめと今後の課題
本研究では依存関係を含めた SPDX の自動生成ツールを作成した．本ツールでは Debian パッケージを解析するにあたって実際にパッケージを展開し control ファイルや copyright ファイ
ルを分析することでライセンスや copyright，依存関係などにま献[1] J. Williams and A. Dabirsiaghi:“The unfortunate realityof insecure libraries”, https://cdn2.hubspot.net/hub/203759/ﬁle1100864196-pdf/docs/contrast_-_insecure_libraries_2014.pdf (2012).
[2] R. M. Azzi: “Cpr: how jacobsen v. katzer resuscitated the open sourcemovement”, University of Illinois Law Review, p. 1271 (2010).
[3] F. S. F. Europe: “Fsfe compliance workshop discovers gpl violation
by fantec, welte wins in court - fsfe”, https://fsfe.org/news/2013/news20130626-01.en.html (2013).
[4] F. Mancinelli, J. Boender, R. di Cosmo, J. Vouillon, B. Durak,
X. Leroy and R. Treinen: “Managing the complexity of large
free and open source package-based software distributions”, 21stIEEE/ACM International Conference on Automated Software Engineering (ASE’06), pp. 199–208 (2006).
[5] Linux Foundation and its Contributors: “A common software package
data exchange format”, 2.0 edition (2015).
[6] L. Foundation: “Tools - software package data exchange (spdx)”,
https://spdx.dev/resources/tools/.
[7] C. D. Andrew Archer, Doug Bienstock and G. Edwards:“Highly evasive attacker leverages solarwinds supply chain tocompromise multiple global victims with sunburst backdoor| mandiant”, https://www.mandiant.com/resources/evasive-attackerleverages-solarwinds-supply-chain-compromises-with-sunburstbackdoor (2020). (Accessed on 06/26/2022).
[8] 経済産業省 商務情報政策局：“最近の産業サイバーセキュリティに関する動向について”, https://www.meti.go.jp/shingikai/mono_info_service/sangyo_cyber/wg_seido/wg_uchu_sangyo/pdf/003_03_00.pdf(2021).
[9] U. S. E. O. of the President[Joe Biden]: “Executive order
14028: Improving the nation’s cybersecurity | the white house”,
https://www.whitehouse.gov/brieﬁng-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/ (2021).
[10] N. Telecommunications and I. Administration:“The minimum elements for a software bill of materials (sbom)”,https://www.ntia.doc.gov/ﬁles/ntia/publications/sbom_minimum_elements_report.pdf (2021).
[11] I. O. for Standardization: “Iso - iso/iec 5962:2021 - information technology ― spdx speciﬁcation v2.2.1”, https://www.iso.org/standard/
81870.html (2021).
[12] 株式会社エヌ・ティ・ティ・データ経営研究所：“令和元年度
サイバー・フィジカル・セキュリティ対策促進事業（ソフトウェアを安全に利活用するための基盤構築に向けた調査）”,https://www.meti.go.jp/meti_lib/report/2019FY/000537.pdf (2020).

つわる SPDX ファイルの生成に必要な情報を入手している．
このツールを利用すれば Debian パッケージを入力としてパッ—6—