Vulnerable dependencies, fixed before they're due.

Mendr puts the vulnerable dependencies from every GitHub repo you connect in one ranked queue, with due dates from your SLA policy. Press Fix, and Mendr changes the code where the upgrade needs it and opens a tested pull request. Your CI decides. You merge.

On GitHub Marketplace250+ Mendr PRs mergedThe first scan only reads your code

mendr.sh/queue

Queue

Ready to fix17

  • ejs3.1.5 → 3.1.109.8 · 32.8% EPSS · mendr-sh/acme-apiDue in 7 days
  • proxy-addr2.0.6 → 2.0.89 · mendr-sh/acme-apiDue in 7 days
  • node-fetch2.6.1 → 2.6.78.8 · 1.7% EPSS · mendr-sh/acme-apiDue in 30 days
  • body-parser1.19.0 → 1.20.68.7 · mendr-sh/acme-apiDue in 30 days
  • minimatch3.0.4 → 3.1.48.7 · 1.8% EPSS · mendr-sh/acme-apiDue in 30 days
  • jsonwebtoken8.5.1 → 9.0.08.1 · mendr-sh/acme-apiDue in 30 days
  • brace-expansion1.1.11 → 1.1.217.7 · mendr-sh/acme-apiDue in 30 days
  • svgo1.3.2 → 2.8.47.5 · mendr-sh/acme-webDue in 30 days
  • path-to-regexp0.1.7 → 0.1.137.7 · mendr-sh/acme-apiDue in 30 days
  • jws3.2.2 → 3.2.37.5 · mendr-sh/acme-apiDue in 30 days

Fixes › svgo

svgo1.3.2 → 2.8.4

mendr-sh/acme-web · 3 advisories: 2 high, 1 moderate

Bump svgo to 2.8.4 #4CI runningDraft · into mainView pull request ›

The mendr-sh queue: every repository in one ranked list. Each due date comes from the SLA policy.

Recorded fix run adf2b909 on mendr-sh/acme-web, Sep 28. 12m 03s, played 25× faster. The pull request view shows what new workspaces get today: the current description layout, and Mendr marks the pull request ready when the checks pass.

Dependabot can bump the version. It can't rewrite your code.

A version bump that breaks the build waits in review, and the deadline passes. svgo 2.8.4 fixes 3 advisories in acme-web, and it removed the API that src/icons.js uses. Same repository, same commit, two results.

Version bump onlyBuild fails

$ npm install -D svgo@2.8.4
$ npm run build

