OSS-RISK-9 未承認の変更 (Unapproved Change)
説明:
コンポーネントは開発者がそのような変更に気付いたり、レビューしたり、承認することができないまま、変更される可能性があります。たとえば、ダウンロードリンクがバージョン管理されていないリソースを指している、バージョン管理されているリソースが安全でないデータ転送で改変や改竄されている、などの理由です。
異なる時点でダウンロードされた際に同一であることが保証されていないコンポーネントを使用することは、主にセキュリティ上のリスクになります。Codecov Bash Uploader などに対する攻撃は、ダウンロードされたスクリプトの完全性を事前にチェックせずに直接 bash にパイプするリスクを示しています。変異コンポーネントはソフトウェアビルドの安定性と再現性も脅かします。
事例:
CI/CD パイプラインにおけるバージョン管理されていないシェルスクリプトへの参照
Codecov bash uploader (2021)
コミット識別子のない Git リポジトリへの参照
パッケージレジストリへの安全でない HTTP リンク
CVE-2021-26291 in Apache Maven (2022)
対応:
常に同じ不変のアーティファクトを指すことを保証する (あるいは少なくともある程度の保証がある) リソース識別子を使用します。
コンポーネントのダウンロード後、インストールや使用する前にダイジェストや署名を検証します。
MITM 攻撃を避けるために、接続や配布には安全なプロトコルを使用します。
参照:
SLSA Immutable Reference
OWASP Top 10:2021 A08:2021 - Software and Data Integrity Failures
Last updated