Skip to content
Back to skills

Fuzz Testing

ASecurity

Uncover robustness and security issues by fuzzing inputs/protocols relevant to medical devices (parsers, IPC, network/BLE/USB).

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
testingtestingsecuritydocumentation

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add lilinji/GeneTind-Life-Skills --skill fuzz-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fuzz Testing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fuzz Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lilinji-fuzz-testing/badge)](https://www.skillsdirectory.com/skills/lilinji-fuzz-testing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
skill_id: TEST-FUZZ
version: 1.0.0
last_updated: 2026-01-04
applies_to: [Class A, Class B, Class C]
jurisdiction: [Global]
prerequisites: [SEC-THREAT-MODELING, FW-EMBEDDED-C]
---

# Fuzz Testing for Medical Devices

## Purpose
Uncover robustness and security issues by fuzzing inputs/protocols relevant to medical devices (parsers, IPC, network/BLE/USB).

## When to Apply
- Parsers, protocol handlers, file/log importers, command decoders.
- After major changes to input handling or security-relevant code.

## Requirements (testable)
1. Target Selection: Identify fuzz targets from threat model and interfaces; prioritize safety/security-critical parsers. Rationale: focus on risk.
2. Harness Quality: Build minimal harness with input validation hooks and assertions; run on host where feasible. Rationale: effectiveness.
3. Sanitizers: Combine fuzzing with ASan/UBSan/MSan where possible. Rationale: detect memory/UB issues.
4. Corpus Management: Seed with structured samples; minimize corpus; store crashes with repro inputs. Rationale: coverage and triage.
5. Crash Triage: Deduplicate crashes; file defects with root cause and linkage to requirements/risks; fix or justify. Rationale: closure.
6. Coverage: Track coverage metrics; aim to improve over time; MC/DC not required but branch coverage helpful. Rationale: breadth of exploration.

## Recommended Practices
- Use lightweight protocol models to guide fuzzing (e.g., length fields, checksums).
- Run fuzzers in CI/nightly on host; for embedded-only code, fuzz extracted libs or use emulation where possible.
- Limit run time per PR; longer campaigns nightly/weekly.

## Patterns
LibFuzzer harness (C):
```c
// REQ-FUZZ-HAR-01; TEST-FUZZ-03
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
    if (size < sizeof(cmd_t)) return 0;
    if (!validate_msg((const msg_t *)data, size)) return 0;
    handle_cmd((const msg_t *)data);
    return 0;
}
```

Seed corpus entry (hex):
```text
// REQ-FUZZ-CORPUS-02
01 00 10 00 AA BB CC DD
```

## Anti-Patterns (risks)
- Fuzzing without sanitizers -> risk: missed memory/UB issues.
- No crash dedup/triage -> risk: unhandled defects.
- Unseeded fuzzing on structured protocols -> risk: slow/ineffective.
- Ignoring outputs/logs from fuzzer -> risk: silent failures.

## Verification Checklist
- [ ] Fuzz targets selected from threat model/interfaces.
- [ ] Harnesses include assertions/validations; run on host/emulated.
- [ ] Sanitizers enabled where possible during fuzzing.
- [ ] Corpus seeded and managed; crashes stored with repro.
- [ ] Crashes triaged/deduped; issues filed/resolved/justified.
- [ ] Coverage tracked; improvements monitored.

## Traceability
- `REQ-FUZZ-###` to fuzz harness/test IDs `TEST-FUZZ-###`; crash reports linked to defects and requirements.

## References
- AFL/LibFuzzer/oss-fuzz documentation.
- FDA cybersecurity guidance encourages robustness testing (informative).

## Changelog
- 1.0.0 (2026-01-04): Initial fuzz testing skill with harness, sanitizer, and triage guidance.

## Audit History
- **2026-01-04**: Audit performed. Verified:
  - AFL/LibFuzzer/oss-fuzz references are accurate
  - LLVMFuzzerTestOneInput harness pattern is syntactically correct
  - Sanitizer integration (ASan/UBSan/MSan) correctly described

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.