OSS-RISK-9 未承認の変更 (Unapproved Change)

説明:

コンポーネントは開発者がそのような変更に気付いたり、レビューしたり、承認することができないまま、変更される可能性があります。たとえば、ダウンロードリンクがバージョン管理されていないリソースを指している、バージョン管理されているリソースが安全でないデータ転送で改変や改竄されている、などの理由です。

異なる時点でダウンロードされた際に同一であることが保証されていないコンポーネントを使用することは、主にセキュリティ上のリスクになります。Codecov Bash Uploader などに対する攻撃は、ダウンロードされたスクリプトの完全性を事前にチェックせずに直接 bash にパイプするリスクを示しています。変異コンポーネントはソフトウェアビルドの安定性と再現性も脅かします。

事例:

  1. CI/CD パイプラインにおけるバージョン管理されていないシェルスクリプトへの参照

  2. コミット識別子のない Git リポジトリへの参照

  3. パッケージレジストリへの安全でない HTTP リンク

対応:

  1. 常に同じ不変のアーティファクトを指すことを保証する (あるいは少なくともある程度の保証がある) リソース識別子を使用します。

  2. コンポーネントのダウンロード後、インストールや使用する前にダイジェストや署名を検証します。

  3. MITM 攻撃を避けるために、接続や配布には安全なプロトコルを使用します。

参照:

Last updated