ci: integrate with OSS-Fuzz for continuous distributed fuzzing
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start with the OSS-Fuzz Rust new-project guide and review the existing fuzz targets: fuzz_parse_eager, fuzz_parse_lazy, fuzz_depth, and fuzz_ffi_ops. Prepare projects/qjson/ in google/oss-fuzz with its Dockerfile and project.yaml, then submit the PR. Done means all four targets run successfully, the project is approved, and the first OSS-Fuzz run completes with maintainer dashboard access.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Background
qjson currently runs timed fuzzing weekly (60 seconds per target), which is sufficient for corpus regression but insufficient for discovering deep bugs. OSS-Fuzz provides free continuous distributed fuzzing for open-source projects, running thousands of CPU hours daily.
Production JSON parsers like simdjson and serde_json have found multiple security-relevant bugs through OSS-Fuzz that local fuzzing would never discover.
Goal
Integrate qjson with Google's OSS-Fuzz for continuous, large-scale fuzz testing.
Why OSS-Fuzz
| Aspect | Current (local timed fuzz) | OSS-Fuzz |
|---|---|---|
| Runtime | 60s/target weekly | Continuous, thousands of CPU-hours/day |
| Hardware | 1 GitHub runner | Google distributed cluster |
| Coverage depth | Shallow exploration | Deep path discovery |
| Corpus | Manual maintenance | Auto-accumulated, cross-version |
| Cost | Free | Free (Google-sponsored) |
Scope
Integration Steps
- Create
projects/qjson/ingoogle/oss-fuzzrepository - Write
Dockerfileto build qjson fuzz targets - Write
project.yamlwith project metadata - Adapt existing fuzz targets (
fuzz_parse_eager,fuzz_parse_lazy,fuzz_depth,fuzz_ffi_ops) - Submit PR to
google/oss-fuzz, await approval (typically 1-2 weeks)
Requirements for Acceptance
- Open-source with OSI-approved license (Apache-2.0 ✓)
- Active maintenance ✓
- Real user base (API7/APISIX ecosystem ✓)
- Commitment to fix reported vulnerabilities within 90-day disclosure deadline
Acceptance Criteria
- PR submitted to
google/oss-fuzzrepository - All 4 existing fuzz targets integrated
- Project approved and running on OSS-Fuzz infrastructure
- ClusterFuzz dashboard accessible to maintainers
- First fuzzing run completes successfully
References
- OSS-Fuzz: https://github.com/google/oss-fuzz
- New project guide: https://google.github.io/oss-fuzz/getting-started/new-project-guide/
- Rust integration: https://google.github.io/oss-fuzz/getting-started/new-project-guide/rust-lang/
- Example Rust project: https://github.com/google/oss-fuzz/tree/master/projects/serde_json
- Lenguaje dominante
- Rust
- Estrellas
- 2
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de api7/lua-qjson
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
Todos los issues de api7/lua-qjson
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
yantrikos/yantrik-os#255 ·
-
Replayed reasoning items send "content": null, which the Responses API schema does not permit Abiertobug CLI custom-model
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
raphamorim/rio#1956 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 comentario ·