SECOPS
Auto-suggest the security label and reviewer pool for an unlabeled MR
For merge requests that change sensitive code but carry no security label, an agent reads the diff, proposes the correct security:: label and reviewer pool, applies them…
How it runs
The automated pipeline, trigger to output.
- TriggerGitLab MR opened without a security labelGitLab
- ActionFetch MR diff and changed filesGitLab
- LogicAgent classifies security domain and poolOpenAI
- ActionApply label, assign pool, comment rationaleGitLab
- OutputFlag auto-classification to Slack triageSlack
What it does
Many risky changes never get a security label because authors forget or do not know the taxonomy. This agent reads the MR diff, classifies the security domain (authz, crypto, data-handling, dependencies, edge), applies the matching `security::*` label, and routes to the right pool — with a written rationale so nothing is opaque.
When to use it
Use it to catch the long tail of unlabeled-but-sensitive MRs without forcing every author to learn your label scheme. Pairs well with the routing and gating workflows downstream.
How it works
- 1A GitLab webhook fires when an MR opens with no `security::*` label present.
- 2An action fetches the full diff and changed-file list from GitLab.
- 3An agent reasoning step classifies the change against the security taxonomy and picks a label plus reviewer pool, or decides none applies.
- 4If a label is warranted, an action applies it, assigns the pool, and posts a comment explaining why.
- 5A Slack note flags the auto-classification to the triage channel for spot-checking.
Set it up
What you configure once, before turning it on.
- 1Connect GitLabRepos, MRs, pipelines, registry.
- 2Connect OpenAIModels, embeddings, files.
- 3Connect SlackChannels, DMs, threads, mentions.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More SecOps workflows
Post-Revocation Verification and Audit Logging
After a key is revoked, it confirms the old credential actually fails, verifies the replacement works.
Page on-call when a WAF rule mass-blocks legitimate traffic
On demand or every few minutes, it detects a single Cloudflare WAF rule suddenly blocking a broad spread of ASNs and paths (a likely false-positive storm).
PII Content Scan on New Dropbox External Share
When a file gets an external Dropbox link, it reads the file content, uses an AI classifier to detect PII or secrets.
Compile a weekly WAF tuning review with trends to Confluence
Every week an agent rolls up Cloudflare WAF block clusters by rule and ASN, compares them to prior weeks for trend direction.
Sensitive Dropbox Link Owner Remediation Loop
When a newly created Dropbox shared link points to a sensitive file, this workflow DMs the file owner, gives them a deadline to justify or revoke it.
GitLab Push Secret Detection to Block and History Purge
On a GitLab push that contains a detected secret, it revokes the exposed credential, opens a tracking issue with git-history purge instructions.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
