用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aibot88/sec_skill_store --skill review-dependency命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files. This should trigger for requests such as Create a user story; Write a user story; I need to write a user story. Part of cursor-rules-java project
Guía técnica completa para integrar 250+ servicios externos con agentes IA usando Composio. Cubre instalación, autenticación OAuth, gestión de herramientas, triggers y flujos multi-servicio.
Facilitates conversational discovery to create Architectural Decision Records (ADRs) for non-functional requirements using the ISO/IEC 25010:2023 quality model. Use when the user wants to document quality attributes, NFR decisions, security/performance/scalability architecture, or design systems with measurable quality criteria. This should trigger for requests such as Create ADR for Non-functional requirements; Document Non-functional requirements; Capture Non-functional requirements; Generate Non-functional requirements in an ADR. Part of cursor-rules-java project
基于 SOC 职业分类
正在显示 SKILL.md
| name | review-dependency |
| description | Use for security review of dependency updates — bumps, upgrades, or new dependencies. |
| agent | claudius |
| context | fork |
| allowed-tools | Read, Grep, Glob, WebFetch, WebSearch, Bash(mktemp *), Bash(git diff *), Bash(git clone --depth=* --config core.hooksPath=/dev/null -- *), Bash(gh api /advisories*), Bash(rm -rf /tmp/claude/*), Bash(govulncheck *), Bash(cargo audit *), Bash(npm audit *), Bash(pip-audit *) |
Perform a security-focused review of a dependency update.
Argument: $ARGUMENTS — the dependency name (e.g., github.com/lib/pq, express, tokio), optionally with version range (e.g., github.com/lib/pq 1.11.1..1.11.2). If empty, auto-detect from the current branch by diffing the dependency manifest against the main branch.
Detect the project ecosystem and locate the dependency manifest:
| Ecosystem | Manifest files |
|---|---|
| Go | go.mod, go.sum |
| Rust | Cargo.toml, Cargo.lock |
| Python | pyproject.toml, requirements*.txt, Pipfile.lock, poetry.lock |
| Node.js | package.json, package-lock.json, yarn.lock, pnpm-lock.yaml |
| Other | Identify automatically |
Diff the manifest against the base branch to extract: package name, old version, new version, and any other dependency changes bundled in the same commit.
Run these steps in parallel:
Create a session temp dir (if not already created) and clone the new version into it.
SESSION_DIR=$(mkdir -p /tmp/claude && mktemp -d /tmp/claude/XXXXXX)
Input validation: Before using the package name in any shell command, validate that it contains only alphanumeric characters, hyphens, underscores, dots, forward slashes, and @ symbols. Reject any input containing shell metacharacters (;, |, &, $, `, (, ), <, >, !, #, ~, {, }).
git clone --depth=100 --config core.hooksPath=/dev/null -- <upstream-repo-url> "$SESSION_DIR/<package-name>"
Search for CVEs and security advisories using ecosystem-appropriate sources:
| Source | Method |
|---|---|
| OSV.dev | POST https://api.osv.dev/v1/query with package name and ecosystem |
| GitHub Advisory Database | gh api /advisories?ecosystem=<eco>&affects=<pkg> |
| NVD | Web search for package CVEs |
| Ecosystem-specific | govulncheck (Go), cargo audit (Rust), npm audit (Node), pip-audit (Python) |
| Web search | <package-name> CVE vulnerability security advisory |
Check if there are commonly confused packages with similar names that may pollute search results.
Spawn a security-engineer-smythe agent to review the cloned library source at $SESSION_DIR/<package-name>.
Select and apply relevant categories based on the library's purpose:
Network / Protocol libraries — TLS certificate validation and defaults, protocol message parsing and length validation, authentication mechanisms (password handling, token security), connection string / URL parsing injection, buffer safety and unbounded allocations from network data
Data access libraries — Query injection (SQL, NoSQL, LDAP, etc.), input escaping and parameterization, connection security defaults, credential exposure in errors or logs
HTTP libraries — SSRF and redirect following, header injection (CRLF), request smuggling, cookie security, response body size limits
Cryptographic libraries — Algorithm strength, CSPRNG usage, nonce/IV reuse, side-channel resistance, key management and zeroing
Serialization libraries — Deserialization attacks and type confusion, resource exhaustion (recursion bombs, billion laughs), malformed input handling
All libraries — Input validation and sanitization, memory safety and resource limits, error handling and information disclosure, concurrency safety (races, deadlocks), file system operations (path traversal, symlink attacks), transitive dependency risk, debug/logging modes that may leak sensitive data
Rate findings: CRITICAL / HIGH / MEDIUM / LOW / INFO (see severity skill for definitions).
Include: file:line references, CWE IDs where applicable, impact, and remediation.
Spawn an architect-nagatha agent in parallel with step 3. The agent must:
SECURITY.md presence, disclosure process, CVE registration discipline, maintainer activityAfter upstream review completes, assess how the dependency is used in our codebase:
Present a single report:
Package, old version, new version, commit count, nature of changes (bug fix / feature / security fix / breaking change).
Table of CVEs/advisories found (or "None found"), affected versions, whether the new version is impacted. Note any commonly confused packages.
Table: Severity | Finding | Location | CWE — grouped by severity, CRITICAL first.
Table: Recommendation | Status | Action Needed? — for each finding, assess whether our usage is affected.
Numbered actionable items for our codebase, plus long-term considerations (e.g., migration to alternatives).
rm -rf "$SESSION_DIR"