Memstack Security Dependency Audit logo

Memstack Security Dependency Audit

Community
cwinvestments
memstack-security-dependency-audit

Use this skill when the user says 'dependency audit', 'npm audit', 'pip audit', 'cargo audit', 'security vulnerabilities', 'outdated packages', 'supply chain', or needs to scan project dependencies for vulnerabilities, abandoned packages, and upgrade risks. Do NOT use for application-level security or secrets scanning.

Overview

Publishercwinvestments
Repositorymemstack
Skill namememstack-security-dependency-audit
Stars
425
Forks
45
Bundled files
Instructions only
LicenseMIT
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 cwinvestments on GitHub. Read the source before you install it.

Installation

Install the Memstack Security Dependency 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/cwinvestments/memstack/tree/master/skills/security/dependency-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/cwinvestments/memstack.git /tmp/memstack
mkdir -p .claude/skills
cp -r /tmp/memstack/skills/security/dependency-audit .claude/skills/memstack-security-dependency-audit
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Memstack Security Dependency 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 Memstack Security Dependency 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 Memstack Security Dependency 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 Audit: Supply Chain Security Scanner

Scan project dependencies for vulnerabilities, outdated packages, abandoned libraries, and supply chain risks with a prioritized upgrade plan.

Activation

When this skill activates, output:

🔒 Dependency Audit: Scanning your dependency tree...

ContextStatus
User says "dependency audit", "npm audit", "scan dependencies"ACTIVE
User wants to check for vulnerable or outdated packagesACTIVE
User mentions CVEs, supply chain security, or abandoned packagesACTIVE
User wants OWASP web app security (not just dependencies)DORMANT: see owasp-top10
User wants secrets scanning (not package vulnerabilities)DORMANT: see secrets-scanner
User wants general code reviewDORMANT: see code-reviewer

Protocol

Step 1: Detect Project Type

Identify the package ecosystem from project files:

File FoundEcosystemAudit CommandOutdated Command
package.jsonnpm/Node.jsnpm audit --jsonnpm outdated --json
package-lock.jsonnpm (locked)npm audit --jsonnpm outdated --json
yarn.lockYarnyarn audit --jsonyarn outdated --json
pnpm-lock.yamlpnpmpnpm audit --jsonpnpm outdated --json
requirements.txtpip/Pythonpip audit --format=jsonpip list --outdated --format=json
Pipfile.lockPipenvpipenv check --output jsonpipenv update --dry-run
pyproject.tomlPoetry/Pythonpip audit --format=jsonpoetry show --outdated
Cargo.tomlRust/Cargocargo audit --jsoncargo outdated --format json
go.modGogovulncheck ./...go list -u -m all
Gemfile.lockRuby/Bundlerbundle audit check --format jsonbundle outdated

If multiple ecosystems detected, audit all of them. Report which ecosystem each finding belongs to.

Step 2: Run Vulnerability Scan

Execute the appropriate audit command and parse results into a unified format:

── VULNERABILITY SCAN ─────────────────────

CVE-2024-XXXXX  🔴 CRITICAL
  Package: [name]@[version]
  Dependency: Direct / Transitive (via [parent])
  Fixed in: [version]
  Description: [brief description]
  CVSS Score: [score]
  Exploitability: [network/local] [complexity]

CVE-2024-YYYYY  🟡 HIGH
  Package: [name]@[version]
  Dependency: Transitive (via [parent] → [grandparent])
  Fixed in: [version]
  Description: [brief description]
  CVSS Score: [score]
  Exploitability: [network/local] [complexity]

Severity classification:

SeverityCVSS ScoreIconAction
Critical9.0 - 10.0🔴Fix immediately: potential active exploitation
High7.0 - 8.9🟡Fix within 1 week: significant risk
Medium4.0 - 6.9🟠Fix within 1 month: moderate risk
Low0.1 - 3.9🔵Fix when convenient: minimal risk

Direct vs transitive priority:

  • Direct dependency: You explicitly installed it, highest priority, easiest to fix
  • Transitive dependency: Pulled in by another package, fix by updating the direct parent
  • If the transitive parent hasn't released a fix, consider overriding with overrides (npm) or resolutions (Yarn)

Step 3: Check for Outdated Packages

Run the outdated command and categorize results:

── OUTDATED PACKAGES ──────────────────────

