📗
owasp-open-source-software-top-10-ja
  • OWASP Open Source Software Top 10 ja
  • OWASP オープンソースソフトウェア Top 10 日本語版
    • オープンソースソフトウェア Top 10
    • OSS-RISK-1 既知の脆弱性 (Known Vulnerabilities)
    • OSS-RISK-2 正規パッケージの侵害 (Compromise of Legitimate Package)
    • OSS-RISK-3 名前混乱攻撃 (Name Confusion Attacks)
    • OSS-RISK-4 メンテナンスされていないソフトウェア (Unmaintained Software)
    • OSS-RISK-5 古いままのソフトウェア (Outdated Software)
    • OSS-RISK-6 追跡されていない依存関係 (Untracked Dependencies)
    • OSS-RISK-7 ライセンスのリスク (License Risk)
    • OSS-RISK-8 未成熟なソフトウェア (Immature Software)
    • OSS-RISK-9 未承認の変更 (Unapproved Change)
    • OSS-RISK-10 過小または過大な依存関係 (Under/over-sized Dependency)
Powered by GitBook
On this page
  1. OWASP オープンソースソフトウェア Top 10 日本語版

OSS-RISK-6 追跡されていない依存関係 (Untracked Dependencies)

PreviousOSS-RISK-5 古いままのソフトウェア (Outdated Software)NextOSS-RISK-7 ライセンスのリスク (License Risk)

Last updated 1 year ago

説明:

プロジェクト開発者はコンポーネントへの依存関係を全く認識していない可能性があります。たとえば、アップストリームコンポーネントの SBOM の一部ではない、SCA ツールが実行されていないか検出されていない、依存関係がパッケージマネージャを使用して確立されていない、などの理由です。

誰も認識していないため、それぞれのコンポーネントに何か他の欠陥がないかチェックしたり監視することはできません。

事例:

  1. アップストリームコンポーネントとして受け取ったり、SCA ツールによって生成された不完全な SBOM

  2. 管理された (追跡された) 依存関係にサードパーティのコードの包含。例を以下に示します。

    • コードスニペット

    • ソースコードファイル (依存関係のソースにそのままコピーされ、"vendored" とも呼ばれます)

    • コンパイルされたコード (プラットフォーム固有のバイナリや、Java アーカイブ/クラスファイル、rebundling とも呼ばれます)

  3. PIP や Maven などのパッケージマネージャのマニフェストファイルを通じて確立されていない依存関係。たとえば、brew や apt-get を通じて手動またはスクリプトでインストールしています。

  4. IDE プラグイン、ビルドスクリプト、テスト依存関係、その他の開発者ツールは、依存ソフトウェア自体には含まれていませんが、依然としてセキュリティと運用上のリスクをもたらします。

対応:

  1. 粗い粒度レベル (Maven や npm などのパッケージマネジメントツールの助けを借りて宣言された依存関係など) と細かい粒度レベル (「帯域外」つまりパッケージマネージャを使用せずに含まれる単一ファイルなどのアーティファクトなど) の両方で、正確な部品表を作成する機能に関して SCA ツールを評価及び比較します。

参照:

  1. OWASP Software Component Versification Standard (SCVS)

  2. rebundling の研究

    • Seth Larson: (2023)

    • J Rack, et al.: (2023)

    • A Dann, et al.: (2021)

  3. Anand Sawant: (2023)

V1 Inventory and V2 Software Bills of Materials
Patching the libwebp vulnerability across the Python ecosystem
Jack-in-the-box: An Empirical Study of JavaScript Bundling on the Web and its Security Implications
Identifying Challenges for OSS Vulnerability Scanners - A Study & Test Suite
Dependency Resolution in Python: Beware The Phantom Dependency