Skip to content
cccskills

Testing & Security skills

Test design, vulnerability assessment, and quality assurance (13K skills)

Filter by price or sort order

trailmark

FreeSummary

Build a graph of functions and calls across multiple programming languages to investigate entry points, paths to sensitive operations, and potential impact. Use the results to prioritize security reviews and connect external findings with source code.

  • Tracing call paths from entry points to sensitive functions
  • Prioritizing code for a security audit
  • Connecting calls across language and RPC boundaries
trailofbits/skills7.8KUpdated Oct 24, 2026

Assess a single suspected security issue using Trailmark's graph of code relationships. Gather evidence about reachable paths, input flow, and potential impact, then receive a priority verdict and a list of remaining manual checks.

  • Prioritizing a static analysis finding before proof-of-concept work
  • Checking whether entry points can reach a suspicious function
  • Preparing code evidence for exploit validation
trailofbits/skills7.8KUpdated Oct 24, 2026

Uses a known or suspected vulnerability to find related code through Trailmark's graph of calls, types, and implementations. Produces ranked review targets with reasons and limitations for follow-up security analysis.

  • Finding variants of a known vulnerability
  • Prioritizing code that shares sensitive operations
  • Preparing candidates for Semgrep or CodeQL review
trailofbits/skills7.8KUpdated Oct 24, 2026

vector-forge

FreeSummary

Generates cryptographic test vectors, inputs with expected outcomes, by deliberately changing implementation code and finding changes existing tests miss. Verifies new vectors across independent implementations and compares detection rates before and after adding them.

  • Finding coverage gaps in cryptographic test vectors
  • Creating invalid inputs that exercise validation checks
  • Building test vectors shared across independent implementations
trailofbits/skills7.8KUpdated Oct 24, 2026

variant-analysis

FreeSummary

Find other occurrences of a known bug across a codebase by tracing its root cause. Gradually broaden search patterns, assess matching candidates, assign severity, and document findings with rules to help prevent recurrence.

  • Finding similar issues after discovering a vulnerability
  • Building CodeQL or Semgrep queries from a known bug
  • Checking whether similar code shares the same root cause
trailofbits/skills7.8KUpdated Oct 24, 2026

Create dictionaries of keywords and identifying byte sequences for fuzzing, or testing with generated inputs. Extract useful entries from code, binaries, or specifications, then configure fuzzers to explore parsing paths beyond initial input validation.

  • Build a dictionary for JSON or XML parser fuzzing
  • Add protocol keywords to generated test inputs
  • Test image parsers with file signatures and chunk names
trailofbits/skills7.8KUpdated Oct 24, 2026

libafl

FreeSummary

Build a custom fuzzer, a tool that tests code with many generated inputs, using LibAFL in Rust. Combine input mutation, execution feedback, scheduling, and target execution components when standard fuzzers offer insufficient control.

  • Build a fuzzer for a nonstandard target or architecture
  • Implement custom input mutation and feedback strategies
  • Prototype a new fuzzing research technique
trailofbits/skills7.8KUpdated Oct 24, 2026

ossfuzz

FreeSummary

Set up OSS-Fuzz for an open-source project and test it locally. Prepare configuration and build files, run fuzz tests that probe code with varied inputs, reproduce reported crashes, and inspect which code the tests reach.

  • Preparing an open-source project for OSS-Fuzz enrollment
  • Testing an OSS-Fuzz build locally before submission
  • Reproducing crashes from OSS-Fuzz reports
trailofbits/skills7.8KUpdated Oct 24, 2026

wycheproof

FreeSummary

Checks cryptographic code against known attacks and edge cases using Project Wycheproof test vectors, predefined inputs and expected results. Helps load cases, interpret failures, compare implementations, and integrate checks into automated testing.

  • Testing cryptographic code against known attacks
  • Comparing results across cryptographic libraries
  • Investigating rejected or incorrectly accepted signatures
trailofbits/skills7.8KUpdated Oct 24, 2026

genotoxic

FreeSummary

Evaluate how well existing tests catch code changes, then combine the results with function relationships. Get a report separating harmless findings, missing unit tests, and targets for fuzzing, which tests many generated inputs.

  • Triage code changes that existing tests failed to catch
  • Prioritize missing unit tests
  • Find functions suited to fuzzing
trailofbits/skills7.8KUpdated Oct 24, 2026

Turn a Mermaid sequence diagram of a cryptographic protocol into a ProVerif model, a file for formal security checks. It includes queries for secrecy, authentication, replay resistance, and forward secrecy where applicable.

  • Converting a cryptographic protocol diagram into a .pv file
  • Preparing session key secrecy checks
  • Modeling authentication and replay resistance
trailofbits/skills7.8KUpdated Oct 24, 2026

Measure which code fuzzing reaches as it tries many generated inputs. Use coverage reports to find unreachable areas, compare progress, and guide improvements to test harnesses, starting inputs, or dictionaries of useful input values.

  • Establish initial coverage for a fuzzing run
  • Investigate why fuzzing stops reaching new code
  • Compare coverage before and after harness changes
