ruzzy

Detects memory-safety issues and crashes in Ruby C extensions and pure Ruby code via a configurable, coverage-guided fuzzer.

9|4|Updated Feb 7, 2026
One-click install
npx skills add https://github.com/marduk191/qwen3_mcp --skill ruzzy-marduk191
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ruzzy
Source: https://github.com/marduk191/qwen3_mcp/tree/main/skills/testing-handbook-skills/skills/ruzzy
Command: npx skills add https://github.com/marduk191/qwen3_mcp --skill ruzzy-marduk191

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Ruzzy is a coverage-guided fuzzer for Ruby built on libFuzzer that enables fuzzing both pure Ruby code and Ruby C extensions with sanitizer support to detect memory corruption and undefined behavior.

Core Features & Use Cases

  • Fuzzes Ruby code and C extensions to uncover memory-safety issues and crash scenarios.
  • Supports sanitizers (ASan/UBSan) via harness-driven workflows and LD_PRELOAD integration.
  • Includes example harnesses and guidance for both pure Ruby targets and native extensions.

Quick Start

Install the gem, require 'ruzzy', and call Ruzzy.fuzz with a deterministic harness to begin fuzzing.

Frequently Asked Questions about ruzzy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fuzz Ruby C extensions to detect memory-safety issues?

Fuzz Ruby C extensions by installing the Ruzzy gem, requiring it, and passing a deterministic harness to Ruzzy.fuzz to detect memory-safety issues and crashes.

How does coverage-guided fuzzing work for Ruby native extensions?

Coverage-guided fuzzing for Ruby native extensions uses libFuzzer with sanitizer-enabled builds to detect undefined behavior and memory corruption across Linux x86-64 and ARM64.

Do I need AddressSanitizer to fuzz Ruby code with libFuzzer?

You need sanitizer tooling like ASan or USan integrated via LD_PRELOAD to effectively fuzz Ruby code and detect memory corruption during the fuzzing workflow.

Can I fuzz pure Ruby code or is it only for C extensions?

You can fuzz both pure Ruby code and Ruby C extensions using provided example harnesses and guidance to uncover crashes and memory-safety issues.

What is the best way to set up a fuzzing harness for Ruby applications?

The best way to set up a fuzzing harness is to create a deterministic harness that feeds inputs directly to Ruzzy.fuzz, using the included examples for both pure Ruby and native extension targets.

Why does my Ruby fuzzer not detect memory corruption in native extensions?

Fuzzing may miss memory corruption if your Ruby environment lacks proper sanitizer-enabled builds or if the harness feeding inputs to Ruzzy.fuzz is not deterministic.