property-based-testing

Generate diverse inputs to test security invariants across Python, Rust, JavaScript, Solidity, and Go.

21|1|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/woohyun212/security-skill --skill property-based-testing-woohyun212
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: property-based-testing
Source: https://github.com/woohyun212/security-skill/tree/main/property-based-testing
Command: npx skills add https://github.com/woohyun212/security-skill --skill property-based-testing-woohyun212

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Traditional example‑based unit tests often miss edge cases that can lead to security vulnerabilities. This skill introduces property‑based testing to automatically generate diverse inputs and check invariants, helping uncover hidden bugs in cryptographic code, parsers, smart contracts, and other security‑critical software.

Core Features & Use Cases

  • Guides property‑based testing across Python, Rust, JavaScript/TypeScript, Solidity, and Go.
  • Provides language‑specific framework setup instructions and sample property definitions for roundtrip, overflow, access‑control, and state‑machine invariants.
  • Ideal for security audits, regression testing after bug fixes, and continuous integration pipelines that need high‑coverage fuzzing.

Quick Start

Run the property‑based testing skill on my Python file crypto.py with 500 iterations.

Frequently Asked Questions about property-based-testing

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

FAQPage Schema
How does property-based testing find security vulnerabilities in smart contracts and cryptographic code?

Property-based fuzzing automatically generates diverse inputs to check invariants, uncovering hidden security edge cases in cryptographic code, parsers, and smart contracts that traditional example-based unit tests often miss.

How do I set up property-based fuzzing for my Rust and Python codebase?

You must install language-specific fuzzing frameworks like Hypothesis for Python or proptest for Rust. The skill guides framework setup and provides sample property definitions for roundtrip, overflow, and access-control invariants.

Can I use property-based testing for Solidity smart contracts and Go code?

Yes, property-based testing supports Solidity smart contracts and Go code. It requires installing language-specific fuzzing frameworks such as Foundry for Solidity or Go testing/quick to generate inputs and check state-machine invariants.

What's the best way to integrate property-based testing into a continuous integration pipeline?

The best way is using property-based testing for regression testing after bug fixes. It supports configurable iterations and seed control, providing high-coverage fuzzing ideal for continuous integration pipelines.

Does property-based testing work with JavaScript and TypeScript parsers?

Yes, property-based testing works with JavaScript and TypeScript parsers. It requires installing the fast-check fuzzing framework to automatically generate diverse inputs and check invariants for security reviews.