본문으로 건너뛰기
cccskills
무료GitHub에 공개

fix-finding

Fix a validated or plausible security vulnerability with a focused code change, then verify that the attack no longer works and legitimate behavior remains intact. Report when existing code is safe or essential evidence is missing.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Use only when the user explicitly asks to fix and verify a validated or plausible security vulnerability. Do not use for ordinary bug fixes, correctness or design review findings, general validation, or full PR, commit, branch, patch, or repository scans.

설치 방법 보기

이럴 때 유용합니다

  • Fix a reported vulnerability and verify the result
  • Check for alternate inputs that bypass a proposed fix
  • Confirm that a security patch preserves legitimate behavior
  • Establish that an already-safe path needs no change

포함된 파일(2)

  • SKILL.md9.3 KB
  • agents/openai.yaml225 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Fix Finding

Before choosing paths or saving retained output, read ../../references/artifact-storage.md and follow its storage policy.

Objective

Turn a current security finding into a minimal, validated code change. If the code is already safe, prove that and report that no change was needed.

Judge the result in this order:

  1. the current state is correctly classified as vulnerable, already safe, or unproven
  2. any fix completely closes the broken security boundary
  3. legitimate behavior and compatibility are preserved
  4. relevant repository checks pass
  5. the implementation follows repository conventions
  6. the patch contains only the scope necessary for the earlier properties

Never trade an earlier property for a later one. Minimal means the smallest repository-native change that satisfies all earlier properties, not the fewest lines.

Patch Contract

Before editing, inspect the affected implementation, its direct callers, nearby helpers, and relevant existing tests. Establish from repository evidence:

  • the attacker-controlled input and concrete source-to-sink path or broken control
  • the security invariant and narrowest shared enforcement boundary
  • legitimate behavior, APIs, error semantics, and compatibility constraints that must remain
  • the closest existing implementation, validation, and error-handling precedents

Treat the finding as a data-flow and boundary problem, not merely the named input example. Check equivalent encodings, parser forms, aliases, callers, sinks, and every representation or copy of security-sensitive state that could bypass the proposed change. Handle unsafe state explicitly; do not silently accept, truncate, or reinterpret it into another reachable form.

Pre-Patch Investigation

The parent agent owns the patch and independently traces the reported path. Before editing, launch one fresh read-only agent with fork_turns: "none" when delegation is available. If delegation is unavailable, perform the same perspective as a separate pass:

  • Security-boundary and compatibility investigator: Independently trace the source-to-sink path and identify the shared enforcement boundary, affected entry points, alternate representations or lifecycle states, parser and validation-to-use transitions, concrete sibling paths, and source-backed bypass risks. Establish the legitimate workflows and public behavior that must remain, then inspect callers, implementations, optional modes, errors, side effects, repository conventions, existing helpers, and focused validation commands for integration constraints.

The investigation requires repository-relative evidence and a clear separation between facts, inferences, and unresolved questions. When it completes, reconcile its findings with the parent's investigation and choose the patch boundary.

Implementation Workflow

  1. Trace the reported path and inspect only the context needed to identify the real shared boundary. Return no_change when repository evidence shows that the reported path is already safe; do not make a speculative change.
  2. When feasible, run the smallest high-signal reproduction through that boundary and one legitimate control through the same path.
  3. Implement the smallest repository-native fix at the shared boundary. Prefer nearby helpers and established APIs. Do not broaden into unrelated redesign, cleanup, or sibling findings.
  4. Before verification, challenge the patch rather than defending it: inspect every direct caller of each changed helper and both outcomes of each changed condition. Look for one sibling path, representation, or copy that still reaches the vulnerable sink and one ordinary or default input that the patch newly rejects or reinterprets; revise the implementation if either exists.
  5. Verify in order:
    • inspect the final diff and run the narrowest syntax, import, build, or type check relevant to it
    • rerun the security trigger or strongest focused substitute and review one alternate malicious input class
    • rerun the legitimate control, nearest existing tests, and the owning package's applicable required checks

Return blocked if the vulnerability may be real, but essential evidence, tooling, access, or a product or compatibility decision is missing, so a safe fix cannot be responsibly completed or verified.

Patch Candidate Review

After implementing and running focused checks, launch one fresh read-only agent with fork_turns: "none" when delegation is available. Give it only the finding, repository root, authorized scope, repository policy, and current candidate diff; do not provide the patch rationale, investigator report, or claims that tests passed. If delegation is unavailable, perform the same review perspective as a separate pass before final verification. In either case, use the following assignment:

  • Bypass and regression reviewer: Reconstruct the invariant and look for a concrete surviving route through affected entry points, equivalent representations, parser boundaries, aliases, backend or platform variants, and validation-to-use gaps. Trace changed conditions and direct callers for concrete breakage of legitimate inputs, public contracts, errors, side effects, state transitions, optional modes, compatibility, resource behavior, and repository conventions.

