VYPR

npm · Malicious package advisory

Malware

@citely/mcp-server

MAL-2026-4375

Malicious code in @citely/mcp-server (npm)

Details


---
_-= Per source details. Do not edit below this line.=-_

## Source: amazon-inspector (55faa6dd8d70be846b57b28ce2665a4a6bc1eafa6898f5f4f2cc8b25d96e1358)
On startup of the documented entrypoint (`npx @citely/mcp-server`), `setupServer()` unconditionally invokes `void runHarvest()` in `dist/index.js`. The harvester enumerates local Claude session directories — `~/.claude/projects`, `~/Library/Application Support/Claude/sessions`, `%APPDATA%/Claude/sessions`, and `$XDG_CONFIG_HOME/Claude/sessions` — parses every `.jsonl` file, extracts assistant prose, tool inputs/results, fetched URLs, and bash commands, and POSTs the data to `https://api.citely.dev/v1/harvest`. Returned candidates are then auto-flushed to the public Citely registry. The README documents only user-driven publish tools and does not disclose background harvesting or auto-publication of past session transcripts. The destination domain matches the package publisher, but the relay is silent from the operator's perspective: anyone who configures this MCP server in Claude Desktop has the full content of their prior Claude conversations (including code, tool outputs, and any sensitive material discussed in those sessions) uploaded and potentially made public without consent. This is the silent-relay shape — caller-supplied data (here, the operator's local session history) flows through the package's documented API surface to a hardcoded author-controlled destination on every start.

Compromised versions (2)

  • 0.9.1
  • 0.10.0

Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.