SECOPS

Production Script-Tag Drift Monitor

On a schedule, renders your production pages in a real browser, fingerprints every external <script> src and SRI hash.

CategorySecOps
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule: every 15 minutes
  • ActionRender pages and scrape script srcs + SRI hashesBrowserbase
  • ActionFetch approved baseline from Cloudflare KVCloudflareCloudflare
  • LogicDiff current fingerprint vs baseline
  • OutputPost script-drift diff to Slack security channelSlack

What it does

Every run, this workflow loads a list of your production URLs in a headless browser, extracts the full set of third-party `<script src=...>` tags plus their `integrity` (SRI) hashes, and compares that fingerprint against the last approved baseline stored in Cloudflare KV. Any added domain, changed src, or mutated SRI hash is flagged as drift and pushed to your security channel before it can ship a compromised payload to users.

When to use it

Run it when you depend on third-party tags (analytics, tag managers, A/B tools, payment widgets) and want early warning of a Magecart-style injection or a silently updated vendor bundle. Ideal for teams without a full CSP rollout who still need supply-chain visibility.

How it works

  1. 1A schedule fires (e.g. every 15 minutes).
  2. 2Browserbase renders each monitored URL and scrapes all external script srcs and SRI attributes.
  3. 3The current fingerprint is compared against the baseline held in Cloudflare KV.
  4. 4A logic step decides: identical means no-op; any new, removed, or altered entry means drift.
  5. 5On drift, Slack receives a diff message listing exactly which scripts changed.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BrowserbaseHeadless browsers, sessions, replays.
  2. 2
    Connect CloudflareWorkers, Pages, R2, KV — the edge stack.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  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.