Description
OpenSSF Scorecard reports Fuzzing: 0/10 on most platform-mesh repos. Scorecard expects either:
- Native Go fuzz tests (
func FuzzXxx(f *testing.F)) for Go projects, OR
- An OSS-Fuzz integration for the project, OR
- ClusterFuzzLite or similar.
This is lower priority than Token-Permissions / Pinned-Dependencies and should be scoped down during refinement — fuzzing makes the most sense for code that parses untrusted input (CRD validation, GraphQL parsing, webhook admission).
Candidates worth fuzzing
Go services with parsing / admission / validation logic:
Skip (not meaningful)
- UI repos (
portal, portal-ui-lib, iam-ui) — Scorecard's Fuzzing check assumes Go fuzz; not applicable here.
- Image / config repos (
custom-images, upstream-images, helm-charts).
Steps
- Triage the list above — for each repo, identify the highest-value parse/validate boundary.
- Add a
Fuzz<Function> test next to the existing unit tests (Go 1.18+ native fuzzing).
- Optionally: open an OSS-Fuzz integration PR for the highest-value repos (graphql-gateway, rebac-authz-webhook).
Objectives
- At least 3 high-value repos have native Go fuzz tests.
- Decision documented for each candidate: fuzz / OSS-Fuzz / skip-with-reason.
Demo Required
None
Demo Steps
No response
Epic: #278
Description
OpenSSF Scorecard reports
Fuzzing: 0/10on most platform-mesh repos. Scorecard expects either:func FuzzXxx(f *testing.F)) for Go projects, ORThis is lower priority than Token-Permissions / Pinned-Dependencies and should be scoped down during refinement — fuzzing makes the most sense for code that parses untrusted input (CRD validation, GraphQL parsing, webhook admission).
Candidates worth fuzzing
Go services with parsing / admission / validation logic:
golang-commons— utility library; fuzz any parsers/decoderskubernetes-graphql-gateway— GraphQL parsing of arbitrary CRD schemas; high-value targetiam-service— auth flows; fuzz token/header parsingaccount-operator— controller; fuzz CRD validation if any custom logicextension-manager-operator— same as abovesubroutines— utility library; fuzz any parsersplatform-mesh-operator— controllerrebac-authz-webhook— admission webhook; fuzz request bodiesSkip (not meaningful)
portal,portal-ui-lib,iam-ui) — Scorecard's Fuzzing check assumes Go fuzz; not applicable here.custom-images,upstream-images,helm-charts).Steps
Fuzz<Function>test next to the existing unit tests (Go 1.18+ native fuzzing).Objectives
Demo Required
None
Demo Steps
No response
Epic: #278