Skip to main content
ShipSafe
67% of Cursor-built apps have critical vulnerabilities

Security Scanner forCursor Apps

We scanned 100 real Cursor-built apps. 67% had at least one critical vulnerability. IDOR, inverted auth, hardcoded secrets, and three CVEs published in 2025 alone.

Free scan2 minutesNo card needed

The short answer

The Short Answer: Cursor Is Safe, But Its Code Isn’t

Cursor the editor is SOC 2 Type II certified and offers Privacy Mode to keep your code off its servers. The security risk isn't the tool — it's the code the tool generates.

A Stanford University study (Perry et al., 2024) found that developers using AI code assistants produce significantly less secure code, with roughly 45% of AI-assisted code containing vulnerabilities. Our own research confirms this: scanning 100 real Cursor-built repositories, we found 67% had at least one critical vulnerability, with an average of 3.2 security issues per app.

On top of code-level risks, three CVEs were published against Cursor in 2025:

  • CVE-2025-54135 (CurXecute) — Malicious Slack messages processed by Cursor could rewrite MCP configs and execute arbitrary commands
  • CVE-2025-54136 (MCPoison) — Shared repository configs enabled persistent team-wide compromise
  • CVE-2025-59944 — Case-sensitivity bypass allowed attackers to modify protected configuration files

The bottom line: use Cursor for speed, but scan before you ship. Read our full analysis of 100 Cursor-built apps for the complete data.

Common vulnerabilities

Common Vulnerabilities in Cursor Projects

These are the security issues we find most frequently in codebases built with Cursor. For a full breakdown, see our vulnerabilities by platform reference.

  1. IDOR with Sequential IDs

    Critical

    Cursor frequently generates API routes using auto-incrementing IDs without ownership checks. An attacker changes /api/invoices/42 to /api/invoices/43 and accesses another user's data. Found in 43% of the 100 Cursor apps we scanned.

  2. Inverted Auth Conditions

    Critical

    A single misplaced negation operator flips your auth logic: authenticated users get blocked, anonymous requests get through. We found this in 31% of Cursor-built apps. It passes manual testing because you test while logged in.

  3. Frontend-Only Admin Checks

    High

    Cursor generates admin panels where role checks only happen in React components. The API endpoints behind them accept requests from anyone. Present in 28% of scanned apps.

  4. Hardcoded Secrets in Source

    High

    Cursor pulls API keys from your context window and embeds them directly in code. These get committed to Git history permanently. According to GitGuardian, 12.8 million secrets were exposed on GitHub in 2024 alone. Found in 22% of our scanned repos.

  5. MCP & Prompt Injection Risks

    Critical

    CVE-2025-54135 (CurXecute) showed that malicious content processed by Cursor can rewrite MCP configs and execute arbitrary commands. CVE-2025-54136 (MCPoison) enabled team-wide compromise through shared repository configs.

  6. Auto-Run Code Execution

    High

    Cursor ships with Workspace Trust disabled by default (CVE-2025-59944). A malicious .vscode/tasks.json in a cloned repo can execute code the moment you open the folder — no click required.

How ShipSafe Secures Your Cursor Project

1

Connect Your Repository

Link your GitHub repo or paste your code. ShipSafe supports any Cursor-generated project regardless of framework.

2

Automated Security Scan

Our scanner analyzes every file for the vulnerability patterns that Cursor's AI commonly introduces, including auth logic, data access, and secret management.

3

Get Fix Suggestions

Receive a prioritized report with severity ratings and concrete code fixes you can apply immediately, no security expertise needed.

Frequently Asked Questions

67% of Cursor Apps Have Critical Vulnerabilities. Is Yours One of Them?

Paste your GitHub URL. 2 minutes. Plain-English report — no security background needed. Find out if yours is cooked before your users do.

Scan My Cursor App Free

No credit card required. See all plans

auth.ts — Cursor
1
2
3
4

Cursor wrote this route in four seconds. It also forgot to check whether the caller is allowed to read userId. Any logged-in user can read every other user's data by changing one number in the URL.