Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Depgraph

БесплатноНе проверен

Dependency risk visualizer — Scorecard + OSV + typosquat + maintainer signals

GitHubEmbed

Описание

Dependency risk visualizer — Scorecard + OSV + typosquat + maintainer signals

README

DEPGRAPH

DEPGRAPH

Offline dependency-risk auditor — Scorecard heuristics + OSV matching + typosquat detection

PyPI CI ports License: COCL 1.0 Suite

Developer / Supply Chain — grade your dependencies, match them against 262k real OSV advisories, catch impostor packages — 100% offline.

pip install "git+https://github.com/cognis-digital/depgraph.git"
depgraph audit requirements.txt          # grade every dependency A–F
depgraph enrich requirements.txt         # + cross-reference 262k real OSV vulns, offline

depgraph is a single-purpose, zero-network, dependency-free supply-chain risk auditor. Point it at a requirements.txt, package.json, or Pipfile and it grades every package A–F using maintainer/age/typosquat heuristics (in the spirit of ossf/scorecard) and matches pinned versions against an OSV-style advisory database with real semantic version-range checks. It never sends your manifest anywhere — the entire 262k-record vulnerability corpus ships inside the package.

🔎 Example output

Real, reproducible output from the tool — runs offline:

$ depgraph-emit --version
depgraph 2.1.0
$ depgraph-emit --help
usage: depgraph [-h] [--version] {audit,advisories,enrich,vulndb,feeds} ...

Offline dependency-risk scorer + OSV-style vulnerability matcher. Grades
pip/npm/Pipfile manifests A-F. Defensive use only.