Package          Current    Latest     Type      Risk
─────────────────────────────────────────────────────
[package-a]      1.2.3      1.2.8      Patch     ✅ Safe, bug fixes only
[package-b]      2.1.0      2.4.0      Minor     ✅ Safe, new features, backward compatible
[package-c]      3.0.0      4.2.1      Major     ⚠️ Breaking, review changelog
[package-d]      1.0.0      1.0.0      Current   ✅ Up to date

Version gap classification:

Gap TypeRiskApproach
Patch (1.2.3 → 1.2.8)Very LowUpdate immediately: bug/security fixes
Minor (2.1.0 → 2.4.0)LowUpdate in batch: new features, backward compatible
Major (3.0.0 → 4.2.1)Medium-HighReview migration guide, test thoroughly
Multiple majors (1.x → 4.x)HighDedicate time, may require code changes

Step 4: Identify Abandoned Packages

Check each dependency for maintenance status:

── ABANDONED PACKAGE CHECK ────────────────

Package          Last Publish    Downloads/wk    Status
──────────────────────────────────────────────────────
[package-x]      3 years ago     12,000          ⚠️ ABANDONED, find alternative
[package-y]      2.5 years ago   800             🔴 DEAD, replace immediately
[package-z]      6 months ago    250,000         ✅ Active

Abandonment indicators:

  • No npm/PyPI publish in 2+ years
  • No GitHub commits in 1+ year
  • Open issues/PRs with no maintainer response for 6+ months
  • Maintainer has publicly archived the repository
  • Deprecation notice in README or package metadata

For each abandoned package, suggest:

  • Alternative package (actively maintained fork or replacement)
  • Migration effort estimate (drop-in replacement vs API changes)
  • Risk of staying: known unpatched vulnerabilities, compatibility drift

Step 5: Supply Chain Risk Assessment

Check for packages with known supply chain risk factors:

Risk FactorDetection MethodSeverity
TyposquattingPackage name similar to popular packageHigh
Install scriptspreinstall/postinstall scripts in package.jsonMedium
Excessive permissionsPackage requests network/fs access unexpectedlyMedium
Single maintainerOne person controls publishingLow-Medium
Recent ownership transfernpm ownership changed recentlyHigh
Minified source onlyNo readable source code in packageMedium
Unpinned dependenciesUsing * or >= in dependency rangesMedium
── SUPPLY CHAIN RISKS ─────────────────────

[package-a]  ⚠️ Has postinstall script
  Script: "postinstall": "node setup.js"
  Review: [does it fetch remote code? write to fs? safe build step?]

[package-b]  ⚠️ Single maintainer, low download count
  Maintainer: [username]
  Weekly downloads: [count]
  Alternative: [more established package]

Step 6: Generate Upgrade Plan

Create a prioritized upgrade plan in three tiers:

━━━ TIER 1: IMMEDIATE (This Sprint) ━━━━━━
Critical/High vulnerabilities in direct dependencies.
Patch updates with no breaking changes.

1. [package]@[current] → [target]
   Reason: 🔴 CVE-2024-XXXXX (CRITICAL)
   Risk: None, patch update
   Command: npm install [package]@[target]

2. [package]@[current] → [target]
   Reason: 🟡 CVE-2024-YYYYY (HIGH)
   Risk: None, minor update
   Command: npm install [package]@[target]

━━━ TIER 2: PLANNED (Next 2 Weeks) ━━━━━━━
Medium vulnerabilities, minor version updates,
replacing abandoned packages.

3. [package]@[current] → [target]
   Reason: 🟠 CVE-2024-ZZZZZ (MEDIUM) + 8 minor versions behind
   Risk: Low, review changelog for deprecations
   Command: npm install [package]@[target]
   Test: [specific areas to regression test]

4. [package] → [replacement-package]
   Reason: ⚠️ Abandoned (last publish: 2 years ago)
   Risk: Medium, API differences, migration needed
   Migration: [brief migration steps]

━━━ TIER 3: SCHEDULED (Next Quarter) ━━━━━━
Major version upgrades requiring migration effort.

5. [package]@[current] → [target]
   Reason: 3 major versions behind, accumulating tech debt
   Risk: High, breaking changes in v3 and v4
   Migration guide: [URL]
   Estimated effort: [hours/days]
   Test: [comprehensive regression testing required]

Step 7: Override Guidance

When a transitive dependency can't be fixed by updating the direct parent:

npm (overrides in package.json):

json
{
  "overrides": {
    "vulnerable-package": ">=2.0.1"
  }
}

Yarn (resolutions in package.json):

json
{
  "resolutions": {
    "vulnerable-package": ">=2.0.1"
  }
}

pnpm (overrides in package.json):

json
{
  "pnpm": {
    "overrides": {
      "vulnerable-package": ">=2.0.1"
    }
  }
}

Pip (constraint file):

# constraints.txt
vulnerable-package>=2.0.1
bash
pip install -c constraints.txt -r requirements.txt

Caution: Overrides can break compatibility. Always test after applying.

Step 8: CI Integration Recommendation

Recommend automated dependency scanning in CI:

yaml
# GitHub Actions example
name: Dependency Audit
on:
  schedule:
    - cron: '0 9 * * 1'  # Weekly Monday 9 AM
  pull_request:
    paths:
      - 'package.json'
      - 'package-lock.json'

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm audit --audit-level=high
      - run: npm outdated || true  # Don't fail on outdated

Recommended tools for ongoing monitoring:

  • Dependabot (GitHub): Auto-creates PRs for updates
  • Renovate (any platform): More configurable than Dependabot
  • Snyk: Deep vulnerability scanning + fix PRs
  • Socket.dev: Supply chain risk detection

Step 9: Output

Present the complete dependency health report:

━━━ DEPENDENCY HEALTH REPORT ━━━━━━━━━━━━━
Project: [name]
Ecosystem: [npm/pip/cargo/etc.]
Scan date: [date]
Total dependencies: [direct] direct, [transitive] transitive

── VULNERABILITY SUMMARY ──────────────────
🔴 Critical: [count]
🟡 High:     [count]
🟠 Medium:   [count]
🔵 Low:      [count]

── VULNERABILITIES ────────────────────────
[detailed CVE list with fix versions]

── OUTDATED PACKAGES ──────────────────────
Patch updates available: [count]
Minor updates available: [count]
Major updates available: [count]

── ABANDONED PACKAGES ─────────────────────
[list with alternatives]

── SUPPLY CHAIN RISKS ─────────────────────
[risk factors found]

── UPGRADE PLAN ───────────────────────────
Tier 1 (Immediate): [count] packages
Tier 2 (Planned):   [count] packages
Tier 3 (Scheduled): [count] packages

── COMMANDS ───────────────────────────────
[copy-paste upgrade commands]

── CI RECOMMENDATION ──────────────────────
[automated scanning setup]

── HEALTH SCORE ───────────────────────────
Score: [X/100]
  Vulnerabilities: [-points per severity]
  Currency: [-points per outdated major]
  Maintenance: [-points per abandoned dep]
  Supply chain: [-points per risk factor]

Health score calculation:

  • Start at 100
  • Critical CVE: -20 each
  • High CVE: -10 each
  • Medium CVE: -5 each
  • Major version behind: -3 each
  • Abandoned dependency: -8 each
  • Supply chain risk: -5 each
  • Minimum score: 0

Inputs

  • Project path (or current directory)
  • Package ecosystem (auto-detected from lockfiles)
  • Severity threshold (default: all)
  • Include dev dependencies? (default: yes)

Outputs

  • Unified vulnerability list with CVE IDs, severity, affected package, and fix version
  • Direct vs transitive dependency classification
  • Outdated packages categorized by version gap type
  • Abandoned package list with alternatives
  • Supply chain risk assessment
  • Three-tier prioritized upgrade plan with commands
  • Override guidance for transitive dependency fixes
  • CI integration config for ongoing monitoring
  • Dependency health score (0-100)

Level History

  • Lv.1: Base: Multi-ecosystem audit (npm, pip, cargo, go, bundler), unified vulnerability format with CVSS severity, direct vs transitive classification, outdated package analysis, abandoned package detection with alternatives, supply chain risk assessment, three-tier upgrade plan, override guidance, CI integration config, health score. (Origin: MemStack v3.2, Mar 2026)

Frequently asked questions

What does the Memstack Security Dependency Audit AI skill do?

Use this skill when the user says 'dependency audit', 'npm audit', 'pip audit', 'cargo audit', 'security vulnerabilities', 'outdated packages', 'supply chain', or needs to scan project dependencies for vulnerabilities, abandoned packages, and upgrade risks. Do NOT use for application-level security or secrets scanning.

Why use Memstack Security Dependency Audit on TypingMind?

Because you install it once and use it with any model. Memstack Security Dependency 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 Memstack Security Dependency Audit in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/cwinvestments/memstack/tree/master/skills/security/dependency-audit. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Memstack Security Dependency 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 Memstack Security Dependency Audit?

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

Is the Memstack Security Dependency Audit AI skill free?

Yes. It is published on GitHub by cwinvestments under the MIT 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 👇