SECOPS

Nightly audit of license drift across all repositories

On a nightly schedule, scans every tracked repository's dependency tree for newly appeared copyleft licenses since the last run and posts a consolidated drift report to a SecOps…

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps4
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule fires
  • ActionResolve license trees across all reposGitHubGitHub
  • LogicDiff against prior snapshot for new copyleft
  • OutputPost consolidated drift report to SecOpsSlack

What it does

PR-time gates only catch changes going forward, and only on repos that have the check wired up. This workflow sweeps your whole fleet on a schedule. Every night it walks each configured GitHub repository's default branch, resolves the full dependency tree's licenses, and compares the result against the previous night's snapshot. Any package that newly carries a copyleft license — whether freshly added, version-bumped into a relicensed release, or surfaced by a transitive change — shows up as drift. It then assembles one digest: repository, package, old vs. new license, and a link to the dependency manifest.

When to use it

Use it as the backstop for organizations with many repositories where you cannot assume every project enforces a PR-time license check. It catches relicensing events (a dependency that was MIT last quarter and is GPL today) and drift in repos that predate your gating policy.

How it works

  1. 1A scheduled trigger runs nightly.
  2. 2The workflow iterates the configured repositories, resolving each dependency tree's licenses from GitHub.
  3. 3A logic step diffs current licenses against the stored prior snapshot to isolate newly copyleft packages and persists the new snapshot.
  4. 4If any drift is found, it posts a consolidated report to the SecOps Slack channel; a clean night posts nothing.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitHubRepos, issues, pull requests, actions.
  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.