docs: security-insights.yml (OpenSSF v2.2.0), met een poort erop (#555) #569

Merged
brenno merged 1 commit from docs/security-insights into main 2026-07-22 16:12:31 +00:00
Owner

De machineleesbare helft van wat SECURITY.md, CONTRIBUTING.md en COMPLIANCE.md in proza zeggen.

De issue vroeg om eerst de huidige spec-versie na te kijken, en dat was terecht: hij is verhuisd. OpenSSF Security Insights v2.2.0, en het bestand heet security-insights.yml — niet het SECURITY-INSIGHTS.yml uit oudere concepten. Spec lokaal gekloond en gelezen, niet uit het hoofd.

Drie velden bewust leeg

Een leeg veld claimt niets; een ingevuld veld claimt iets.

  • steward — het schema definieert dat veld onder verwijzing naar CRA artikel 3, en precies die vraag staat open (#550). Invullen zou het label claimen dat we daar niet konden vaststellen.
  • distribution-points / attestations — er zijn geen releases. Het volledige voorbeeld in de spec staat er vol mee, en klakkeloos overnemen is de makkelijkste manier om iets te beweren dat niet bestaat.
  • accepts-automated-change-request: false — geen bots, geen runner. Zo'n wijziging zou door niets beoordeeld worden.

De poort

Expliciet wat de issue vroeg, en de reden is scherper dan bij een proza-document: dit is de kopie die een machine leest en die niemand proefleest. Een verkeerd meldadres is dan geen slordigheid maar een melding die nooit aankomt.

test/security_insights_test.dart toetst: meldadres gelijk aan SECURITY.md, licentie-expressie gelijk aan LICENSE.md, elke verwijzing bestaat als bestand, geen rentmeester geclaimd, geen releases beweerd. Geplant en afgegaan in drie richtingen.

Schemavalidatie met cue vet zit er bewust niet in: dat vraagt een externe binary, en make check mag die niet aannemen — zelfde reden als bij semgrep. Dat staat in de kop van de test.

make check groen.

Closes #555

De machineleesbare helft van wat SECURITY.md, CONTRIBUTING.md en COMPLIANCE.md in proza zeggen. De issue vroeg om eerst de huidige spec-versie na te kijken, en dat was terecht: hij is verhuisd. **OpenSSF Security Insights v2.2.0**, en het bestand heet `security-insights.yml` — niet het `SECURITY-INSIGHTS.yml` uit oudere concepten. Spec lokaal gekloond en gelezen, niet uit het hoofd. ## Drie velden bewust leeg Een leeg veld claimt niets; een ingevuld veld claimt iets. - **`steward`** — het schema definieert dat veld onder verwijzing naar CRA artikel 3, en precies die vraag staat open (#550). Invullen zou het label claimen dat we daar niet konden vaststellen. - **`distribution-points` / `attestations`** — er zijn geen releases. Het volledige voorbeeld in de spec staat er vol mee, en klakkeloos overnemen is de makkelijkste manier om iets te beweren dat niet bestaat. - **`accepts-automated-change-request: false`** — geen bots, geen runner. Zo'n wijziging zou door niets beoordeeld worden. ## De poort Expliciet wat de issue vroeg, en de reden is scherper dan bij een proza-document: dit is de kopie die een *machine* leest en die niemand proefleest. Een verkeerd meldadres is dan geen slordigheid maar een melding die nooit aankomt. `test/security_insights_test.dart` toetst: meldadres gelijk aan SECURITY.md, licentie-expressie gelijk aan LICENSE.md, elke verwijzing bestaat als bestand, geen rentmeester geclaimd, geen releases beweerd. Geplant en afgegaan in drie richtingen. Schemavalidatie met `cue vet` zit er bewust **niet** in: dat vraagt een externe binary, en `make check` mag die niet aannemen — zelfde reden als bij semgrep. Dat staat in de kop van de test. `make check` groen. Closes #555
docs: voeg security-insights.yml toe, met een poort erop
Some checks failed
CI / Gate (Linux) · Format · Analyze · Coverage (push) Failing after 4s
CI / Web hardening (push) Failing after 4s
CI / Docs links (push) Failing after 4s
CI / Supply-chain (Trivy · advisory) (push) Failing after 5s
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Failing after 4s
CI / Web hardening (pull_request) Failing after 4s
CI / Docs links (pull_request) Failing after 4s
CI / Supply-chain (Trivy · advisory) (pull_request) Failing after 6s
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Test (macos-latest) (pull_request) Has been cancelled
CI / Test (windows-latest) (pull_request) Has been cancelled
e778064307
De machineleesbare helft van wat SECURITY.md, CONTRIBUTING.md en COMPLIANCE.md
in proza zeggen. Elk veld erin is een vraag die een afnemer anders per e-mail
stelt; dit haalt werk weg in plaats van het toe te voegen.

De spec is verhuisd, zoals de issue al vermoedde: OpenSSF Security Insights
v2.2.0, en het bestand heet `security-insights.yml` — niet het
`SECURITY-INSIGHTS.yml` uit oudere concepten.

Drie dingen bewust NIET ingevuld, want een leeg veld claimt niets en een
ingevuld veld claimt iets:

- `steward` — het schema definieert dat onder verwijzing naar CRA artikel 3, en
  die vraag staat open (#550). Invullen zou het label claimen.
- `distribution-points` en `attestations` — er zijn geen releases. Het voorbeeld
  in de spec staat er vol mee en overnemen is verleidelijk.
- `accepts-automated-change-request: false` — geen bots en geen runner, dus zo'n
  wijziging zou door niets beoordeeld worden.

De poort is expliciet wat de issue vroeg, want dit is de kopie die een machine
leest en die niemand proefleest: meldadres gelijk aan SECURITY.md, licentie
gelijk aan LICENSE.md, elke verwijzing bestaat, geen rentmeester geclaimd, geen
releases beweerd. In drie richtingen geplant en afgegaan.

Schemavalidatie met `cue vet` zit er bewust niet in: dat vraagt een externe
binary die `make check` niet mag aannemen, net als semgrep.

Closes #555
brenno merged commit 65dc1f6f60 into main 2026-07-22 16:12:31 +00:00
Sign in to join this conversation.
No description provided.