SECOPS

Escalate security-driven dependency bumps by exploitability and reach

When a GitLab dependency MR closes a known vulnerability, this checks the advisory severity, measures how deep the package reaches into production code.

CategorySecOps
Enginesim
Difficultyadvanced
Triggerwebhook
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab MR opened with security-advisory labelGitLabGitLab
  • ActionRead advisory severity, CVSS, and affected packageGitLabGitLab
  • ActionMeasure production reachability from dependency graphPostgreSQLPostgres
  • LogicCombine severity and reach into escalation tier
  • ActionPage on-call for critical reachable bumpsPagerDutyPagerDuty
  • OutputPost lower-tier bumps to security Slack channelSlack

What it does

Not every CVE is an emergency. This workflow detects security-flagged dependency MRs, pulls the advisory severity and exploitability, measures whether the vulnerable package sits on a production code path, and escalates only the bumps that are both severe and reachable, routing the rest to a normal review queue.

When to use it

Use it when security bots open a steady stream of dependency MRs and your team can't tell which ones warrant dropping everything. It separates "critical CVE in a runtime auth library" from "moderate advisory in a dev-only build tool."

How it works

  1. 1A GitLab MR webhook fires when an MR carries a security-advisory label.
  2. 2The workflow reads the linked advisory to extract severity, CVSS, and the affected package.
  3. 3It queries the Postgres dependency graph to determine whether the package reaches any production entrypoint and how many modules depend on it.
  4. 4A logic step combines severity with production reachability to set an escalation tier.
  5. 5Critical-and-reachable bumps page on-call via PagerDuty with the MR and advisory; lower tiers post a Slack note to the security review channel.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect PagerDutyIncidents, on-call, escalations.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.