security-assessment

Triage reported vulnerabilities and compute CVSS 4.0 scores for PSIRT decisions.

1.6k|168|Updated Dec 16, 2024
One-click install
npx skills add https://github.com/amd/gaia --skill security-assessment-amd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: security-assessment
Source: https://github.com/amd/gaia/tree/main/.claude/skills/security-assessment
Command: npx skills add https://github.com/amd/gaia --skill security-assessment-amd

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires cvss.

What problem does it solve? Security triage on reported vulnerabilities often produces guessed CVSS scores that are off by a full severity band, leading to wrong CVE decisions. This Skill enforces a disciplined PSIRT workflow: decide if a finding is valid and exploitable, whether it needs a CVE and public bulletin, and compute the CVSS 4.0 score from a reviewed vector instead of guessing. ## Core Features & Use Cases - Computed CVSS 4.0 Scoring: Runs util/cvss4.py, a tested wrapper over the cvss pip package matching the FIRST 4.0 calculator, so the number is arithmetic on a reviewed vector, never a guess. - GAIA Vector Rubric: Guides metric selection (AV, AC, AT, PR, UI, VC/VI/VA, subsequent scope) with rules specific to agent-tool findings, including the confirmation-gate test that determines whether a bypass is a real CVE or defense-in-depth hardening. - Root-Cause CWE and PSIRT Template: Names the root-cause CWE before the consequence and fills the PSIRT/JIRA triage in order: validity, CVE decision, CVSS vector and score, CVE description, and mitigation deliverables. - Use Case: A researcher reports a command-allowlist bypass in a GAIA agent tool. Use this Skill to check whether the tool sits behind TOOLS_REQUIRING_CONFIRMATION, build the corrected CVSS 4.0 vector, compute the score with util/cvss4.py, and produce the triage verdict that moves the JIRA ticket from Opened to Assessed. ## Quick Start Triage this reported vulnerability in GAIA, decide whether it needs a CVE, and compute its CVSS 4.0 score with util/cvss4.py.

Frequently Asked Questions about security-assessment

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

FAQPage Schema
How do I compute a CVSS 4.0 score from a vector string?

Run python util/cvss4.py with the full vector, for example CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:A/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N. It returns the base score and severity matching the FIRST 4.0 calculator, and raises a ValueError on malformed vectors.

How do I decide if a vulnerability needs a CVE?

Check whether the affected tool sits behind TOOLS_REQUIRING_CONFIRMATION, where the user approves the literal command before execution. If that human-approval gate is the real security boundary, a bypass of a secondary control is defense-in-depth hardening and typically does not warrant a CVE.

Why should CVSS scores never be guessed by an LLM?

Guessed scores are routinely off by a full severity band; documented cases show an AI claiming 6.9 Medium for a vector that computes to 8.4 High. The vector is the judgment call, but the number must be computed with a tested calculator.

How do I choose the User Interaction metric for agent tool findings?

Set UI:A when the user must approve a confirmation-gated tool, UI:P when they merely initiate a command or install, and UI:N only when execution is fully automatic. Most run_shell_command findings are UI:A because the operator approves the literal command first.

Which CWE should I assign for an incomplete allowlist bypass?

Name the root cause first: CWE-184 (Incomplete List of Disallowed Inputs) for an incomplete allowlist check. CWE-78 (OS Command Injection) describes only the consequence, so leading with it mischaracterizes the defect.