PR opened
Someone opens or updates a pull request. Your normal review flow stays the same.
Auth bypass, missing admin gates, IDOR, environment-variable exposure, hardcoded secrets, unverified webhooks.
Read the code on GitHubOpen source (MIT). The GitHub App is private and not open for installation, and the hosted dashboard is offline.
Fixor runs on Node/TypeScript. Four of the six detectors send every candidate to Claude; the admin-check detector does the same except for three literal patterns; the secrets check matches sixteen fixed credential shapes and never calls a model. The numbers below are the secrets check's: counts with their denominators, no rate.
| Corpus | Files scanned | Flags raised | False alarms | Real credentials |
|---|---|---|---|---|
| Customer-shaped · 43 repos | 4,772 | 5 | 2 | 3 |
| Mature open source · 13 repos | 65,566 | 15 | 15 | 0 |
Customer-shaped means public TypeScript and JavaScript repositories of the size and age of a typical customer, a sample and not a census; mature open source means 13 established projects that do not commit real secrets. Every flag was read blind by three readers, and the three real keys sat in one repository. Measured 2026-09-12 on the version that ships.
The other five detectors. Each passes its authored fixtures. On real code, the three access-control detectors (auth bypass, missing admin gates, IDOR) were tested once: on 12 published access-control vulnerabilities in real open-source projects, the shipped pipeline flagged none (field trial, 2026-09-19). Environment-variable exposure and unverified webhooks have no real-code result. Detection development stopped on 2026-10-04; these detectors ship as they are, and no detection claim is made for them here.
Three steps from push to a security report—right in the thread your team already uses.
Someone opens or updates a pull request. Your normal review flow stays the same.
Checks every pull request for six vulnerability classes in Node/TypeScript: auth bypass, missing admin gates, IDOR, environment-variable exposure, hardcoded secrets, and unverified webhooks.
A report lands on the PR — findings, remediation steps, a risk summary, and a downloadable PDF.
A clean, structured security report — right where your team already reviews code. Every finding comes with an explanation and remediation steps. Not a replacement for human review.
## 🛡️ Fixor Security Report **Repository:** `acme/payments-api` · **PR:** #42 **Commit:** `a1b2c3d4e5f6...` ### Summary | | | |-|-| | **Workflow status** | ✅ `success` | | **Findings** | 5 | | **Detection confidence** | high: 4 · pattern match: 1 | ### Findings ▸ 1. `src/routes/admin.ts:25` · `AUTH_BYPASS` · **high** ▸ 2. `src/routes/orders.ts:9` · `IDOR` · **high** ▸ 3. `src/routes/users.ts:12` · `ADMIN_CHECK` · **high** ▸ 4. `src/routes/debug.ts:7` · `ENV_EXPOSURE` · **high** ▸ 5. `src/config/payments.ts:4` · `SECRETS_EXPOSURE` · **pattern match** --- ### 📄 Download full report **Download PDF Report →** _Report suitable for sharing with your team._ 🔒 Analyzed by Fixor · 2026-04-19T00:03:31Z
A report on the PR, a PDF of it, and a GitHub App to install it.
Backed by Claude. Which detectors reach the model, and which never do, is stated once, beside the measured numbers above.
Every PR ships with a branded PDF summarizing findings and remediation steps — handy for stakeholder reviews or attaching to tickets.
Install once per org. No tokens to rotate, no webhooks to configure.
Not on offer while the GitHub App is private; the plans below are what the billing code implements. The cap is the only limit: Fixor does not count scans or restrict repositories, and a cap of $0 pauses scanning. Prices and caps are current values and may change. Paddle is our merchant of record — they handle VAT and the cancel / update-payment portal.