SECOPS

Route Risky GitLab MRs to the Right Security Reviewer Queue

When a GitLab merge request is opened or updated, scans the diff for security-sensitive paths and assigns a risk label.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab MR opened or updatedGitLabGitLab
  • ActionFetch MR changed-file listGitLabGitLab
  • LogicMatch paths to risk ruleset, pick severity label
  • ActionApply label + assign reviewer groupGitLabGitLab
  • OutputPost routed MR card to reviewer Slack channelSlack

What it does

Classifies every incoming merge request by the security risk of its changed files and hands it to the reviewer queue that owns that risk class, so auth, crypto, and infra changes never sit in a generic backlog.

When to use it

Run this when your security review is a bottleneck and MRs touching sensitive code (auth middleware, IAM policy, dependency manifests) need a specialist rather than whoever grabs the queue first.

How it works

  1. 1A GitLab webhook fires on merge request `open` and `update` events.
  2. 2The flow pulls the MR's changed-file list and matches paths against a risk ruleset (e.g. `**/auth/**`, `*.tf`, `package*.json`).
  3. 3A branch picks the highest-severity match and selects a label: `sec/critical`, `sec/high`, or `sec/standard`.
  4. 4It applies the label and assigns the corresponding reviewer group to the MR via the GitLab API.
  5. 5It posts a summary card to that group's Slack channel with the MR link, matched paths, and assigned reviewer.

Set it up

What you configure once, before turning it on.

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