SSRF-poort: bewaak ook een tweede client in een al toegelaten bestand #471

Merged
brenno merged 1 commit from fix/ssrf-buildguard into main 2026-07-22 00:41:00 +00:00
Owner

Uit de externe audit (X-03). De bevinding zelf — "geen build-guard tegen een vergeten 8e egress-site" — is inmiddels achterhaald: test/network_sink_guard_test.dart bewaakt HttpClient, package:http, dio en rauwe sockets, breder dan de audit voorstelde.

Wat er wél nog open stond is de granulariteit. De allowlist werkt per bestand, dus een tweede, ongepinde client in een al toegelaten bestand glipt erdoor. Dit legt het aantal per bestand vast als ratchet.

Beide richtingen getoetst: nul op de repo, rood op een geplante overtreding. make check groen.

Uit de externe audit (X-03). De bevinding zelf — "geen build-guard tegen een vergeten 8e egress-site" — is inmiddels achterhaald: `test/network_sink_guard_test.dart` bewaakt HttpClient, package:http, dio en rauwe sockets, breder dan de audit voorstelde. Wat er wél nog open stond is de granulariteit. De allowlist werkt per bestand, dus een tweede, ongepinde client in een al toegelaten bestand glipt erdoor. Dit legt het aantal per bestand vast als ratchet. Beide richtingen getoetst: nul op de repo, rood op een geplante overtreding. `make check` groen.
test(ssrf): bewaak ook een tweede client in een al toegelaten bestand
Some checks are pending
CI / Test (macos-latest) (push) Waiting to run
CI / Test (windows-latest) (push) Waiting to run
CI / Web hardening (push) Waiting to run
CI / Docs links (push) Waiting to run
CI / Supply-chain (Trivy · advisory) (push) Waiting to run
CI / Gate (Linux) · Format · Analyze · Coverage (push) Waiting to run
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Waiting to run
CI / Test (macos-latest) (pull_request) Waiting to run
CI / Test (windows-latest) (pull_request) Waiting to run
CI / Web hardening (pull_request) Waiting to run
CI / Docs links (pull_request) Waiting to run
CI / Supply-chain (Trivy · advisory) (pull_request) Waiting to run
63bea9a753
De egress-allowlist werkt per bestand. Dat bewijst "dit bestand kent de
poort", maar niet "élke client in dit bestand gaat erdoor": zodra
webdav_service.dart erop staat, glipt een tweede, ongepinde HttpClient in
datzelfde bestand er ongezien langs.

Statisch bewijzen dát een instantie een connectionFactory krijgt lukt niet —
local_cve_database_io construeert in getJson en pint pas in _get, en dat is
legitiem. Wat wél te bewijzen valt is dat het aantal niet stilletjes groeit.
Vandaar een ratchet per bestand, in dezelfde vorm die check_conventions
elders gebruikt.

Beide richtingen getoetst: nul op de repo, en rood op een geplante extra
client in webdav_service.dart.
brenno merged commit 8a122c8b6f into main 2026-07-22 00:41:00 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
LibreKAT/Ocideck!471
No description provided.