無効なサブリソースのインテグリティ値の検出
説明
JavaScript または CSS ソースファイルに無効なサブリソース整合性(SRI) integrity
値が含まれているか、crossorigin
値が欠落していることが判明しました。これらのスクリプトやリンクが悪意を持って変更されていないことを確認してください。疑わしい場合は、スクリプトのオーナーに連絡するか、既知の良いバージョンに置き換えてください。
対処法
すべての識別されたリソースは、ターゲット・アプリケーションと同じドメインからソースされるべきです。これが不可能な場合、src
値を実装するすべてのscript
タグ、またはhref
値を実装するlink
タグに Sub-Resource Integrity を含めることを強く推奨します。SRIインテグリティ値を生成するには、SRIハッシュツールを使用するか、以下のコマンドのいずれかを実行します:
cat FILENAME.js | openssl dgst -sha384 -binary | openssl base64 -A
shasum -b -a 384 FILENAME.js | awk '{ print $1 }' | xxd -r -p | base64
これらのツールの出力は、追加属性として追加する必要があります。特に、integrity
、crossorigin=anonymous
またはcrossorigin=use-credentials
のいずれかです。有効なSRI保護スクリプトタグの例を以下に示します:
<script src="https://example.com/example-framework.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
crossorigin="anonymous"></script>
詳細
ID | 集計 | CWE | 種類 | リスク |
---|---|---|---|---|
829.2 | true | 829 | 受動的 | 中規模 |