OSS-RISK-4 メンテナンスされていないソフトウェア (Unmaintained Software)
説明:
コンポーネントやコンポーネントバージョンは今後積極的に開発やサポートされない可能性があります。つまり、新機能やセキュリティバグに対するパッチが開発されない可能性があります。
そのため、パッチの開発は、影響を受けるコンポーネントに関する経験や知識が潜在的に少ないダウンストリーム開発者が行う必要があるかもしれません。
この結果、作業量が増大し、解決に要する時間が長くなる可能性があります。その間、継続的な露出を避けるために、システムへのアクセスや機能を制限する必要があるかもしれません。
事例:
core-js (npm, 2020)
Gorilla Web Toolkit (Go, 2022)
minimist (npm, 2022)
対応:
プロジェクトの活性と健全性の指標をチェックします。
ただし、アクティビティが少ないことが成熟の証となる可能性もあることに注意してください。機能が完成し成熟したとみなされるプロジェクトは活発に開発が行われているプロジェクトよりもアクティビティが少なくなりますが、問題が発生した場合には依然としてタイムリーにパッチを受け取ることができます。
指標の例:
最近のイシューとコミットアクティビティはプロジェクトがアクティブであることを意味します。
外部貢献者によってオープンされたイシューの比率が高いことはプロジェクトがアクティブであることを示しています。
企業関連アカウントからのアクティビティはプロジェクトが信頼できる支援とサポートを得られることを示しています。
信頼できるアカウントからのアクティビティはリポジトリが適切に維持されていることを示しています。
頻繁にリリースされているリポジトリはコードベースのメンテナンスとサポートへのコミットメントを示しています。
プロジェクトのメンテナンスやサポート戦略に関する情報 (長期サポート (LTS) バージョンの有無や日付など) を検索します。
Spring プロジェクトは サポート期間 をドキュメント化している優れた事例です。
プロジェクトページをチェックして、アーカイブされているかどうか、プロジェクトのメンテナンスステータスに関する明示的な記述があるかどうかを確認します。
参照:
OWASP Top 10:2021 A06:2021 - Vulnerable and Outdated Components
Common Weakness Enumeration (CWE) CWE-1104: Use of Unmaintained Third Party Components
Last updated