ruzzy

Fuzz Ruby applications and C extensions with libFuzzer and sanitizers.

Updated Apr 6, 2026
One-click install
npx skills add https://github.com/dakshrawat298-gif/SOL-ALPHA-GUARDIAN --skill ruzzy-dakshrawat298-gif
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ruzzy
Source: https://github.com/dakshrawat298-gif/SOL-ALPHA-GUARDIAN/tree/main/packages/skills/skills/testing-handbook-skills/skills/ruzzy
Command: npx skills add https://github.com/dakshrawat298-gif/SOL-ALPHA-GUARDIAN --skill ruzzy-dakshrawat298-gif

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Ruzzy enables automated fuzzing of Ruby applications and Ruby C extensions to uncover memory-safety issues and crashes early in development, reducing time-to-debug and improving code reliability.

Core Features & Use Cases

  • Coverage-guided fuzzing for Ruby code and Ruby C extensions, built on libFuzzer, with sanitizer support for detecting memory corruption and undefined behavior.
  • Provides tracer and harness patterns for fuzzing pure Ruby code as well as native extensions, along with practical guidance for building and running campaigns.
  • Common use cases include finding crashes in Ruby libraries, memory-safety issues in C extensions, and robustness testing of gem ecosystems in CI pipelines.

Quick Start

Install the ruzzy gem, prepare a harness following the examples, and run the fuzzing campaign with sanitizer-enabled Ruby.

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 find memory-safety issues?

You can fuzz Ruby C extensions by using a coverage-guided approach built on libFuzzer with sanitizer integration. This technique requires writing a harness, building with a Clang toolchain, and running with LD_PRELOAD to detect memory corruption and undefined behavior crashes.

What is coverage-guided fuzzing for Ruby applications?

Coverage-guided fuzzing for Ruby applications is an automated testing technique that uses code coverage data to generate inputs that uncover crashes. Built on libFuzzer, it helps find memory-safety issues in both pure Ruby code and native C extensions early in development.

Do I need a Clang toolchain to fuzz Ruby code with sanitizers?

Yes, you need a Clang toolchain to build sanitizer-enabled Ruby and C extensions. Running the fuzzing campaign also requires using LD_PRELOAD to load ASan and UBSan libraries so the sanitizer can properly detect memory corruption and undefined behavior.

How do I set up a fuzzing harness for Ruby native extensions?

To set up a fuzzing harness for Ruby native extensions, install the required gem and follow provided tracer and harness patterns. These patterns guide you on how to feed inputs into pure Ruby code or native extensions for effective crash detection during your campaign.

Can I use libFuzzer to test Ruby gems in a CI pipeline?

Yes, you can integrate libFuzzer-based fuzzing into CI pipelines for robustness testing of gem ecosystems. By running sanitizer-enabled Ruby builds with your harness, you can automatically detect memory-safety issues and crashes in Ruby libraries during continuous integration.

Why does my Ruby fuzzing campaign need LD_PRELOAD to detect crashes?

Your Ruby fuzzing campaign needs LD_PRELOAD to load ASan and UBSan sanitizer libraries at runtime. Without this preload step, the sanitizer integration cannot properly detect memory corruption and undefined behavior crashes in your C extensions during the fuzzing process.