Skip to content

Conversation

@skypher
Copy link

@skypher skypher commented Jan 10, 2026

Summary

Enhance assimp fuzzing infrastructure with format-specific fuzzers for better coverage.

Changes

  • Add 7 format-specific fuzzers (generic, OBJ, glTF, GLB, FBX, Collada, STL)
  • Add seed corpus from test models for each format
  • Add fuzzing dictionary with format-specific tokens
  • Enable Memory Sanitizer (previously disabled due to Projects with MSAN disabled because of upgrade to Ubuntu 20.04 #6294)
  • Update build script with helper function for building multiple fuzzers
  • Add zip dependency to Dockerfile for corpus creation

Testing

Tested locally:

python infra/helper.py build_image assimp  # PASSED
python infra/helper.py build_fuzzers assimp  # PASSED - all 7 fuzzers built
python infra/helper.py run_fuzzer assimp assimp_fuzzer_stl -- -max_total_time=30  # PASSED

Fuzzers

Fuzzer Target Format Corpus Size
assimp_fuzzer All formats 87MB
assimp_fuzzer_obj OBJ 390KB
assimp_fuzzer_gltf glTF (text) 17MB
assimp_fuzzer_glb GLB (binary) 11MB
assimp_fuzzer_fbx FBX 2MB
assimp_fuzzer_collada Collada 3MB
assimp_fuzzer_stl STL 157KB

Related

- Add 7 format-specific fuzzers (generic, OBJ, glTF, GLB, FBX, Collada, STL)
- Add seed corpus from test models for each format
- Add fuzzing dictionary with format-specific tokens
- Enable Memory Sanitizer (previously disabled)
- Update build script with helper function for building multiple fuzzers
- Add zip dependency to Dockerfile for corpus creation
@github-actions
Copy link

skypher is a new contributor to projects/assimp. The PR must be approved by known contributors before it can be merged. The past contributors are: hunsche, DonggeLiu, inferno-chromium, kimkulling, rchildre3

@skypher
Copy link
Author

skypher commented Jan 10, 2026

@kimkulling Companion PR to assimp/assimp#6429, your approval is needed. Merci

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant