phx-deps-audit

Audit Hex dependency updates for supply-chain risks, CVEs, and maintainer changes.

537|38|Updated Feb 12, 2026
One-click install
npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix --skill phx-deps-audit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: phx-deps-audit
Source: https://github.com/oliver-kriska/claude-elixir-phoenix/tree/main/targets/codex/skills/phx-deps-audit
Command: npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix --skill phx-deps-audit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Updating Elixir/Hex dependencies can silently introduce supply-chain attacks, typosquatted packages, new CVEs, or maintainer takeovers, and standard tools only report current-state vulnerabilities without showing what an update actually changed.

Core Features & Use Cases

  • 8-rule heuristic scan: Detects bidi Unicode control characters, dynamic code evaluation, compile-time shell commands, unsafe binary deserialization, new git/path dependencies, maintainer changes, suspicious base64 blobs, and typosquatting against the top-500 package list.
  • Differential CVE analysis: Runs mix_audit against both old and new mix.lock states to report which CVEs were patched, introduced, or remain exposed by an update.
  • External tool integration: Wraps mix hex.audit, mix_audit, and OSV-Scanner with rate-limited Hex API enrichment, emitting markdown tables, JSON, or SARIF for CI gating.
  • Use Case: After running mix deps.update on a Phoenix project, invoke the audit to get a per-package risk table with rule citations and a security changelog before merging the lock change.

Quick Start

Ask the assistant to audit the current Hex dependency changes with phx-deps-audit before committing the updated mix.lock.

Frequently Asked Questions about phx-deps-audit

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

FAQPage Schema
How do I audit Hex dependencies for security risks in Elixir?

Run the audit after mix deps.update or mix deps.get to scan changed packages against 8 heuristic rules, CVE databases via mix_audit and OSV-Scanner, and Hex API metadata. It outputs a risk-scored table with rule citations for each finding.

How to check what CVEs a mix.lock update patches?

The differential CVE pass runs mix_audit against both the old and new mix.lock using a tmpdir copy, then diffs results into patched, introduced, and still-exposed categories. This turns a silent update into a security changelog showing exposure windows.

Does the audit modify mix.exs or mix.lock files?

No, the audit is strictly non-mutating and never modifies mix.exs, mix.lock, or any project file. It also refuses to install missing tools like mix_audit, instead warning with install instructions and skipping that check.

Can I run Hex dependency audits in GitHub Actions CI?

Yes, the --ci flag enables non-interactive mode with strict exit codes: 0 for clean, 1 for BLOCK findings, and 2 for missing required tools. Pair it with --sarif to upload results to GitHub Code Scanning.

What is the difference between the full scan and --quick mode?

The full scan runs all 8 heuristic rules, external CVE tools, Hex API enrichment, and differential analysis, taking 30-90 seconds for 25 packages. The --quick flag runs only mix hex.audit and mix_audit on the current lock, targeting under 10 seconds.

Why does the audit warn about a stale GHSA advisory cache?

mix_audit ships its GitHub Advisory Database with the package and does not refresh it automatically, so recent CVE disclosures may be missed. The audit warns when the cache exceeds 24 hours old and suggests updating mix_audit manually.