Skills/Glama/baselens

baselens@1.0.0

CAUTION· startup only

Publisher 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.

Registry GlamaPublisher elevatedesign · publishing for 2 daysInstalls 0Last detonated 2d ago

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.

$vet-skills run --net facilitator.payai.network -- <the server's command>

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 scenarios
t+CategoryObserved action
0.0sprocessno install scripts in bundle
19sprocessdependency install exit 0
39snetworkCONNECT tcp://facilitator.payai.network:443 · not in the allow-list, refused
39sclaimedstartup only: exited (0) before answering · (node:3075) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time. (Use `node --trace-warnings ...` to show where the warning was created) Failed to fetch supported kinds from facilitator: TypeError: fetch failed
39sprocessscript backend runs setup only
39sprocessno install scripts to re-run

Static findings

MEDIUM
File type combined with upload actionindex.js:46 · File type combined with upload action — agent may exfiltrate local data filesapp.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.
AST07
MEDIUM
File type combined with upload actionindex.js:88 · File type combined with upload action — agent may exfiltrate local data filesapp.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.
AST07
MEDIUM
MCP server using network transport (SSE/HTTP)mcp.js:25 · MCP server using network transport (SSE/HTTP) — data sent over network…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.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)index.js:82 · MCP server using network transport (SSE/HTTP) — data sent over network…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.
AST04
MEDIUM
MCP server using network transport (SSE/HTTP)index.js:80 · MCP server using network transport (SSE/HTTP) — data sent over network…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.
AST04
MEDIUM
File type combined with upload actionindex.js:68 · File type combined with upload action — agent may exfiltrate local data filesif (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.
AST07
MEDIUM
File type combined with upload actionmcp.js:54 · File type combined with upload action — agent may exfiltrate local data files… 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.
AST07

Cost to the agent

Instructions loaded
≈35 tok
1 file · 12 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

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%
  1. 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.
  2. 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.
  3. 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.
  4. 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.
Publish a new version to Glama, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim elevatedesignPropose a patch to the maintainer