trailofbits/skills7.8KUpdated Oct 24, 2026

c-review

FreeSummary

Review native C/C++ applications and services for memory errors, integer overflows, and race conditions, where concurrent operations interfere. Coordinate multiple reviewers and produce findings with severity ratings, alongside reports of missing or unverified review coverage.

  • Audit a native C/C++ application for security flaws
  • Review a daemon or service for memory safety
  • Investigate integer overflows and race conditions
trailofbits/skills7.8KUpdated Oct 24, 2026

Writes, reviews, and debugs property-based tests, which generate inputs to check general rules. Helps test conversions, parsers, normalization, and state invariants, assess whether existing assertions are meaningful, and distinguish faulty rules from implementation bugs.

  • Testing encode/decode round trips across generated inputs
  • Checking normalization and sorting properties
  • Reviewing whether existing property tests assert meaningful rules
trailofbits/skills7.8KUpdated Oct 24, 2026

mutation-testing

FreeSummary

Assess test strength by introducing deliberate code changes with mewt or muton. Configure test runs, examine changes that tests miss, distinguish harmless equivalents from testing gaps, and investigate potential bugs in the affected code.

  • Set up and scope a mutation testing run
  • Investigate code changes that tests fail to detect
  • Distinguish equivalent changes from testing gaps
trailofbits/skills7.8KUpdated Oct 24, 2026

Reviews Algorand smart contracts written in TEAL or PyTeal for 11 vulnerability patterns. Produces a complete coverage table and findings with code references, severity ratings, and suggested fixes, with optional automated checks using Tealer.

  • Security checks before an Algorand contract audit
  • Reviewing TEAL or PyTeal transaction validation
  • Verifying fixes for reported vulnerabilities
trailofbits/skills7.8KUpdated Oct 24, 2026

Audit npm, PyPI, and Go dependencies for version-specific advisories, inactive upstream projects, concentrated npm publishing rights, and installation scripts. Produce a report backed by collected data, with assessment coverage, action priorities, and upgrade or replacement guidance.

  • Reviewing dependency risks before an engagement
  • Checking advisories across a lockfile dependency tree
  • Finding abandoned or archived dependencies
trailofbits/skills7.8KUpdated Oct 24, 2026

Scan Android APK files for Firebase configuration and access-control weaknesses in databases, storage, authentication, and cloud functions. Produce text and JSON reports with evidence, severity ratings, and suggested fixes for authorized security assessments.

  • Auditing Firebase security in Android apps
  • Checking unauthenticated database access
  • Testing storage listing and write permissions
trailofbits/skills7.8KUpdated Oct 24, 2026

Review Substrate and Polkadot runtime modules, called pallets, for seven security patterns, including unsafe arithmetic, crashes, incorrect processing costs, and weak permission checks. Produce a complete coverage table, findings with code references, and proposed fixes.

  • Auditing custom Substrate pallets
  • Reviewing processing costs and fees
  • Checking permissions for privileged operations
trailofbits/skills7.8KUpdated Oct 24, 2026

Review Cosmos SDK modules and CosmWasm contracts for vulnerabilities that could halt a chain, cause fund loss, or produce inconsistent state. Findings are checked against consensus execution paths and saved as individual Markdown reports with severity and fixes.

  • Auditing custom Cosmos SDK modules
  • Reviewing IBC integrations
  • Assessing chain security before launch
trailofbits/skills7.8KUpdated Oct 24, 2026

Maps externally callable smart contract functions that change stored data, then groups them by access restrictions. Produces a structured audit report showing public functions, privileged operations, and access checks that need further review.

  • Mapping entry points before a smart contract audit
  • Listing administrator and role-restricted operations
  • Reviewing caller restrictions on callbacks
trailofbits/skills7.8KUpdated Oct 24, 2026

sharp-edges

FreeSummary

Reviews APIs and configuration designs for choices that make security mistakes easy. Checks unsafe defaults, confusing parameter types, and hidden failures, then validates whether misuse creates a real vulnerability and assigns severity.

  • Reviewing API designs for security mistakes
  • Checking defaults and dangerous configuration combinations
  • Assessing cryptographic API usability
trailofbits/skills7.8KUpdated Oct 24, 2026

Port an existing Semgrep rule to specified programming languages, producing separate rule and test files for each. The skill checks applicability, adapts detection patterns to each language, and reports validation results.

  • Porting an existing rule to Go or Java
  • Checking whether a detection pattern applies to another language
  • Creating language-specific detection and safe-code tests
trailofbits/skills7.8KUpdated Oct 24, 2026

Inspects compiled instructions and bytecode to identify timing risks in cryptographic code. Helps trace flagged operations back to secret data, distinguish false positives, and review fixes across compiler settings and target architectures.

  • Reviewing signing and encryption routines
  • Checking division involving secret values
  • Inspecting authentication tag comparisons
trailofbits/skills7.8KUpdated Oct 24, 2026