.DS_Store staat live op ocideck.librekat.nl en zit in de gepubliceerde SHA256SUMS #1888
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#1888
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?
https://ocideck.librekat.nl/.DS_Storegeeft HTTP 200, 6148 bytes.Het staat ook in de gepubliceerde checksumlijst — het is dus geen restant op de
host maar zat in de bundel die de deur uit ging:
Een
.DS_Storeis Finder-metadata en bevat de bestands- en mapnamen van de mapwaar hij uit komt. Op een publieke webhost is dat een standaardbevinding: het
geeft een directory-listing weg van de buildmap zonder dat er een listing
aanstaat. Laag risico hier — het is een buildmap, geen documentwortel — maar het
hoort er niet en het is triviaal te voorkomen.
Waarom geen poort hem ving
tool/pack_web_release.dartheeft precies hiervoor een lijst:.DS_Storestaat er niet op..gitignorevangt hem wel (hij komt de repo nietin), maar de bundel wordt uit
build/webgebouwd en die map is niet gitignoredgebied — hij krijgt een
.DS_Storezodra iemand hem in Finder opent.Ook gemist door:
make check-web(webharding) — kijkt naar headers en CSP, niet naar wat er inde bundel zit;
make check-release— een ZAP-baseline spidert niet naarverborgen bestanden.
Het breekt ook de reproduceerbaarheid
De doc-comment bij
.last_build_idlegt uit waarom dat bestand eruit moet: hetverschilt per bouwmachine, dus wie zelf bouwt kan de gepubliceerde digest nooit
reproduceren.
.DS_Storeheeft exact die eigenschap — hij hangt af van ofiemand de map in Finder heeft geopend. Zolang hij meegaat in
SHA256SUMSis degepubliceerde digest van de webbundel niet reproduceerbaar, en dat raakt het
werk uit #1027/#1033.
Voorstel
.DS_Store(en breder: elk bestand dat met.begint en niet inreleaseArtefactenstaat) opnietUitleverenintool/pack_web_release.dart, met een test die het vastlegt.pack_web_release.dart --checkniet standaard moet klagen overonverwachte bestanden in de bundel in plaats van alleen over ontbrekende —
een allowlist in plaats van een denylist sluit de hele klasse.
Gevonden bij een kritische review van het kwaliteitsbewakingssysteem, 31-08-2026.