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.
50020 analyzed
8131 re-analysis due
988 not analyzable
1 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 6177
- dynamic exec 11826
- obfuscation 3575
- suspicious endpoint 12346
- credential in log 713
- over-broad oauth scope 2548
- suspicious skill script 185
- bundled IDE extension 49
- skill file 187620
- HIGH committed secret the-cybersapien/lumberroom GitHub token
ghp_16…(40 chars, redacted) - HIGH committed secret the-cybersapien/lumberroom OpenAI key
sk-pro…(40 chars, redacted) - HIGH committed secret the-cybersapien/lumberroom Anthropic key
sk-ant…(49 chars, redacted) - HIGH dynamic exec Vertiiii/blender-mcp eval()/exec()
exec(code, namespace) - MEDIUM suspicious endpoint wangzhe04/ruyi-workbench-oss 172.32.0.1
ok(mod.ssrfCheck('http://172.32.0.1/').allowed === true, 'SSRF: 172.32.x (outside 172.16-31) ALLOWED'); - MEDIUM suspicious endpoint wangzhe04/ruyi-workbench-oss 8.8.8.8
ok(mod.ssrfCheck('http://8.8.8.8/').allowed === true, 'SSRF: public IPv4 8.8.8.8 ALLOWED'); - MEDIUM suspicious endpoint wangzhe04/ruyi-workbench-oss 169.254.169.254 (cloud metadata)
ok(mod.ssrfCheck('http://169.254.169.254/').allowed === false, 'SSRF: 169.254.169.254 (cloud metadata) BLOCKED'); - HIGH dynamic exec wangzhe04/ruyi-workbench-oss new Function()
const normalizeWaitSpec = new Function(nm[0] + '\nreturn normalizeWaitSpec;')(); - HIGH dynamic exec wangzhe04/ruyi-workbench-oss new Function()
return new Function(...getParams(m[0]), getBody(m[0])); - HIGH dynamic exec wangzhe04/ruyi-workbench-oss vm exec
const fn = vm.runInNewContext(`${match[0].replace('export ', '')}\nactiveTurnUserIsPersisted`); - HIGH obfuscation wangzhe04/ruyi-workbench-oss dynamic require()/import()
const srv = require(${JSON.stringify(SERVER)}); - HIGH obfuscation wangzhe04/ruyi-workbench-oss dynamic require()/import()
const srv = require(${JSON.stringify(SERVER)}); - HIGH dynamic exec wangzhe04/ruyi-workbench-oss vm exec
const run = vm.runInNewContext(`${extract('lastSessionContextTokens')}\n${extract('replaceSessionObject')}\n${extract('maybeAutoCompactAgentSession')}\nmaybeAutoCompactAgentSession`, context); - HIGH dynamic exec wangzhe04/ruyi-workbench-oss vm exec
const run = vm.runInNewContext(`${extract('maybeAutoCompact')}\nmaybeAutoCompact`, ctx); - HIGH dynamic exec wangzhe04/ruyi-workbench-oss new Function()
const t3 = new Function('crypto', 'path', block + '\nreturn { ACTION_VIEW_TOOLS, ACTION_VIEW_MIN_CHARS, buildActionEnvelope, projectActionModelView };')(crypto, require('path'));