ENGINEERING

Score transitive CVE blast radius on dependency-bump PRs

When a dependency-bump PR opens, walks the resolved lockfile diff to find every transitive package the bump pulls in, cross-references known CVEs.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerDependency-bump PR opened or updatedGitHubGitHub
  • ActionResolve transitive packages from lockfile diffGitHubGitHub
  • ActionLook up CVEs and severity for affected packagesGitHubGitHub
  • LogicCompute blast-radius score and compare to threshold
  • OutputPost pass/block check run with score to PRGitHubGitHub

What it does

Gives every Dependabot or Renovate PR a deterministic risk score before a human looks at it. It expands the bump beyond the top-level package into the full transitive set it changes, weights each new or upgraded package by known CVE severity and reachability, and writes one consolidated verdict back to the PR.

When to use it

Use it when dependency PRs pile up and reviewers can't tell a trivial patch bump from one that quietly drags in a vulnerable transitive package. It replaces eyeballing the lockfile with a repeatable number.

How it works

  1. 1A GitHub pull_request event fires when a bump PR opens or updates.
  2. 2The flow fetches the lockfile diff and resolves the full transitive dependency set the bump introduces or changes.
  3. 3It queries a CVE/advisory source for each affected package and pulls severity plus affected version ranges.
  4. 4A scoring step combines CVE severity, count of newly exposed transitive packages, and direct-vs-indirect reach into one number.
  5. 5A logic branch compares the score to a threshold to choose pass or block.
  6. 6It writes a GitHub check run with the score, the offending packages, and the verdict.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitHubRepos, issues, pull requests, actions.
  2. 2
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  3. 3
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  4. 4
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.