{
  "schema_version": "1.6.0",
  "id": "CLR-2026-0849",
  "modified": "2026-07-02T13:47:00Z",
  "published": "2026-07-02T13:47:00Z",
  "summary": "Three live AI-provider keys shipped as an “inbuilt” free tier in LeetMentor",
  "details": "The Firefox extension LeetMentor bundled active Google Gemini, Groq and OpenRouter API keys in plain text inside config.js, described in its own comments as “inbuilt API keys … intended for casual users.” Because a published extension ships as readable code, anyone can extract and spend against these keys — a representative case of the AI-extension shared-key anti-pattern.",
  "affected": [
    {
      "package": {
        "ecosystem": "Firefox",
        "name": "LeetMentor"
      },
      "versions": [
        "1.1"
      ]
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://research.codelake.dev/advisories/clr-2026-0849"
    }
  ],
  "credits": [
    {
      "name": "Sascha Klein, codelake Research",
      "type": "FINDER",
      "contact": [
        "https://research.codelake.dev"
      ]
    }
  ],
  "database_specific": {
    "caseId": "CLR-2026-0849",
    "kind": "disclosure",
    "severity": "High",
    "status": "Disclosed",
    "iocs": {
      "ips": [],
      "hashes": [
        "sha256:11e957d138cd53872d621fc46ba4aea689badb672e7407aca246cf12760cc841"
      ],
      "indicators": [
        "AIzaSy•••••••••••••••••••••••••••••••• (Google Gemini — active, config.js:6)",
        "gsk_•••••••••••••••••••••••••••••••••••• (Groq — active, config.js:7)",
        "sk-or-v1-•••••••••••••••••••••••••••••••• (OpenRouter — active, config.js:8)",
        "LeetMentor@1.1 (Firefox / AMO) · leetmentor-1.1.xpi",
        "11e957d138cd53872d621fc46ba4aea689badb672e7407aca246cf12760cc841"
      ]
    }
  }
}