src/icons.js:6
const svgo = new SVGO({
             ^
TypeError: SVGO is not a constructor

Real output · acme-web at 6833c3d, Node 20

Mendr's pull request #4CI passed

33const SVGO = require("svgo");
33const { optimize } = require("svgo");
1111 const result = await svgo.optimize(svg);
2121 const result = optimize(svg, config);
  • npm run buildOptimized 3 icons
  • npm test9 of 9 tests passed
  • npm audit --json0 findings

Read mendr-sh/acme-web#4 on GitHub

The security news, next to your code.

Mendr reads every incident on pwn.watch and checks it against your latest scans. When a story touches your code, Mendr names the repository, the file and the version. Press Fix, and the pull request follows.

  1. 1The news breaks

    pwn.watch· Started Oct 21

    Critical· Node.js

    Node2Shell / HTTP2Shell: Brotli RCE in Node.js, Python, Envoy and Istio + Node.js October releases

    An out-of-bounds write in the Node.js Brotli decoder can let an attacker run code on the server.

    CVE-2026-111497 · 9 more

  2. 2Mendr finds it in your code

    Incidents· Checked against 2 repositories

    Affects 1 repository· Critical

    Node2Shell / HTTP2Shell: Brotli RCE in Node.js, Python, Envoy and Istio + Node.js October releases

    mendr-sh/acme-web

    Open findingnode 22.23.3 in .nvmrc

    acme-api is on 22.23.4 already, so it is not listed.

  3. 3You merge the fix

    GitHub· mendr-sh/acme-webCI passed

    Bump node to 22.23.4 #6

    Fixes 7 advisories: 3 high, 3 moderate and 1 low.

    .nvmrc

    1122.23.3
    1122.23.4
    • BuildNode.js 22.23.4
    • Tests9 of 9 on Node.js 22.23.4
    • Independent AI reviewAccepted

    Read mendr-sh/acme-web#6 on GitHub

The pwn.watch story started Oct 21. mendr-sh/acme-web#6 is real, opened Oct 31. Mendr checks the news against your latest scans and says when a repository needs a new scan first.

Eight alerts. One finding. One fix.

brace-expansion 1.1.11 is 8 of the 43 alerts in acme-api and acme-web, one for each advisory. Mendr shows each package once, due when its most severe advisory is due, with one fix for all of its advisories.

mendr-sh · acme-api and acme-webOne finding per package, ranked by severity, CISA KEV and EPSS

  • 2proxy-addr2.0.6· acme-api1 advisoryDue in 7 days
  • 7brace-expansion1.1.11· acme-api8 advisoriesDue in 30 days
  • 8svgo1.3.2· acme-web3 advisoriesDue in 30 days
  • 12qs6.7.0· acme-api4 advisoriesDue in 30 days
  • 4body-parser1.19.0· acme-api2 advisoriesDue in 30 days
  • 11lodash4.17.20· acme-api5 advisoriesDue in 30 days
  • 9path-to-regexp0.1.7· acme-api3 advisoriesDue in 30 days
  • 5minimatch3.0.4· acme-api4 advisoriesDue in 30 days
  • 10jws3.2.2· acme-api1 advisoryDue in 30 days
  • 16cookie0.4.0· acme-api1 advisoryDue in 180 days
  • 14express4.17.1· acme-api2 advisoriesDue in 90 days
  • 15send0.17.1· acme-api1 advisoryDue in 180 days
  • 17serve-static1.14.1· acme-api1 advisoryDue in 180 days
  • 1ejs3.1.5· acme-api2 advisoriesDue in 7 days
  • 13semver5.7.1· acme-api1 advisoryDue in 30 days
  • 6jsonwebtoken8.5.1· acme-api3 advisoriesDue in 30 days
  • 3node-fetch2.6.1· acme-api1 advisoryDue in 30 days
  • One due date per finding, from its most severe advisory
  • One fix for all of a package's advisories
  • OSV and Dependabot copies count once

Alerts: OSV Scanner on mendr-sh/acme-api (Oct 15) and on acme-web before pull request #4, one row per advisory, newest first. Findings: the same 43 advisories in Mendr's queue.

Know what's due, who owns it, and what waits.

Mendr keeps one queue for every repository you connect, with due dates, owners, reminders and written-down decisions.

SLA policy

Days a finding may stay open before it breaches SLA.

Critical7days

High30days

Medium90days

Low180days

ejs3.1.5 → 3.1.10

Critical 9.8 · mendr-sh/acme-api

DetectedOct 117 daysDueOct 18

Critical findings are due in 7 days, high in 30, medium in 90 and low in 180. Free uses these defaults. On Pro and Max, an admin sets your own.

Findings with no severity score get no due date.

Data from the mendr-sh demo workspace. The owners, the Jira ticket and the decisions are examples.

The answers people ask you for.

Open the impact report to see if the backlog is getting smaller, what to fix next, and the list of confirmed fixes to send.

Are we keeping up?

Advisories cleared · last 90 days

30by 4 fixes

Jul 13Oct 11

Within SLA 4 of 4 · median time to fix 2h

What should we fix next?

Needs attention

16 findings have a fix version but no fix yet

Mendr has not tried them. 2 are critical and 10 are high severity. Most are in acme-api.

Start fixes
  • ejs · acme-apiDue in 7 days
  • proxy-addr · acme-apiDue in 7 days
  • node-fetch · acme-apiDue in 30 days

Can you send me the list?

Export

mendr-confirmed-fixes-90d-2026-10-11.csvConfirmed fixes · 4 rows

Package,Fixed version,Repository,Severity,…
minimist,1.2.6,mendr-sh/acme-web,critical,…
axios,0.33.0,mendr-sh/acme-web,high,…
svgo,2.8.4,mendr-sh/acme-web,high,…

Admins can also export the audit log as NDJSON.

The mendr-sh demo workspace on Oct 11, and its impact report for the 90 days before.

Before you give Mendr write access

Read the security review
First scan
Read only

The scan reads your repository. Mendr writes nothing to it until someone presses Fix.

Sandbox
Single-use VM per fix

Each fix runs in its own virtual machine. Mendr destroys it after the run.

GitHub access
No token for the agent

The AI agent cannot push or open a pull request. Mendr publishes it after the separate review.

Handoff
Mendr never merges

Mendr has no code that merges a pull request. By default, it marks the pull request ready when your checks pass. Your team merges it.

Start free. Every plan includes AI fixes.

Pro and Max have the same features. Max has 10 times the AI usage. On either plan, you can also use your own supported provider keys.

2 months free

Free

$0

No card needed

See your backlog and try fixes on any model.

5 free fixes on any modelThen a small monthly AI budget for fast models.

Includes

  • 5 repositories
  • Weekly scans
  • Mendr's default deadlines
  • Impact report and exports
  • Unlimited users

Most teams start here

ProBeta

$20/ mo

Billed monthly

For teams that fix a few advisories a month.

A monthly AI budget for any modelMendr pays for the AI. Fast models go further than the most capable ones.

Everything in Free, plus

  • 50 repositories
  • Daily scans
  • Your own SLA policy
  • Slack and Jira
  • Your own provider keys, with no Mendr limit

MaxBeta

$200/ mo

Billed monthly

For teams that clear a backlog.

A monthly AI budget for any modelMendr pays for the AI. Fast models go further than the most capable ones.

Everything in Pro, plus

  • 10 times the AI usage of Pro

Every plan starts with a free, read-only scan. Estimates use the average cost of recent fixes on each model. Choose Pro or Max in Settings when you are ready.

Questions

Does Mendr fix findings on its own?

No. A person chooses what to fix: press Fix on one finding, or select several and start them together. Mendr opens the pull requests, and your team merges them.

Does Mendr merge code on its own?

No. Mendr opens a draft pull request with what changed, what ran and the reviewer's summary. Your CI runs on it. By default, Mendr marks it ready for review when the checks pass, and your team decides when to merge. A setting can open pull requests ready at once, or leave them as drafts for your team to mark ready.

What about findings we decide not to fix?

Choose Not fixing this now. A deferral moves the finding to On hold until the review date that you pick. Its SLA clock keeps running, and the finding returns to your queue on that date. A suppression records a claim (accepted risk, false positive or not exploitable) and a reason, and takes the finding out of SLA tracking. It can expire on a date that you pick.

Does Mendr make us SOC 2 compliant?

No. Your compliance program is yours. Mendr helps with one part of it: it finds vulnerable dependencies in your GitHub repositories, tracks them against your fix deadlines, and opens tested fixes. The impact report and its exports show what was fixed and when.

Which languages does Mendr support?

Scanning covers every ecosystem OSV Scanner reads, and Mendr imports your Dependabot alerts. Mendr also checks the Node.js and Go versions that your repositories declare. The fix sandbox has toolchains for Node.js, Python, Go, Rust, Ruby, Java, Kotlin and PHP. JavaScript projects (npm, pnpm, Yarn) also get code-reference signals. A push to the default branch that changes JavaScript or Python dependency files, Go modules, Dockerfiles, runtime version files or setup workflows starts a rescan. Merging a Mendr pull request also starts one.

Do I need an AI provider key?

No. Every plan includes AI fixes that Mendr pays for. A workspace's first 5 fixes are free on any model. A free fix counts when it starts, even if it does not open a pull request. After that, each plan has a monthly AI budget: on Free it pays for fast models, and on Pro and Max for any model. On Pro and Max, you can also add keys for OpenAI, Anthropic, xAI, or Moonshot AI's international platform. An enabled key pays for its provider's models after free fixes, with no Mendr limit. Provider charges and limits still apply.

What if Mendr can't fix something?

It marks that advisory unresolved and says why. Failed attempts still use model budget. Review the evidence before retrying.

What can the GitHub App write?

The app has write access to contents and pull requests. Mendr uses it to push the branches that it creates, to open and update its own pull requests, and to request a review on your first fix.

See it on your own repos.

Connect GitHub and run the first scan on up to 5 repositories. It only reads your code. Your first 5 fixes are free.