security-response

Triages CodeQL alerts, Dependabot CVEs, and secret leaks for the Marine Video Portal repository.

Updated Jul 3, 2026
One-click install
npx skills add https://github.com/MarineTeam/fable-video --skill security-response-marineteam
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: security-response
Source: https://github.com/MarineTeam/fable-video/tree/main/.claude/skills/security-response
Command: npx skills add https://github.com/MarineTeam/fable-video --skill security-response-marineteam

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Security alerts on the Marine Video Portal repo (CodeQL findings, Dependabot CVEs, suspected secret leaks) must be triaged quickly and correctly, but line numbers drift, false positives recur, and dismissing an alert without a written justification is forbidden. This Skill provides the standard operating procedure so no alert sits untriaged and no dismissal happens without a checkable argument. ## Core Features & Use Cases - CodeQL triage SOP: Step-by-step process to locate flagged code by grep (not stale line numbers), classify real vs. false positive using a decision table, fix real findings through the change-control gates, and dismiss false positives with a ready-to-paste justification. - Standing dispositions record: A verified table of all seven historical alerts (two real and fixed, four false positives) with grep commands to re-verify each one, preventing re-litigation of settled findings. - Dependabot and secret-leak runbooks: Procedures for verifying transitive CVE fixes given the repo's no-lockfile policy, plus a full secret inventory (Auth0, bunny.net, Upstash, Resend) with blast radius and rotation steps for each. - Pre-merge security invariant checks: Six greppable checks (admin route guards, NEXT_PUBLIC_ vars, tokenized playback, share mismatch privacy, fail-open/fail-closed semantics, hardcoded secrets) to run before merging any auth, token, or share change. - Use Case: A new CodeQL alert flags SHA-256 usage in lib/bunny.js. Load this Skill to grep the flagged function, confirm it matches the known false-positive pattern for bunny.net request signing, and dismiss it in the GitHub UI with the pre-written justification. ## Quick Start Ask the AI to triage the open CodeQL alert on lib/bunny.js using the security-response SOP and verify the flagged line with grep before classifying it.

Frequently Asked Questions about security-response

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

FAQPage Schema
How do I triage a CodeQL alert on GitHub?

Read the alert's rule, severity, and file, then locate the flagged code by grepping for the enclosing function rather than trusting the line number, which drifts with every commit. Classify it as real or false positive using the decision table, fix real findings through the full lint-test-build gates, and dismiss false positives with a written justification.

How do I dismiss a CodeQL false positive for SHA-256 usage?

Dismiss it in the GitHub UI under Security tab, Code scanning, Dismiss alert, with reason False positive and a justification naming what the code actually does. For bunny.net signing functions, the justification explains SHA-256 is a request signature dictated by bunny.net's spec, not a password hash, so bcrypt or argon2 do not apply.

How do I handle a Dependabot alert in a repo with no lockfile?

Check whether the package is a direct or transitive dependency using grep on package.json and npm ls. For transitive deps, run a fresh npm install and npm ls to verify whether the re-resolved version already clears the advisory threshold, since every install re-resolves within caret ranges. Only bump manually if the fix requires a range the caret cannot reach.

What should I do if a secret was committed to git?

Rotate the secret at the provider first to invalidate the leaked value, then update the Vercel environment variable and redeploy, since env changes only take effect on a new deployment. Audit logs and the in-app activity trail for misuse during the exposure window. Rotation is the actual fix; do not rewrite git history without explicit owner sign-off.

When should I not use this security-response procedure?

Do not use it for routine dependency version bumps, runtime debugging like 500 errors or login loops, deployments, or adding environment variables; those belong to other runbooks. Use it only when a security alert, CVE, or suspected leak appears, or before touching auth, token, or share code.

What security checks should run before merging auth or token changes?

Run six greppable checks: all admin API routes call requireAdmin, only the two known-safe NEXT_PUBLIC_ vars exist, no direct bunny CDN URLs bypass token signing, the share mismatch path reveals no recipient data, fail-open and fail-closed semantics are unchanged, and no hardcoded secret literals exist.