# security/sri-external-resources

Cross-origin scripts and stylesheets carry SRI integrity hashes. Reglen security/sri-external-resources kører i page-scope med severity 'error' og indgår i sikkerhed-domænet sammen med 4 andre kontrakter i frameworket.

## Hvorfor sri-external-resources findes

Without Subresource Integrity, a compromised third party gets arbitrary code execution on your origin (supply-chain XSS). Every cross-origin <script src> and <link rel=stylesheet> needs integrity + crossorigin attributes — or better, self-host the resource.

## Sådan håndhæves sri-external-resources

Reglen sri-external-resources evalueres på hver enkelt renderet HTML-side for sig, så et fund altid kan føres tilbage til én konkret side og én konkret rettelse i data eller template. Fejler en side, får agenten en finding, hvor fix-instruktionen for sri-external-resources er formuleret som en konkret arbejdsordre med filnavne og målbare krav — aldrig et vagt råd. Severity 'error' betyder at et brud på sri-external-resources fejler hele verifikationen med exit-kode 1, så hverken CI eller en agent kan skibe sitet før fundet er rettet.

## Test og fixtures

Som alle kontrakter i frameworket har security/sri-external-resources en mutant-test, der beviser at reglen fejler, når kravet brydes — en regel uden en fejlende test er ikke en regel. Golden-fixturet beviser omvendt, at en fuldt compliant side består sri-external-resources sammen med de øvrige 85 regler, og denne demoside er selv underlagt hele kontrakten.

## Relaterede regler

- [security/no-base-tag](https://pseo.mikkelkrogsholm.dk/regler/security/no-base-tag/)
- [security/no-mixed-content](https://pseo.mikkelkrogsholm.dk/regler/security/no-mixed-content/)
- [security/noopener](https://pseo.mikkelkrogsholm.dk/regler/security/noopener/)
