.claude/skills/security-reviewer/SKILL.md
Use when modifying unsafe blocks, adding parsing or decoding logic, changing buffer pool or scratch internals, or before merging changes to data structure implementations with raw pointers. Memory safety and security audit.
npx skillsauth add ahrav/gossip-rs security-reviewerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Review unsafe code and security-sensitive operations in the gossip-rs codebase.
unsafe blockcrates/gossip-stdx/src/inline_vec.rs - Stack-backed collection with unsafe pointer opscrates/gossip-stdx/src/ring_buffer.rs - Fixed-capacity circular queue with unsafecrates/gossip-stdx/src/byte_slab.rs - Pre-allocated byte pool with raw pointerscrates/gossip-connectors/src/filesystem.rs - Filesystem I/O with unsafecrates/gossip-coordination/src/lib.rs - Coordination protocol internalscrates/scanner-engine/src/engine/hit_pool.rs - Sorted hit pool with unsafe pointer opscrates/scanner-engine/src/engine/scratch.rs - Reusable scratch memory with raw pointerscrates/scanner-engine/src/engine/stream_decode.rs - Streaming decoder with buffer manipulationcrates/scanner-engine/src/engine/buffer_scan.rs - Buffer scanning with unsafe slice opscrates/scanner-engine/src/engine/transform.rs - Transform/decode pipeline (base64, etc.)crates/scanner-engine/src/engine/vectorscan_prefilter.rs - FFI boundary with vectorscancrates/scanner-engine/src/scratch_memory.rs - Scratch memory allocation with raw pointerscrates/scanner-engine/src/lsm/set_associative_cache.rs - Cache with SIMD tag matchingcrates/scanner-engine/src/engine/simd_classify.rs - SIMD byte classificationcrates/scanner-scheduler/src/runtime.rs - Runtime with async I/O and unsafecrates/scanner-scheduler/src/scheduler/ - Work-stealing scheduler (48 files)crates/scanner-git/src/ - Git pack parsing, delta decoding (86 files with binary data handling)get_uncheckedFor each unsafe block:
## Security Review: [file/module]
### Unsafe Block Audit
| Location | Purpose | Safety Justification | Status |
|----------|---------|---------------------|--------|
| line:XX | ptr arithmetic | bounds checked at line:YY | SAFE |
| line:XX | transmute | MISSING JUSTIFICATION | REVIEW |
### Findings
| Severity | Issue | Location | CWE |
|----------|-------|----------|-----|
| CRITICAL | Unchecked bounds | line:XX | CWE-125 |
| HIGH | Integer overflow | line:XX | CWE-190 |
### Recommendations
1. **[Issue]**: Add bounds check before unsafe access
```rust
// Before (unsafe)
// After (safe)
## Related Resources
- `docs/kani-verification.md` - Existing Kani proofs
- `/test-strategy` - Choose appropriate verification approach
- `/run-fuzz` - Run fuzz targets for security testing
development
Deep first-principles code explanation that builds real understanding through phased walkthroughs with diagrams. Covers algorithms, data structures, memory layout, concurrency patterns, and performance tricks — especially for systems code in Rust. Use whenever the user asks to explain, walk through, break down, deep dive into, or understand code. Trigger on "how does this work", "what's happening here", "teach me about this", "why is it done this way", or when the user references a file with @ and wants to understand it. Proactively use when examining code involving lock-free algorithms, atomics/CAS, memory ordering,
development
Use when creating implementation-ready beads tasks that need testing strategy, optimal implementation approach, and documentation requirements baked in — composes /create-task with parallel enrichment agents that analyze the codebase and produce concrete test specifications, algorithm/data-structure guidance, and doc quality standards so implementing agents don't need to re-research
development
--- name: autoresearch description: Autonomous Goal-directed Iteration. Apply Karpathy's autoresearch principles to ANY task. Loops autonomously — modify, verify, keep/discard, repeat. Supports bounded iteration via Iterations: N inline config. version: 1.9.11 --- # Claude Autoresearch — Autonomous Goal-directed Iteration Inspired by [Karpathy's autoresearch](https://github.com/karpathy/autoresearch). Applies constraint-driven autonomous iteration to ANY work — not just ML research. **Core id
development
Use when implementing a new feature and assessing coverage gaps, during periodic test hygiene, when test suites feel bloated, or before merging code that changes coordination or hot paths. Two-phase assess-then-improve testing pipeline.