positional arguments:
  {audit,advisories,enrich,vulndb,feeds}
    audit               Audit a dependency manifest and grade every package.
    advisories          List the bundled OSV-style advisory database.
    enrich              Audit a manifest AND cross-reference every package
                        against the bundled 262k-record offline OSV database.
    vulndb              Query the bundled offline OSV database directly (no
                        network).
    feeds               List the edge/air-gap intelligence-feed catalog (CISA
                        KEV / EPSS / OSV / NVD / GHSA). Refresh is online-opt-
                        in only.

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
$ depgraph-emit feeds
35 edge/air-gap feed(s) in the catalog
------------------------------------------------------------
  cisa-kev                     vuln           [json]  CISA Known Exploited Vulnerabilities
  epss                         vuln           [json]  FIRST EPSS exploit-probability scores
  osv                          vuln           [json]  OSV.dev vulnerability query
  nvd-cve                      vuln           [json]  NIST NVD CVE API 2.0
  attack-enterprise            threat-intel   [stix]  MITRE ATT&CK Enterprise (STIX 2.1)
  feodo-c2                     threat-intel   [json]  abuse.ch Feodo Tracker C2 IP blocklist
  threatfox                    threat-intel   [json]  abuse.ch ThreatFox recent IOCs
  urlhaus                      threat-intel   [json]  abuse.ch URLhaus recent malware URLs
  sslbl                        threat-intel   [csv]  abuse.ch SSL/JA3 blacklist
  oscal-800-53-rev5-catalog    compliance     [oscal]  NIST SP 800-53 rev5 catalog (OSCAL)
  attack-nist-mappings         compliance     [json]  ATT&CK <-> NIST 800-53 control mappings
  disa-stig-library            compliance     [html]  DISA STIG downloads (index)
  ofac-sdn                     osint          [csv]  US Treasury OFAC SDN list
  gdelt                        osint          [text]  GDELT 2.0 global event stream
  opensky-states               osint          [json]  OpenSky Network live aircraft states
  aws-ip-ranges                cloud          [json]  AWS public IP ranges
  gcp-ip-ranges                cloud          [json]  Google Cloud IP ranges
  github-advisories            vuln           [json]  GitHub Security Advisory DB (GHSA)
  circl-cve                    vuln           [json]  CIRCL CVE / vulnerability-lookup
  kev-mirror                   vuln           [json]  CISA KEV (cisagov GitHub mirror)
  osv-pypi-bulk                vuln           [zip]  OSV bulk export (PyPI all)
  spamhaus-drop                threat-intel   [text]  Spamhaus DROP (don't-route-or-peer)
  tor-exit-nodes               threat-intel   [text]  Tor Project exit-node bulk list
  sslbl-ja3                    threat-intel   [csv]  abuse.ch SSLBL JA3 fingerprint blacklist
  urlhaus-recent               threat-intel   [json]  abuse.ch URLhaus recent (full)
  attack-mobile                threat-intel   [stix]  MITRE ATT&CK Mobile (STIX 2.1)
  attack-ics                   threat-intel   [stix]  MITRE ATT&CK

Blocks above are real depgraph output — reproduce them from a clone.

Contents

Why · What it really does · Quick start · Worked example · OSV enrichment · Querying the DB · Edge / air-gap · Output formats · Polyglot ports · Install · Scope & safety · AI stack · Related

Why depgraph?

Most dependency scanners phone home: they upload your dependency list to a SaaS API to look up vulnerabilities. depgraph does the opposite — the database comes to you. That makes it usable in CI without secrets, on disconnected/air-gapped/edge gear, and on code you can't legally exfiltrate.

  • Offline by construction. No API key, no network, no telemetry. The bundled cognis_vulndb.jsonl.gz carries ~262,000 real OSV advisories across PyPI, npm, Go, Maven, RubyGems, crates.io, and NuGet.
  • Three signals, one grade. OSV version-range vuln matching + Scorecard-style maintainer/age health + Levenshtein typosquat detection, rolled into a 0–10 score and an A–F letter per package and per project.
  • CI-native. Exit codes, --min-severity, and --fail-grade gates; JSON for any pipeline.

What it really does

Capability Detail
Manifest parsing pip requirements.txt (name==, ~=, unpinned), package.json (dependencies + devDependencies, range operators stripped to concrete versions), Pipfile ([packages] / [dev-packages]).
OSV-style matching Curated high-signal advisories with precise introduced/fixed ranges (introduced ≤ v < fixed, multi-range aware) + PEP440/semver-lite version comparison.
OSV enrichment depgraph enrich cross-references every package against the full bundled 262k-record OSV corpus, attaching every real advisory id/CVE/GHSA that names it.
Typosquat detection Levenshtein edit-distance to a curated popular-name list, with homoglyph and same-charset transposition heuristics (colourama → colorama, lodahs → lodash).
Health heuristics Deprecated/abandoned, very-new (<6mo), and single-maintainer signals from a bundled maintenance table.
Edge data feeds depgraph feeds lists a 35-source keyless intel catalog (CISA KEV, EPSS, OSV, NVD, GHSA, MITRE ATT&CK, …) with disk-cache + air-gap snapshot import/export.

Quick start

# audit a manifest (table by default)
depgraph audit requirements.txt

# read from stdin
cat requirements.txt | depgraph audit

# enrich with the full 262k OSV corpus
depgraph enrich requirements.txt

# look a CVE up directly in the bundled DB (offline)
depgraph vulndb --cve CVE-2021-44228

# CI gate: fail when the project grade drops to C or below
depgraph audit requirements.txt --fail-grade C || exit 1

Worked example

Given requirements.txt:

requests==2.28.0
urllib3==1.25.0
pillow==8.4.0
colourama==0.4.6
numpy
cryptography==42.0.0
$ depgraph audit requirements.txt
DEPGRAPH audit of requirements.txt
============================================================
GRADE  NAME          VERSION  SCORE  WORST     FINDINGS
-----------------------------------------------------------
F      colourama     0.4.6      2.0  CRITICAL  3
F      pillow        8.4.0      3.5  CRITICAL  1
C      urllib3       1.25.0     6.0  HIGH      1
B      requests      2.28.0     7.5  MEDIUM    1
B      numpy         -          8.5  MEDIUM    1
A      cryptography  42.0.0    10.0  NONE      0

FINDINGS
------------------------------------------------------------
  colourama 0.4.6 [F]
    - [CRITICAL] 'colourama' is 1 edit(s) from popular 'colorama' — possible typosquat / impostor package.
    - [MEDIUM] 'colourama' is very new (2 mo old) — low track record, common cover for malicious uploads.
    - [LOW] 'colourama' has a single maintainer — bus-factor and account-takeover risk.
  pillow 8.4.0 [F]
    - [CRITICAL] GHSA-h5c8-rqwp-cp95 (CVE-2022-22817) affects pillow 8.4.0 — Pillow arbitrary code execution via ImageMath.eval.
  urllib3 1.25.0 [C]
    - [HIGH] GHSA-9wx4-h78v-vm56 (CVE-2021-33503) affects urllib3 1.25.0 — urllib3 ReDoS via malformed authority in URL.
  requests 2.28.0 [B]
    - [MEDIUM] GHSA-j8r2-6x86-q33q (CVE-2023-32681) affects requests 2.28.0 — requests leaks Proxy-Authorization header on cross-host redirect.

project: C  score=6.25  deps=6  vulns=3  findings=7

--format json emits the same data as a machine-readable document with per-finding kind/severity/penalty/advisory_id and a project rollup — pipe it into CI, SARIF tooling, or an agent.

OSV enrichment — the full 262k corpus, offline

depgraph audit uses a small, hand-curated advisory set with exact version ranges. depgraph enrich layers the entire bundled OSV database on top, attaching every real advisory that names each package:

$ depgraph enrich requirements.txt
DEPGRAPH OSV enrichment of requirements.txt
============================================================
bundled OSV records: 262351  |  packages with OSV refs: 4  |  total references: 31

  pypi:requests  (13 OSV advisories)
    - [MEDIUM] GHSA-j8r2-6x86-q33q (CVE-2023-32681) Unintended leak of Proxy-Authorization header in requests
    - [HIGH]   GHSA-9hjg-9r4m-mvj7 (CVE-2024-47081) Requests .netrc credentials leak via malicious URLs
    ...

Enrichment is conservative and additive: bundle records don't carry machine-comparable ranges, so a hit is reported as an advisory reference ("this package has N known OSV advisories"), never a fabricated "you are vulnerable" verdict. It never overrides the curated version-range matches and never changes a package's grade.

Querying the bundled DB directly

depgraph vulndb --count                         # 262351 bundled OSV records
depgraph vulndb --cve CVE-2021-44228            # resolve Log4Shell (and its GHSA)
depgraph vulndb --package lodash                # every advisory naming lodash
depgraph vulndb --package django --ecosystem PyPI
depgraph vulndb --search "deserialization" --limit 10

From Python:

from depgraph import VulnDB, lookup_cve, enrich_result, audit_text

VulnDB().count()                      # 262351
lookup_cve("CVE-2021-44228")          # -> [records...] (Log4Shell, real)
enrich_result(audit_text(open("requirements.txt").read(), "requirements.txt"))

Edge / air-gap refresh

The bundled DB is the offline baseline. To extend or freshen it on the edge, depgraph.datafeeds fetches a keyless intel catalog over HTTPS, caches it to disk, and can sneakernet a snapshot into a disconnected enclave:

depgraph feeds                                          # list the catalog (offline)
python -m depgraph.datafeeds update cisa-kev epss       # fetch + cache (online, opt-in)
python -m depgraph.datafeeds get osv --offline          # serve from cache, never network
python -m depgraph.datafeeds snapshot-export feeds.tar.gz   # for air-gap transfer
python -m depgraph.datafeeds snapshot-import feeds.tar.gz   # on the air-gapped side

Sources include CISA KEV, FIRST EPSS, OSV.dev, NIST NVD CVE 2.0, and GitHub GHSA for vulnerabilities, plus MITRE ATT&CK and NIST OSCAL 800-53 for control mapping. Online refresh is strictly opt-in; everything else is offline.

Output formats & CI gates

Flag Effect
--format table Human-readable graded table + findings detail (default).
--format json Machine-readable document (audit + optional osv_enrichment block).
--min-severity LOW|MEDIUM|HIGH|CRITICAL Non-zero exit only when a finding ≥ this severity exists.
--fail-grade A|B|C|D|F Non-zero exit when the project grade is at/below this letter.

Forward findings to STIX/MISP/Sigma/Splunk/Elastic/Slack via the optional depgraph-emit bridge (pip install ".[connect]"). See INTEGRATIONS.md.

Polyglot ports

The portable scoring core (pip parsing + typosquat + version-range matching, same JSON shape) is ported to JavaScript, Go, Rust, and POSIX Shell under ports/. Each has a smoke test and is built/tested on every push by the ports.yml workflow:

node ports/javascript/index.js requirements.txt
cd ports/go   && go run . ../../requirements.txt
cd ports/rust && cargo run -- ../../requirements.txt
sh ports/shell/depgraph.sh requirements.txt

Install — every way, every platform

pip install "git+https://github.com/cognis-digital/depgraph.git"     # pip
pipx install "git+https://github.com/cognis-digital/depgraph.git"    # isolated CLI
uv tool install "git+https://github.com/cognis-digital/depgraph.git" # uv
pip install cognis-depgraph                                          # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/depgraph:latest --help        # Docker
git clone https://github.com/cognis-digital/depgraph && cd depgraph && pip install -e .
Linux macOS Windows Docker Cloud
scripts/setup-linux.sh scripts/setup-macos.sh scripts/setup-windows.ps1 docker run ghcr.io/cognis-digital/depgraph DEPLOY.md

Runs on Linux / macOS / Windows, Python 3.10+, standard library only — no runtime dependencies.

Scope, authorization & safety

depgraph is a passive, offline, defensive tool. It reads dependency manifests and consults a bundled database — it does not execute dependency code, perform any active network scanning, or contact registries during an audit. Online feed refresh (datafeeds update) is the only network path and is strictly opt-in.

  • No fabricated CVEs or advisories — every record is real OSV data.
  • No exploit payloads, no remote probing, no telemetry.
  • Use it on code and projects you are authorized to assess.

Use it from any AI stack

  • MCP serverdepgraph mcp (Claude Desktop, Cursor, Cognis.Studio)
  • JSON — pipe depgraph audit . --format json into any agent or LLM
  • LangChain · CrewAI · AutoGen · LlamaIndex — wrap the CLI/JSON as a tool
  • CI / scripts — exit codes for non-AI pipelines

Related Cognis tools

Explore the suite → 🗂️ all tools · 🔗 cognis-sources · 🧠 engram

Interoperability

depgraph composes with the Cognis suite — JSON in/out and a shared OpenAI-compatible /v1 backbone. See INTEROP.md for the suite map and composition patterns.

Contributing

PRs, new rules, ports, and demo scenarios are welcome under the collaboration-pull model — see CONTRIBUTING.md and SECURITY.md.

⭐ If depgraph saved you time, star it — it genuinely helps others find it.

License

Source-available under the Cognis Open Collaboration License (COCL) v1.0 — free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license ([email protected]). See LICENSE.


Cognis Digital · part of the Cognis Neural Suite · Making Tomorrow Better Today

from github.com/cognis-digital/depgraph

Установка Depgraph

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/cognis-digital/depgraph

FAQ

Depgraph MCP бесплатный?

Да, Depgraph MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Depgraph?

Нет, Depgraph работает без API-ключей и переменных окружения.

Depgraph — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Depgraph в Claude Desktop, Claude Code или Cursor?

Открой Depgraph на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Depgraph with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development