Code analysis
static source read inferred
Static code-analysis findings — hidden prompt content in shipped skill files, committed secrets, dynamic-exec sinks, and suspicious call-home endpoints — across the analyzed catalogue. Heuristic, pure, no code executed; every row deep-links to its source. Click a kind to filter.
50066 analyzed
8097 re-analysis due
988 not analyzable
0 not yet analyzed
4803 source gone
not analyzable
789 too large 199 no source
Running analyzer v33. The scanner changelog explains what each version detects and when it changed.
- hidden prompt 338
- committed secret 6178
- dynamic exec 11834
- obfuscation 3579
- suspicious endpoint 12346
- credential in log 713
- over-broad oauth scope 2550
- suspicious skill script 185
- bundled IDE extension 49
- skill file 187628
- MEDIUM over-broad oauth scope ArtyMcLabin/Gmail-MCP-Server gmail.modify
expect(resolveToolPrefix(['--scopes=gmail.modify', '--tool-prefix=info_'], NO_ENV)).toBe('info_'); - MEDIUM over-broad oauth scope ArtyMcLabin/Gmail-MCP-Server gmail.modify
expect(tool!.scopes).toContain('gmail.modify'); - MEDIUM over-broad oauth scope ArtyMcLabin/Gmail-MCP-Server https://mail.google.com/
"gmail.full": "https://mail.google.com/", - MEDIUM over-broad oauth scope ArtyMcLabin/Gmail-MCP-Server gmail.modify
"gmail.modify": "https://www.googleapis.com/auth/gmail.modify", - MEDIUM over-broad oauth scope ArtyMcLabin/Gmail-MCP-Server gmail.modify
expect(tool!.scopes).toContain('gmail.modify'); - MEDIUM over-broad oauth scope ArtyMcLabin/Gmail-MCP-Server gmail.modify
it("is visible with gmail.modify scope", () => { - MEDIUM over-broad oauth scope ArtyMcLabin/Gmail-MCP-Server gmail.modify
it('does not expose permanent delete tools with only gmail.modify', () => { - MEDIUM over-broad oauth scope ArtyMcLabin/Gmail-MCP-Server https://mail.google.com/
expect(scopeNameToUrl('gmail.full')).toBe('https://mail.google.com/'); - MEDIUM suspicious endpoint Gustavo-Hono/plueview_agent api.telegram.org
url = f"https://api.telegram.org/bot{token}/sendMessage" - HIGH dynamic exec Cubenest/rrweb-stack new Function()
const f = new Function(`return (${packed.body}).apply(null, arguments[0]);`); - HIGH dynamic exec Cubenest/rrweb-stack eval()
eval(code); - HIGH dynamic exec Cubenest/rrweb-stack eval()
eval(code); - HIGH dynamic exec Cubenest/rrweb-stack eval()
eval(code); - HIGH dynamic exec Cubenest/rrweb-stack eval()
eval(code); - HIGH dynamic exec Cubenest/rrweb-stack new Function()
const reconstructed = new Function(