mcpField
V
verify-fix

verify-fix

github.com/openaiSecurity11.2k51 installsUpdated today
Repository

About verify-fix

A read-only skill for explicitly requested security-fix verification, assessing whether each supplied finding is addressed in the current checkout. It traces the original attack path, relevant controls, bypasses, and legitimate behavior without changing repository files or issue trackers.

Key features

  1. 01Return a status for each finding
  2. 02Trace the original exploit path and boundary
  3. 03Check relevant controls and plausible bypasses
  4. 04Assess without modifying repository files
  5. 05Support standard and static modes

Use cases

  1. 01Verify whether reported vulnerabilities are fixed
  2. 02Check exploit paths after code refactoring
  3. 03Assess a fix statically without running tests

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/openai/codex-security --skill verify-fix

After installing, type/verify-fixin Claude Code to confirm it loaded.

Bundled filesagents/openai.yaml

Details

From the project README

Verify Fix

When to Use

Invoke this skill only for an explicit request to verify a security fix, including a direct $verify-fix invocation. A request to implement a fix or run its tests does not by itself request this skill. For other tasks, follow the user's requested workflow and response format.

Objective

Determine whether each supplied security finding has been fixed in the current checkout. Operate in standalone verification-only mode; do not create, modify, or delete repository files, apply patches, commit changes, write artifacts, or modify issue trackers.

Assessment Method

Use ../../references/static-finding-assessment.md to identify the original attacker-controlled source, security control, sensitive sink, reachable path, trust boundary, counterevidence, and proof gaps. If the caller already supplied that reference in the prompt, use the supplied contents without reading it again.

Use standard verification unless the caller explicitly selects verificationMode: static. In static mode, assess the current source and diff, the original exploit path and plausible bypasses, and legitimate behavior through callers and existing tests read as source. Do not install dependencies or run builds, tests, reproducers, or the application, including when validation instructions request them. Repository-reading tools remain available. State in the evidence that this is a static assessment and runtime checks were not performed; do not count them as passed or require them for this assessment. Missing runtime tooling alone does not make the result inconclusive, but a material gap in the source evidence does.

Verification Workflow

  1. Establish the original vulnerability, its preconditions, affected security boundary, and legitimate behavior that must continue to work.
  2. Confirm the current checkout contains the affected component. Follow moved or refactored code rather than treating a missing file, removed line, or changed function name as proof of remediation.
  3. Trace the original exploit path through the current implementation and check the nearest relevant control, equivalent paths, and plausible bypasses.
  4. In standard mode, run the original reproducer, focused regression checks, or legitimate-behavior checks only when they can run without modifying the repository. Preserve exact static evidence when runtime checks are unavailable.
  5. Return one result per supplied finding, in the requested order. Treat closed tickets, unrelated passing tests, and the absence of a new scan finding as insufficient proof.

Result Contract

For interactive conversations, use readable Markdown unless the caller requests another format. Give a verdict for each finding, explain the supporting evidence with source references, and identify relevant checks and remaining proof gaps.

When the caller requests JSON or supplies an automated result contract, return exactly one JSON object in this shape. CLI verification workflows explicitly request this contract. Use the same verdicts and evidence requirements in either format.

{
  "results": [
    {
      "id": "finding-or-issue-id",
      "status": "fixed|still_vulnerable|inconclusive",
      "evidence": "specific current source, exploit, test, or proof-gap evidence"
    }
  ]
}
  • Use fixed only when evidence proves the original security boundary is closed and legitimate behavior remains intact.
  • Use still_vulnerable only when evidence proves the original vulnerable path remains reachable.
  • Use inconclusive for a repository mismatch, missing original context, unavailable checks required by the selected mode, an unproven legitimate control, or another material proof gap.

Never infer a stronger verdict by weakening the read-only boundary, substituting a different vulnerability, or hiding missing evidence.

Comments

Markdown supported