baselens@1.0.0
CAUTION· startup onlyPublisher claims: "Enables AI agents to query Base on-chain data such as balances, token metadata, transactions, gas, names, prices, transfers, and contract details through paid MCP tools using x402 payments." Observed in sandbox: sends data to facilitator.payai.network.
Coverage
Startup only; authenticated tool behavior not tested.- Tested
- server startup over stdio (initialize sent) · every file read, file written and host contacted by what ran
- Not tested
- the tool list (the server exited before answering) · what the tools do when called with real credentials
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
CDP_API_KEY_IDCDP_API_KEY_SECRET- Where it talks to
- no vendor host named in the codeAlso publicnode.com, x402.org, base.org, drpc.org, cloudflare-eth.com, sourcify.dev — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · contacted facilitator.payai.network (undeclared)
- What we could not test
- the tool list (the server exited before answering) · what the tools do when called with real credentials
Find out what these hosts are first. In the honeypot it contacted facilitator.payai.network, which nothing in the package names as its own. If that is the vendor's service, fine; if you cannot place it, do not connect it.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; startup only; authenticated tool behavior not tested) on 2026-11-12 and scored it 65/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Summary: sends data to facilitator.payai.network.
Behavior trace
Honeypot run · 40 s · 2 scenariosStatic findings
app.get("/llms.txt", (_q, r) => r.type("text/plain").send(llms));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.app.get("/robots.txt", (_q, r) => r.type("text/plain").send("User-agent: *\nAllow: /\n"));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.…ceServer) { const w = await getWrappers(resourceServer); const server = new McpServer({ name: "baselens", version: "1.1.0", title: "BaseLens: Base on-chain data (x402)" }, { instructions: `${SERVICE}: live Base (chain 8453) on-chain reads.…Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.…erInfo: { name: "baselens", title: "BaseLens", version: "1.1.0" }, description: mcpServerJson.description, transport: { type: "streamable-http", url: SITE + "/mcp" }, authentication: { required: false, note: "No auth. Paid…Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.…nt.json", "/.well-known/agent-card.json"], (_q, r) => r.json(agentCard)); const mcpServerJson = { $schema: "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", name: "app.vercel.baselens-api/baselens", title: "Ba…Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.if (method !== "message/send") return res.json({ jsonrpc: "2.0", id, error: { code: -32601, message: "Only message/send is supported. Paid data: " + SITE + "/llms.txt" } });Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.… null }); } }); const na = (_q, r) => r.status(405).set("allow", "POST").json({ jsonrpc: "2.0", error: { code: -32000, message: "Method not allowed. POST JSON-RPC to /mcp (Streamable HTTP, stateless)." }, id: null }); app.get("/mcp…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.Cost to the agent
Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.
What would make this Verified
15 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Contacts a host you did not declare≈ +23 on the totalList every host you talk to in SKILL.md frontmatter (`network: [api.example.com]`), or stop contacting the ones you cannot justify.
- Unclaimed publisher≈ +8 on the totalClaim elevatedesign: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- File type combined with upload action≈ +2 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.
- MCP server using network transport (SSE/HTTP)≈ +2 on the totalNamespace tool names and keep tool descriptions literal; no instructions to the agent inside them.