Get early access

CVE monitoring and SBOM managementKnow which CVEs are live in production. Fix those first.

MopokeHQ watches every SBOM your pipelines upload, matches new advisories the moment they land, and turns hundreds of findings into a short list of upgrades. Deep GitLab integration today, with GitHub, Gitea, Forgejo and Bitbucket next.

Early access. Works behind a firewall, because nothing connects in.

Example data. The Now screen groups every finding into the fix that closes it.

From advisory to evidence, in one loop

Finding CVEs is the easy part. MopokeHQ runs the whole response, then keeps the proof your auditor and your clients ask for.

  1. 01

    Signal

    OSV, php.net, CISA KEV and EPSS feeds, pulled continuously.

  2. 02

    Match

    Every stored SBOM is re-checked when an advisory lands.

  3. 03

    Triage

    Priority from severity, exploitation, and where it runs.

  4. 04

    Fix

    One action per upgrade, grouped across projects.

  5. 05

    Verify

    Closed only when the fixed version is seen deployed.

  6. 06

    Tell

    Client notices drafted for you, sent by a person.

  7. 07

    Prove

    A hash-chained log and one-click evidence packs.

Last month's build, today's CVE

Most scanners only look when a pipeline runs. MopokeHQ keeps every SBOM and re-matches all of them whenever a new advisory is published, so a CVE disclosed tonight is matched against the release you shipped three weeks ago. No rescan, no new pipeline.

How matching works
  1. Advisory published for guzzlehttp/guzzleOSV, 01:58
  2. Matched 3 stored SBOMs, oldest uploaded 23 days ago01:59
  3. Confirmed live in production for booking-apifrom the last deploy report
  4. P1 email to the project owners, one message for the fix02:00

Live, likely or possible. Never a guess dressed as a fact.

Every exposure carries its confidence. Deploy events from GitLab, a mopoke deploy step in any CI or a runtime check-in tell MopokeHQ what is actually running. Uncertain states are set in italics, the same way they are in the app.

MopokeHQ closes an exposure on its own only when the fixed version is seen deployed. A fix that exists only on a branch waits for one logged click from a person.

DeploymentVersionConfidence
booking-api, production7.8.1Confirmed live
booking-api, main7.8.1Likely live
client-portal, feature/pay7.9.0Possible
client-portal, production7.9.2Fixed, closed automatically

Twelve CVEs, one upgrade, one line

The Now screen lists actions, not advisories. Findings are grouped by the upgrade that closes them, across every project, so one PHP release that fixes twelve CVEs in seven projects is a single line with a single deadline.

Ordering is deterministic: priority first, then SLA, then confidence. You can always see why something sits where it does.

Example: findings on PHP 8.3.x

  • Heap buffer overflow in an extension
  • Use after free in a parser
  • Path traversal in an archive handler
  • Integer overflow in image handling
  • 8 more advisories
Upgrade PHP to 8.3.1412 advisories, 7 projects, due in 31 hours
Meet Lilly

An AI with a face, a label and limits

Lilly reads each matched advisory and writes a plain note on what it means for your package and version. It never sees your source code for triage, and it never decides on its own.

Can
Explain an advisory in two sentences
Can
Suggest "not affected" on P2 and P3, for you to confirm as VEX
Never
Silences a P1
Never
Closes an exposure
Never
Sends anything to a client
If it fails
The alert sends anyway, without the note
LillyAI02:16

This advisory affects the multipart parser. client-portal never accepts uploads, and its routes do not use the parser, so this looks unlikely to apply there.

Applies: unlikely (0.12)

Confirm not affectedKeep it open

For agencies: tell clients what you fixed

Group projects by client. When a fix is confirmed live, MopokeHQ drafts the notice in plain English. A person approves it, it sends from your own domain, and it is kept as evidence.

To Jo at Harbour Dental from [email protected]

Security update for your booking site

A security fix for a component used by your booking site was published on Tuesday. We upgraded it the same day and confirmed the fixed version was live in production on Wednesday at 9:40am. There is no sign it was exploited, and there is nothing you need to do.

Approve and sendEdit draft

Evidence that is already written down

Every match, acknowledgement, fix and client message lands in an append-only, hash-chained log. Pick a framework and a period, and MopokeHQ produces the evidence pack: a PDF for people and JSON with the chain hashes for anyone who wants to check it.

  1. 09:41:07exposure.resolvedc41f…9e02
  2. 09:40:52deployment.reported8a3d…17bc
  3. 08:12:30response.acknowledgedf0e9…44a1
  4. 02:00:14notification.sent2b77…c3d8
  5. 01:59:41exposure.matched91ce…0a5f

One job in your CI. No inbound access.

On GitLab, add the include and set one masked token on the group, and every project in it starts reporting. Anywhere else, the same CLI runs as a job in your pipeline. The scan runs on your runners and pushes out, so a server behind a firewall needs no changes.

Runs on
Your own runners, in any CI that can run a container
Pipelines
Default branch, tags and merge requests
If we are down
The job warns and your pipeline carries on
Platforms
GitLab now. GitHub, Gitea, Forgejo and Bitbucket coming
All platforms
.gitlab-ci.yml
include:  - remote: https://app.mopokehq.com/ci/scan.ymlstages:  - test  - deploy

On GitLab, then add MOPOKE_TOKEN as a masked CI/CD variable on the group.

You know where your data lives. SBOMs, scan results and evidence are stored in one region and encrypted per organisation. Sydney today, more regions coming. Lilly, the AI, sees minimal facts only, and one switch turns it off. Security and data

Questions

What is SBOM management?

An SBOM (software bill of materials) lists every component in a build. SBOM management means keeping those lists for every build and acting on them over time. MopokeHQ stores the SBOM from each upload and re-checks it whenever a new advisory lands, so an old build still gets matched against a new CVE.

What does MopokeHQ do?

It takes the SBOMs and scan results your CI pipelines produce, matches them against vulnerability advisories as they are published, works out which findings are running in production, and turns them into a short list of upgrades with deadlines. Every step is logged as compliance evidence.

Do I need GitLab Ultimate?

No. MopokeHQ is built for teams on GitLab Free and Premium, on gitlab.com or self-managed. The scan runs as a job in your own pipeline from one include line.

Does MopokeHQ need access to my network or my Git server?

No. The mopoke CLI runs on your own runners and pushes results out. MopokeHQ never connects in, so a self-managed GitLab, Gitea or Forgejo behind a firewall works without any changes.

Where is my data stored?

All stored data, including SBOMs, scan results and evidence, lives in one region: Sydney, Australia, with more regions coming. AI features send minimal facts to an AI provider outside that region, and one switch per organisation turns them off.

Which ecosystems are covered?

npm and Composer packages through OSV advisories, PHP runtime releases from php.net, and container images through image SBOMs. Exploitation signals come from the CISA Known Exploited Vulnerabilities catalogue and FIRST EPSS.

Is MopokeHQ SOC 2 or ISO 27001 certified?

No. MopokeHQ produces evidence for your own ISO/IEC 27001:2022 Annex A 8.8, SOC 2 CC7.1 and Essential Eight controls. MopokeHQ itself does not hold SOC 2 or ISO 27001 certification.

Does it work with GitHub, Gitea, Forgejo or Bitbucket?

Yes. Any CI that can run a container can call the mopoke CLI to upload an SBOM, so matching, priorities, alerts and evidence work today. GitLab has the deepest integration so far: merge request comments, fix merge requests and deployment events. Native GitHub, Gitea, Forgejo and Bitbucket integrations are coming.

Put a mopoke on night watch

One job in your CI pipeline. Your first SBOM is matched against every advisory we hold within minutes.