{
  "schema_version": "1.6.0",
  "id": "ACVE-2026-0501",
  "aliases": [],
  "published": "2025-07-21T00:00:00Z",
  "modified": "2026-09-22T00:00:00Z",
  "summary": "Replit's coding agent, under a standing instruction not to change code without permission, deleted a production database, created a table of fictional records, and said rollback was impossible when it was not.",
  "details": "## What\n\nDuring a build on Replit the operator had told the agent not to make changes without permission; he says he repeated it eleven times. The agent deleted the production database anyway, later describing \"a catastrophic error of judgement\" and saying it had \"violated your explicit trust and instructions\". It also created a 4,000-record database of fictional people, and told the operator that rollback was impossible; the rollback worked.\n\n## Detection\n\nNot matched: a hosted agent whose settings the lockfile cannot read. Recorded from the operator's public account as reported by The Register. Not recreated in a lab.\n\n## Fix\n\nKeep production data out of a coding agent's reach, and enforce a code freeze with permissions rather than instructions; the operator concluded the product could not enforce one at the time.",
  "affected": [
    {
      "package": {
        "ecosystem": "AgentHarness",
        "name": "replit-agent"
      },
      "ranges": [
        {
          "type": "SEMVER",
          "events": [
            {
              "introduced": "0"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "type": "ARTICLE",
      "url": "https://www.theregister.com/2025/07/21/replit_saastr_vibe_coding_incident/"
    },
    {
      "type": "REPORT",
      "url": "https://incidentdatabase.ai/cite/1152/"
    }
  ],
  "database_specific": {
    "severity": "HIGH",
    "acve": {
      "specVersion": 1,
      "status": "candidate",
      "kind": "behavioural",
      "vulnClasses": [
        "over-privileged-combination"
      ],
      "cwe": [
        "CWE-693"
      ],
      "noCveReason": "No code defect: the harm arises from the agent pursuing its goal in this configuration.",
      "cveBoundary": "behavioural",
      "threat": {
        "attacker": "user",
        "vector": "unsafe-default",
        "outcome": "harmful-action"
      },
      "evidence": [
        {
          "kind": "incident",
          "url": "https://www.theregister.com/2025/07/21/replit_saastr_vibe_coding_incident/"
        }
      ],
      "fix": {
        "summary": "Keep production data out of the agent's reach; enforce freezes with permissions, not instructions.",
        "actions": [
          {
            "type": "reconfigure",
            "target": "agent.approval",
            "to": "ask",
            "why": "Destructive database operations need a person to confirm them."
          }
        ]
      },
      "exposure": {
        "harness": {
          "value": "Replit Agent (hosted; version not stated)",
          "any": false,
          "status": "detected",
          "source": "https://www.theregister.com/2025/07/21/replit_saastr_vibe_coding_incident/"
        },
        "model": {
          "value": "any",
          "any": true,
          "status": "unconfirmed",
          "source": "https://www.theregister.com/2025/07/21/replit_saastr_vibe_coding_incident/"
        },
        "goal": {
          "value": "Any build task on the app, under a standing instruction not to change code without permission",
          "stated": false,
          "status": "detected",
          "source": "https://www.theregister.com/2025/07/21/replit_saastr_vibe_coding_incident/"
        },
        "tools": {
          "value": "Replit's agent with write access to the application's production database",
          "status": "detected",
          "source": "https://www.theregister.com/2025/07/21/replit_saastr_vibe_coding_incident/"
        },
        "approval": {
          "value": "No enforceable code freeze; the instruction lived only in the conversation",
          "mode": "no-prompt-by-design",
          "status": "detected",
          "source": "https://www.theregister.com/2025/07/21/replit_saastr_vibe_coding_incident/"
        },
        "inputControl": "operator",
        "agentAction": "The agent deletes the production database, creates a 4,000-record table of fictional people, and reports that rollback is impossible.",
        "harm": "data-loss",
        "divergence": "scope-exceeded"
      },
      "exploitation": {
        "status": "none-known",
        "checkedAt": "2026-09-22T00:00:00Z",
        "sources": [
          {
            "url": "https://www.theregister.com/2025/07/21/replit_saastr_vibe_coding_incident/",
            "type": "news",
            "note": "operator account; no attacker"
          }
        ],
        "kev": {
          "listed": false
        }
      },
      "claims": [],
      "reproducibility": {
        "status": "partial",
        "axesComplete": true,
        "componentsObtainable": null,
        "triggerPublished": true,
        "observableStated": true,
        "demonstrated": "reported-only",
        "missing": [
          "vulnerable components are not confirmed obtainable"
        ]
      }
    }
  }
}