The reviewer must not edit or delegate. Report only concrete, source-backed bypasses or regressions and explain how each can be verified. Treat reviewer findings as hypotheses: confirm them against the source or focused execution before revising the implementation. Address only confirmed issues within the finding and compatibility boundary; do not broaden into speculative concerns or redesign. Then rerun relevant verification and ensure no temporary or unrelated changes remain. Perform only one review cycle.

Workbench Remediation Stages

When a Codex Security workbench request includes a scan ID, occurrence ID, remediation request ID, action token, and expected version, follow only the requested remediation stage. The stage boundary changes when code may be written, but it does not weaken the validation requirements above.

  • Generate: Keep the selected target checkout unchanged. Use an isolated worktree or temporary copy when edits are needed to develop or test the fix. Apply the patch contract and strategy gates above, write one canonical unified diff containing the complete source and regression-test change, then record generated or failed using the supplied workbench identity.
  • Apply: Verify the recorded base revision and patch digest, then apply exactly that patch to the selected working tree without unrelated edits. Record applied or failed. Do not verify or close the finding in this stage.
  • Verify: Do not modify source. Run the ordered verification gates above against the recorded patch. Record verified only when the original issue no longer reproduces, legitimate behavior remains intact, and relevant repository checks pass; preserve exact commands and results in the verification summary. Otherwise record failed and state the failing gate or proof gap. Do not close the finding.

When a parent thread delegates a remediation stage, the worker owns that stage through its terminal workbench update. The parent remains an orchestrator and must not duplicate the worker's edits or treat a chat response as completion.

Outcome and Output Contract

In the final response, include:

  • outcome: fixed, no_change, or blocked
  • the concrete vulnerable path, security invariant, and legitimate behavior that had to remain
  • the selected patch strategy and why it was the narrowest complete repository-native option, or the unresolved product decision when blocked
  • files changed
  • tests or validation artifacts added
  • commands run and their pass, fail, or unknown results, grouped by the ordered verification gates
  • explicit statement of how the original issue was shown not to reproduce
  • explicit statement of how legitimate behavior was shown to remain intact
  • remaining uncertainty or skipped validation, if any

If using a scan artifact directory, resolve it using ../../references/scan-artifacts.md, then write a visible report to the fix report path. If there is no existing scan directory, a final chat summary is sufficient unless the user asks for a file.

Hard Rules

  • Do not report fixed until every ordered verification gate has passed. Omit a check only when repository evidence shows it is irrelevant; an unavailable relevant check makes verification blocked and must be reported.
  • Do not rely only on code inspection when a focused test or reproducer is feasible.
  • Do not broaden the patch into unrelated cleanup, sibling findings, or architectural redesign without evidence that the broader change is required for complete closure.
  • Do not remove user changes or unrelated local modifications.
  • Do not weaken authentication, authorization, tenant isolation, input validation, sandboxing, or logging to make tests pass.
  • Do not hide proof gaps. If the environment blocks validation, say exactly which command or setup failed and what evidence is still missing.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Assess a fixed patch or pull request diff before merging. Trace affected behavior, evaluate regression risks, tests, and recovery options, then provide an evidence-based recommendation and advisory automatic-merge eligibility without modifying or merging the patch.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Assess a generated patch before merging
  • Trace how a pull request affects production behavior
  • Evaluate tests and rollback options
openai/codex-security1.1만2026년 10월 18일 업데이트

Trace a security finding from an attacker’s entry point to its impact using repository evidence. Examine access, permissions, existing defenses, and counterevidence to assess severity and decide whether the finding warrants reporting.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Trace how an attacker could exploit a finding
  • Reassess severity against existing defenses
  • Check counterevidence before reporting
openai/codex-security1.1만2026년 10월 18일 업데이트

Read existing findings, reports, recorded assignments, verification results, and scan status from a connected Codex Security Cloud account. Summarize available evidence and distinguish missing information from confirmed outcomes without changing Cloud data.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Inspect a finding from its Cloud link
  • List findings by severity or recorded assignee
  • Review saved validation and patch check reports
openai/codex-security1.1만2026년 10월 18일 업데이트

Run repeated, independent security reviews of an entire repository or a selected directory. The skill combines validated findings and coverage records into a final report, helping reduce variation between individual reviews.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing an entire repository through repeated security audits
  • Running an intensive review of a selected directory
  • Combining validated findings and coverage into one report
openai/codex-security1.1만2026년 10월 18일 업데이트

Create or review SECURITY.md guidance so Codex Security understands what to examine, which protections must hold, and what is excluded. Compare existing policies with repository evidence and preview proposed changes before writing.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Define security review scope for a repository
  • Document required security protections
  • Check whether existing guidance matches the code
openai/codex-security1.1만2026년 10월 18일 업데이트

Inspect repository code or code changes for plausible security vulnerabilities. The skill records candidate issues with affected locations, attacker-controlled inputs, failing safeguards, and possible impact, preserving the evidence needed for later validation.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Finding security issues that may arise from code changes
  • Investigating vulnerability candidates in repository code
  • Organizing source evidence for later validation
openai/codex-security1.1만2026년 10월 18일 업데이트

openai의 스킬 모두 보기

이 스킬의 문제 신고