feat(deps): maak aantoonbaar dat de gebundelde JavaScript onaangeraakt is (#641) #657
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!657
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/js-verificatie"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
De HTML-export levert bijna 6 MB vreemde JavaScript bij de ontvanger af. De eerste vraag die een reviewer daarover stelt is terecht: waarom zou ik geloven dat jullie niet aan 3,5 MB geminificeerde mermaid hebben gezeten?
make deps-checkbeantwoordde die vraag niet. Die vergelijkt elk bestand met desha256inMANIFEST.json, en die staan in dezelfde repository — wie het ene verandert, verandert het andere. Dat vangt een ongeluk of een halve upgrade, geen bewuste bewerking.Wat het wél beantwoordt is de
source-URL die de manifest per bundel al bijhield, en die route bleek te houden. Nagemeten voor alle zes, niet steekproefsgewijs: marked, highlight.js, DOMPurify, mermaid, MathJax en de highlight.js-stylesheet zijn byte-identiek aan upstream.Wat erbij komt
dart run tool/check_bundled_js.dart --verify-upstreamhaalt elke bundel opnieuw op en vergelijkt de hash.Opt-in en bewust niet in
make deps-check: het trekt ~6 MB van een CDN, en de dagelijkse poort hoort niet te vallen omdat andermans CDN plat ligt. Die afweging staat in de kop van het gereedschap.Waar het staat
docs/SBOM.mdkrijgt een eigen kopje, mét de handmatige variant:Dat is er met opzet bij: zo hoef je dít gereedschap ook niet te vertrouwen.
THIRD_PARTY_NOTICES.mdverwijst er bovenaan naar, want dat is het bestand waar iemand met deze vraag als eerste kijkt.make checkgroen.Closes #641