Tijdsvervallende controles hebben geen klok: OSV-CVE's op de gebundelde JS, licenties en pins draaien alleen als iemand ze typt #1892
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#1892
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Een deel van de controles in deze repo verandert van uitkomst zonder dat er
iets aan de code verandert. Een CVE verschijnt, een standaard krijgt een
nieuwe editie, een actie krijgt een nieuwe release. Zulke controles hebben een
klok nodig, geen wijzigingstrigger. Ze hebben er geen.
Er is precies één geplande workflow in de hele repo:
.forgejo/workflows/tap-mirror-check.yml(dagelijks, 05:17 UTC, over deHomebrew-spiegel). Verder staat er nergens een
schedule:.Wat daardoor alleen draait als iemand het typt
make deps-check→check_bundled_js.dartapi.osv.dev) op de gebundelde marked, highlight.js, DOMPurify, mermaid, MathJax in de HTML-exportmake deps-check→check_reference_data.dartmake licensesmake trivymake catalogs-outdatedmake check-pinsmake deps-outdatedmake check-webdraait alleen inrelease.yml(op een tag). De rest zit incheck-full, encheck-fullstaat in geen enkele workflow.Waarom dat anders ligt dan bij de andere poorten
De rest van het systeem is netjes wijzigingsgestuurd: raak je iets, dan toetst
een poort het. Dat is voor code de juiste vorm. Voor deze zeven is het de
verkeerde: de gebeurtenis die ertoe doet gebeurt buiten de repo. Een
kwetsbaarheid in een gebundelde JS-bibliotheek wordt niet gepubliceerd op het
moment dat iemand hier een commit doet. Als niemand in vier weken
make check-fulltypt, weet dit project vier weken niets.Dat weegt zwaarder omdat de webexport die bundels inline in het geëxporteerde
HTML-bestand zet: een kwetsbare DOMPurify of marked reist mee in elk document
dat een gebruiker exporteert en doorstuurt.
Voorstel
Eén wekelijkse workflow — bijvoorbeeld
supply-chain.yml, maandag, op decapacity-4-baan — die
deps-check,licenses,check-pinsencatalogs-outdateddraait op de kop vanmain. Blokkerend waar hij dat lokaalook is (
deps-check,licenses), adviserend waar hij dat is(
catalogs-outdated,check-pins).Aandachtspunt: OSV is een netwerkaanroep en kan onbereikbaar zijn.
check_bundled_js.dartmeldt dat al netjes apart (OSV UNREACHABLE, "COULD NOTVERIFY CVEs — integrity passed"). Die uitkomst moet in een geplande run
zichtbaar anders zijn dan groen, anders vervangt "kon niet meten" stilletjes
"niets gevonden".
Gevonden bij een kritische review van het kwaliteitsbewakingssysteem, 31-08-2026.