ruzzy

Fuzz pure Ruby code and C extensions with coverage-guided libFuzzer.

1|Updated Feb 17, 2026
One-click install
npx skills add https://github.com/Ramprasad4121/srp --skill ruzzy-ramprasad4121
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ruzzy
Source: https://github.com/Ramprasad4121/srp/tree/main/skills-repos/trailofbits/plugins/testing-handbook-skills/skills/ruzzy
Command: npx skills add https://github.com/Ramprasad4121/srp --skill ruzzy-ramprasad4121

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill addresses the challenge of finding bugs and security vulnerabilities in Ruby code and its C extensions by providing a coverage-guided fuzzing tool.

Core Features & Use Cases

  • Fuzzing Pure Ruby: Enables fuzzing of native Ruby code.
  • Fuzzing C Extensions: Detects memory corruption and undefined behavior in Ruby C extensions.
  • Sanitizer Support: Integrates AddressSanitizer (ASan) and UndefinedBehaviorSanitizer (UBSan) for robust error detection.
  • Use Case: Automatically test a Ruby gem with native extensions for memory safety issues before releasing it to production.

Quick Start

Install Ruzzy using the provided gem install command with clang compiler flags.

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 for memory corruption?

Fuzzing Ruby C extensions for memory corruption requires a coverage-guided fuzzer integrated with AddressSanitizer to automatically detect memory safety issues. This approach targets native extensions to find security vulnerabilities before production release.

What is coverage-guided fuzzing for Ruby code?

Coverage-guided fuzzing for Ruby code is an automated testing technique that monitors code execution paths to generate targeted inputs. It helps discover bugs and security vulnerabilities in both pure Ruby scripts and native C extensions.

Can I use AddressSanitizer and UndefinedBehaviorSanitizer with Ruby?

Yes, you can use AddressSanitizer and UndefinedBehaviorSanitizer with Ruby by compiling C extensions with specific clang compiler flags. These sanitizers detect memory corruption and undefined behavior during the fuzzing process.

Do I need clang and libFuzzer to fuzz Ruby gems?

Yes, you need clang and libFuzzer installed in your environment to fuzz Ruby gems using this coverage-guided approach. The Ruby runtime is also required to execute the code and native extensions during testing.

How to test Ruby gems for undefined behavior before release?

To test Ruby gems for undefined behavior before release, apply automated fuzzing with UndefinedBehaviorSanitizer integration. This detects hidden bugs in native C extensions by continuously generating varied test inputs.

What are the limitations of fuzzing pure Ruby code?

Fuzzing pure Ruby code requires the Ruby runtime and specific compiler dependencies like clang. While effective for finding logical bugs, memory corruption detection is primarily relevant for Ruby C extensions rather than pure Ruby scripts.