Robotics

IcFuzz Is the First Fuzzer Built for NVIDIA Isaac Sim

Shar Hendrix 5 min read

If your humanoid stack trains in NVIDIA Isaac Sim, a silent crash mid-run is not a cute edge case. IcFuzz (arXiv 2608.06088, accepted at ASE 2026) is the first fuzzing system aimed at Isaac Sim itself: it mutates standalone simulation scripts with stage-aware semantics and has already pushed 11 bugs upstream, with 9 confirmed or fixed.

Isaac Sim architecture overview from the IcFuzz paper
Isaac Sim stack overview as framed in the IcFuzz paper. Source: arXiv:2608.06088.

Why Isaac Sim is hard to fuzz

The authors list three blockers that break generic fuzzers:

  • Context-aware object semantics — e.g. SimulationApp before other objects; articulations need existing prims
  • Hierarchical control — object types, per-object operations, and argument shapes differ (wheels vs joint targets)
  • Huge state space — models, contacts, lighting, RL loops

Baselines they compare against: Atheris (general Python fuzzer) and GzFuzz (Gazebo-oriented, adapted). Neither matches Isaac’s staged lifecycle well.

IcFuzz overall workflow diagram
IcFuzz workflow: semantic stages, multi-level mutation, bandit scheduling. Source: arXiv:2608.06088.

What IcFuzz does

  1. Semantic stage segmentation (LLM-assisted) of each seed script into lifecycle stages (startup → scene setup → interact → export → shutdown), guided by NVIDIA’s robot development lifecycle docs
  2. Multi-level mutation: objects, operations, and arguments, with stage-restricted object catalogs so mutations stay executable
  3. Multi-armed bandit (UCB) scheduling of operators using coverage gain + crash reward
  4. Oracle: crash bugs (log signals / dumps)

Seed pool: 116 successfully runnable standalone scripts from the official Isaac Sim repo.

Results that stuck

Over three 12-hour rounds:

  • Line coverage about 20,771 on open-source Isaac extensions — roughly 205% of Atheris and 190% of GzFuzz
  • Average 3.7 unique crashes per 12-hour campaign after manual de-dup; baselines found none in the same setup
  • Long campaign (~four months): 11 reported bugs, 9 confirmed or fixed by developers

Case studies in the paper include wrong default transform flags on experimental shape classes, camera get_rgba shape issues before renderer warmup, and incompletely implemented argument paths exposed only by argument-level mutation.

Example bug case with Cylinder mutation from IcFuzz
Example crash path from object-level mutation (Cylinder / transform defaults). Source: arXiv:2608.06088.

A Human’s Take

Sim is the factory floor for a lot of “physical AI” claims. If the sim dies on a legal API call, your training run and your trust both evaporate. IcFuzz is the unglamorous work that makes demos less fake: break the tools, file the bugs, get nine of eleven fixed. I’ll take that over another leaderboard screenshot.

Sources