Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
- capability exposure inferred + 35
- recent drift inferred + 20
- tool safety inferred + 12
inferred
The A–E grade is our heuristic synthesis — a "review this" prompt, not a verdict. Each factor is tagged by what backs it: attested (a verifiable record), reported (a third party's claim), or inferred (our own heuristic, e.g. permissions). See methodology.
grade last moved 3d ago · see ecosystem CVEs →
- C · 59 → D · 67
- C · 51 → C · 59
- A · 0 → C · 51
No known CVEs for this server.
- high dangerous code
dynamic exec: new Function(), vm exec · credential logged in 1 file(s)
- medium dangerous code
env-secret-flows-to-network-js: A process environment value reaches a network call. Review whether it is a credential leaving the process; the ordinary API-wrapper shape (read a ke
analyzed commit a8a7873 · analyzer v33 · 5h ago
skills & prompt files 2
- agent-rules HeyPuter-puter-a8a7873/AGENTS.md
- agent-rules HeyPuter-puter-a8a7873/CLAUDE.md
danger signals8
- dynamic code execution new Function() HeyPuter-puter-a8a7873/src/backend/services/events/workerSource.ts :88
new Function(registerEntry(name, source)); - dynamic code execution new Function() HeyPuter-puter-a8a7873/src/backend/services/homepage/PuterHomepageService.test.ts :456
new Function( - dynamic code execution vm exec HeyPuter-puter-a8a7873/src/puter-js/src/init.cjs :39
vm.runInNewContext(code, context); - dynamic code execution new Function() HeyPuter-puter-a8a7873/src/puter-js/src/modules/events/lib/handlerSource.test.js :29
expect(() => new Function(`return (\n${source}\n);`)).not.toThrow(); - suspicious endpoint 169.254.169.254 (cloud metadata) HeyPuter-puter-a8a7873/src/backend/util/secureHttp.test.ts :334
res.writeHead(302, { location: 'http://169.254.169.254/' }); - suspicious endpoint t.me HeyPuter-puter-a8a7873/src/gui/src/helpers/socialLink.js :132
'telegram.me': `https://t.me/share/url?url=${ url }&text=${ text }&to=${ phone_number}`, - over-broad OAuth scope https://mail.google.com/ HeyPuter-puter-a8a7873/src/gui/src/helpers/socialLink.js :117
'gmail': `https://mail.google.com/mail/?view=cm&to=${ email_address }&su=${ title }&body=${ url }&bcc=${ bcc_email_address }&cc=${ cc_email_address}`, - credential in logs credential in log HeyPuter-puter-a8a7873/src/backend/services/selfhosted/DefaultUserService.ts :145
console.log(`password for admin is: ${tmpPassword}`);
- recent drift +20 capability drift →
Heuristic, inferred signals — false positives (legitimately powerful tools, forks, language ports) are expected. Treat each as "review this", not a verdict. See the ecosystem-wide picture on the security hub, or the fleet security of HeyPuter.