Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ci: integrate with OSS-Fuzz for continuous distributed fuzzing

Abierto
#156 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
rust

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

enhancement

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
  1. Create projects/qjson/ in google/oss-fuzz repository
  2. Write Dockerfile to build qjson fuzz targets
  3. Write project.yaml with project metadata
  4. Adapt existing fuzz targets (fuzz_parse_eager, fuzz_parse_lazy, fuzz_depth, fuzz_ffi_ops)
  5. 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-fuzz repository
  • 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

Lenguaje dominante
Rust
Estrellas
2
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de api7/lua-qjson

Todos los issues de api7/lua-qjson

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.