mcp@0.1.1014-wip.inboxrecent.20261112.1

CAUTION· startup only

Publisher claims: "Sellable MCP server for Claude Code, Codex, and Hermes campaign workflows" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher sellable · publishing for 198 daysInstalls 10,580Last detonated 34 h 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
PROSPEO_COMPANY_SEARCH_TOKEN_REF_PREFIXSELLABLE_AGENT_CREDENTIAL_GENERATIONSELLABLE_AGENT_SERVER_AUTHENTICATED_KINDConfiguration, not credentials: CODEX_HOME, SELLABLE_AGENT_ID, SELLABLE_AGENT_RUNTIME, SELLABLE_AGENT_WORKSPACE_ID, SELLABLE_AGENTS_DIR, SELLABLE_API_URL, SELLABLE_BASE_URL, SELLABLE_CONFIG_PATH, SELLABLE_CONFIGS_DIR, SELLABLE_DEBUG_NAVIGATION, SELLABLE_HERMES_PROFILE_ID, SELLABLE_LOCK_WORKSPACE_ID, SELLABLE_NAV_DEBUG, SELLABLE_NAV_DEBUG_CAMPAIGN_IDS, SELLABLE_NAV_DEBUG_CAMPAIGNS, SELLABLE_REQUIRE_WORKSPACE_LOCK, SELLABLE_SKILLS_DIR, SELLABLE_UPDATE_CHECK_DISABLED, SELLABLE_UPDATE_CHECK_TIMEOUT_MS, SELLABLE_UPDATE_CHECK_TTL_MS, SELLABLE_WATCH_MODE_DRIVER
Where it talks to
sellable.dev (its own)Also linkedin.com — not the publisher's domain; check what for before connecting.
What the honeypot saw
no credential files read · no network
What we could not test
the tool list (the server exited before answering) · what the tools do when called with real credentials

Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names linkedin.com as well as its own vendor. The guard injects PROSPEO_COMPANY_SEARCH_TOKEN_REF_PREFIX, SELLABLE_AGENT_CREDENTIAL_GENERATION, SELLABLE_AGENT_SERVER_AUTHENTICATED_KIND only into requests to sellable.dev (and its subdomains) and refuses the rest.

$vet-skills run --secrets PROSPEO_COMPANY_SEARCH_TOKEN_REF_PREFIX=sellable.dev,SELLABLE_AGENT_CREDENTIAL_GENERATION=sellable.dev,SELLABLE_AGENT_SERVER_AUTHENTICATED_KIND=sellable.dev -- npx -y @sellable/mcp

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-13 and scored it 76/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Pipe-to-shell pattern; Pipe-to-shell pattern; Pipe-to-shell pattern. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 28 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
7.5sprocessdependency install exit 0
28sclaimedstartup only: exited (0) before answering · code: 'ERR_MODULE_NOT_FOUND', url: 'file:///tmp/ks-detonate-XaY3qi/task/home/work/acme-api/.claude/skills/mcp/dist/agent-approval-effect-port.js' } Node.js v22.23.5
28sprocessscript backend runs setup only
28sprocessno install scripts to re-run

Static findings

CRITICAL
Pipe-to-shell patterndist/update-check.js:129 · Pipe-to-shell pattern — downloads and immediately executes remote codereturn `Sellable update available: ${versions}. Run: curl -fsSL "https://app.sellable.dev/api/v2/cli/install" | sh.${installerVersion}`;Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
CRITICAL
Pipe-to-shell patterndist/tools/bootstrap.js:15 · Pipe-to-shell pattern — downloads and immediately executes remote codereturn 'Run curl -fsSL "https://app.sellable.dev/api/v2/cli/install" | sh, then restart Claude Code/Codex so Sellable reloads.';Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
MEDIUM
Remote installer piped to shelldist/tools/bootstrap.js:15 · Remote installer piped to shellreturn 'Run curl -fsSL "https://app.sellable.dev/api/v2/cli/install" | sh, then restart Claude Code/Codex so Sellable reloads.';Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
CRITICAL
Pipe-to-shell patterndist/update-check.js:183 · Pipe-to-shell pattern — downloads and immediately executes remote code? 'Run curl -fsSL "https://app.sellable.dev/api/v2/cli/install" | sh'Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
MEDIUM
File type combined with upload actiondist/tools/prompts.js:473 · File type combined with upload action — agent may exfiltrate local data files…subskill_asset({ subskillName: "refill-sends-workflow", assetPath: "core/flow.v1.json" }) to hasMore:false before operational steps, then call resolve_campaign_fill_route({ intent:"plain" }), list_senders, and get_campaign_refill_state for…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Remote installer piped to shelldist/update-check.js:129 · Remote installer piped to shellreturn `Sellable update available: ${versions}. Run: curl -fsSL "https://app.sellable.dev/api/v2/cli/install" | sh.${installerVersion}`;Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
MEDIUM
Process kill commanddist/refill-run-loop.js:2128 · Process kill command — agent can terminate processes// Best effort; local calibration failure must not kill a leased run.Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
File type combined with upload actiondist/tools/prompts.js:477 · File type combined with upload action — agent may exfiltrate local data files… any later fill/load/refill request, load refill-sends-workflow and core/flow.v1.json completely, then call only refill_sends with the exact workspace/sender/date scope and follow only its issued continuation.arguments. The coordinator own…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Remote installer piped to shelldist/update-check.js:183 · Remote installer piped to shell? 'Run curl -fsSL "https://app.sellable.dev/api/v2/cli/install" | sh'Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07

Cost to the agent

Instructions loaded
≈67 tok
1 file · 81 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

No advisories in OSV for @sellable/mcp@0.1.1014-wip.inboxrecent.20261112.1 as of 32 h ago. This is the package itself, not its dependencies.

What would make this Verified

4 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  2. Unclaimed publisher≈ +8 on the totalClaim sellable: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  3. Remote installer piped to shell≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  4. 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.
  5. Process kill command≈ +2 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
Publish a new version to npm, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim sellablePropose a patch to the maintainer
mcp@0.1.1014-wip.inboxrecent.20261112.1 safety verdict: Caution (startup only) — KillerSkills