Dependency Vulnerability Audit logo

Dependency Vulnerability Audit

Organization
RedHatProductSecurity
dependency-vulnerability-audit

Supply chain security audit using CLI vulnerability scanners, license compliance checks, and supply chain risk assessment. Use when auditing project dependencies for known CVEs, license concerns, and supply chain health.

Overview

PublisherRedHatProductSecurity
Repositoryprodsec-skills
Skill namedependency-vulnerability-audit
Stars
56
Forks
9
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by RedHatProductSecurity on GitHub. Read the source before you install it.

Installation

Install the Dependency Vulnerability Audit AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/RedHatProductSecurity/prodsec-skills/tree/main/ge-core/dependency-vulnerability-audit
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/RedHatProductSecurity/prodsec-skills.git /tmp/prodsec-skills
mkdir -p .claude/skills
cp -r /tmp/prodsec-skills/ge-core/dependency-vulnerability-audit .claude/skills/dependency-vulnerability-audit
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Dependency Vulnerability Audit in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Dependency Vulnerability Audit on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Dependency Vulnerability Audit is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Dependency Vulnerability Audit

Overview

This skill coordinates supply chain security assessment across three dimensions: vulnerability scanning (via real CLI tools), license compliance, and supply chain risk. It delegates CVE detection to actual vulnerability scanners that use live databases — LLM knowledge has a cutoff and cannot reliably detect recent CVEs.

Scanner-to-Ecosystem Mapping

ManifestEcosystemScannerInstall
package.jsonNode.jsnpm auditIncluded with Node.js
requirements.txt, pyproject.toml, PipfilePythonpip-audit or safetypip install pip-audit
go.modGogovulncheckgo install golang.org/x/vuln/cmd/govulncheck@latest
Cargo.tomlRustcargo auditcargo install cargo-audit
pom.xmlJavamvn dependency:analyzeApache Maven required
GemfileRubybundle auditgem install bundler-audit

Important: Non-zero exit codes from vulnerability scanners indicate findings, not errors. Treat scanner exit code != 0 as "vulnerabilities found," not "command failed."

The INCOMPLETE Verdict

When no scanner is available for the detected ecosystem, the verdict MUST be INCOMPLETE — not PASS. INCOMPLETE honestly represents that the vulnerability check could not be performed. License and supply chain analysis can still run, but CVE data will be missing.


CVE Vulnerability Scanning

Severity Categorization

  • Critical: RCE, authentication bypass, data exfiltration — must fix before shipping
  • High: Significant security impact — should fix soon
  • Medium: Limited impact or requires unusual conditions — review and plan fix
  • Low: Minimal impact — track but lower priority

For Each Finding, Identify

  • Package name and affected version
  • CVE/vulnerability ID (e.g., CVE-2024-XXXXX, GHSA-XXXXX)
  • Severity (use scanner-reported severity)
  • Whether a fixed version is available
  • Whether the vulnerable package is a direct dependency or transitive

License Compliance

LLM analysis is appropriate for license review since license data is stable (licenses don't change after release) and terms are documented.

License Risk Categories

CategoryLicensesConcern
Copyleft (strong)GPL-2.0, GPL-3.0, AGPL-3.0May require source disclosure
Copyleft (weak)LGPL, MPLGenerally OK for linking but review usage
RestrictedCommercial, proprietary, no-licenseAll rights reserved — legal review needed
Patent riskKnown patent encumbrancesReview IP implications
Permissive (no concern)MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, Unlicense, CC0No restrictions

What to Flag

  • GPL-incompatible license combinations
  • Dependencies with unknown licenses (mark for manual verification)
  • License changes between versions

Supply Chain Risk Assessment

Heuristic analysis — findings require human verification against package registries.

Typosquatting Indicators

  • Package names very similar to popular packages (e.g., lodash vs l0dash)
  • Unusual character substitutions
  • Suspicious name patterns for the ecosystem

Maintenance Health

  • Packages known to be unmaintained or deprecated
  • Packages with recent ownership transfers
  • Packages with known malicious versions in their history

Dependency Sprawl

  • Unusually large dependency count for the project type
  • Dependencies duplicating functionality of other dependencies
  • Dependencies for trivial functionality (single-function packages)

Version Pinning

  • Dependencies using exact versions (good) vs. wide ranges (risk)
  • Lock file present (good) vs. absent (risk)
  • Any dependency using * or latest as version (high risk)

Verdict Rules

In priority order:

  1. BLOCKED — Any Critical severity CVE found. Mandatory remediation before shipping.
  2. INCOMPLETE — No scanner was available. CVE vulnerability data is missing. Cannot report PASS.
  3. PASS_WITH_NOTES — No Critical CVEs, but any of: High severity CVEs, license compliance flags, supply chain concerns.
  4. PASS — Scanner ran successfully, no CVEs found, no license flags, no supply chain concerns.

Report Structure

markdown
# Dependency Audit Report

**Ecosystem:** [ecosystem]
**Manifest:** [manifest path]
**Scanner used:** [scanner name or 'none — INCOMPLETE']

## Executive Summary
[2-3 sentences on overall security posture]

**Verdict:** [PASS / PASS_WITH_NOTES / BLOCKED / INCOMPLETE]

## Vulnerability Findings
[CVE table by severity: Package | CVE ID | Description | Fixed Version | Direct/Transitive]

## License Compliance
[Flagged dependencies table: Package | License | Concern | Recommendation]

## Supply Chain Risk
[Typosquatting suspects, maintenance concerns, version pinning summary]

## Remediation Priorities

### Immediate (Critical/High vulnerabilities)
[Numbered list with package, CVE, fix command]

### Short-term (Medium vulnerabilities, license concerns)
[Numbered list]

### Monitor (Low vulnerabilities, supply chain flags)
[Numbered list]

Frequently asked questions

What does the Dependency Vulnerability Audit AI skill do?

Supply chain security audit using CLI vulnerability scanners, license compliance checks, and supply chain risk assessment. Use when auditing project dependencies for known CVEs, license concerns, and supply chain health.

Why use Dependency Vulnerability Audit on TypingMind?

Because you install it once and use it with any model. Dependency Vulnerability Audit is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Dependency Vulnerability Audit in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/RedHatProductSecurity/prodsec-skills/tree/main/ge-core/dependency-vulnerability-audit. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Dependency Vulnerability Audit?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Dependency Vulnerability Audit?

As many as you like. As long as a model supports skills, you can use Dependency Vulnerability Audit with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Dependency Vulnerability Audit AI skill free?

Yes. It is published on GitHub by RedHatProductSecurity under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