SECOPS

Agentic security triage for labeled GitLab MRs with Linear follow-ups

An agent reads each security-labeled GitLab MR, judges its risk and which security domain owns it, assigns the right reviewer.

CategorySecOps
Enginepaperclip
Difficultyadvanced
Triggerevent
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab MR receives security labelGitLabGitLab
  • ActionAgent reads MR diff and descriptionOpenAI
  • LogicClassify risk and owning domain
  • ActionAssign reviewer and comment reasoning on MRGitLabGitLab
  • OutputOpen Linear follow-up issue with rationaleLinearLinear

What it does

For merge requests tagged with a security label, an agent reviews the diff and description, classifies the risk and the owning domain (appsec, infra, data, crypto), and assigns the appropriate reviewer. When the change needs work beyond the MR itself, it opens a Linear issue capturing the risk rationale and links it back to the MR.

When to use it

Use it when a flat label-to-reviewer mapping isn't enough and you want judgment on ambiguous changes plus durable follow-up tracking, without a human triaging every MR.

How it works

  1. 1A GitLab webhook fires when an MR receives a security label.
  2. 2The agent pulls the MR diff, title, and description as context.
  3. 3It reasons about risk level and which security domain should own the review.
  4. 4It assigns the chosen reviewer on the MR and posts its reasoning as a comment.
  5. 5When follow-up is needed, it creates a Linear issue with the risk summary and a link to the MR for tracking to closure.

Set it up

What you configure once, before turning it on.

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