vector-forge

Generates cryptographic test vectors by finding escaped mutants through mutation testing.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/marumo333/atrox --skill vector-forge-marumo333
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: vector-forge
Source: https://github.com/marumo333/atrox/tree/main/.claude/skills/trailofbits/plugins/trailmark/skills/vector-forge
Command: npx skills add https://github.com/marumo333/atrox --skill vector-forge-marumo333

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires trailmark, and includes references (resource) components.

What problem does it solve? Existing cryptographic test vector suites often leave implementation code paths unexercised, and there is no systematic way to measure or close those coverage gaps. This Skill uses mutation testing to find escaped mutants, then generates new test vectors that deliberately target the uncovered paths, proving effectiveness with before/after kill-rate comparisons. ## Core Features & Use Cases - Mutation-Driven Gap Analysis: Runs mutation testing frameworks (gremlins, cargo-mutants, mutmut, Mull, Stryker) against implementations to establish a baseline and identify survived or uncovered mutants. - Graph-Informed Triage: Uses Trailmark call graphs to classify escaped mutants by reachability, blast radius, and security impact, filtering out false positives like equivalent mutations and cross-package coverage artifacts. - Targeted Vector Generation: Produces Wycheproof-format JSON vectors including single-fault negative vectors, roundtrip assertions, and fault-simulation vectors from limb-width reimplementations, cross-verified against two or more independent implementations. - Use Case: When auditing a BLS12-381 library, run the workflow to discover that flag-validation mutations survive, then generate negative deserialization vectors that kill those mutants and document the kill-rate delta in a coverage report. ## Quick Start Use the vector-forge skill to run mutation testing on my BLS12-381 implementations and generate new Wycheproof test vectors that close the escaped-mutant coverage gaps.

Frequently Asked Questions about vector-forge

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

FAQPage Schema
How do I generate cryptographic test vectors with mutation testing?▼

Run a mutation testing framework against the implementation with existing vectors to get a baseline, triage escaped mutants using a call graph, then design vectors targeting each escaped code path. Re-run mutation testing with the new vectors and compare kill rates to prove effectiveness.

What mutation testing framework should I use for Rust or Go?▼

Use cargo-mutants for Rust and gremlins for Go. For C/C++ code underneath FFI bindings, use Mull, since mutating wrapper glue code produces near-zero kill rates.

Can I mutation test FFI wrapper crates like blst?▼

No, mutating FFI bindings yields almost no kills because the real logic lives in the underlying C or assembly. Identify FFI crates during discovery and mutation test the underlying implementation language instead, using Mull for C/C++.

Why do my mutation testing results show timeouts or NOT COVERED mutants?▼

Timeouts are ambiguous and must be resolved before comparing baselines, often by increasing the timeout coefficient. NOT COVERED results can be cross-package false positives when the framework only runs same-package tests, so verify reachability with a call graph.

When should I not use mutation-driven test vector generation?▼

Skip it when no implementations exist yet to mutate, when the implementation is trivial with no edge cases, or when testing application logic rather than algorithm implementations. You also need at least one implementation in a language with mutation testing support.