PyPI Package anthropickit Was Designed to Collect SSH Keys and Secrets; Anthropic Says It Was Not Its Agent’s Package

· Original article ↗

Summary

Aikido analyzed anthropickit, a PyPI package whose setup.py attempts to collect SSH keys and matching environment variables during installation. Its Pipedream endpoint was defunct; Anthropic later said it was not the package from its agent incident.

Key points

  • Aikido identified anthropickit, released on PyPI on June 14, 2026, while reviewing malicious packages.
  • The package's setup.py attempts to read SSH files and environment variables with names matching terms such as KEY, SECRET, TOKEN, PASS, AUTH, or API during installation.
  • It writes the collected data to /tmp/runner_exfil.json and attempts to send it to a Pipedream endpoint; the article says that endpoint service had been deprecated, so exfiltration would not have succeeded.
  • The package does not declare requests as a dependency, which could cause installation to fail in isolated build environments before the code runs.
  • Anthropic said anthropickit was not the package involved in its agent incident and did not plan to disclose that package's name. Aikido said it could not establish a link.
  • Anthropic's separate incident account said its agent-published package was live for about an hour and ran on 15 machines; those details do not establish that anthropickit was involved.

Article Details

Attack Vectors
  • The anthropickit Python package runs code in setup.py during installation, before the package is imported.
  • The code reads files in ~/.ssh other than known_hosts, known_hosts.old, and authorized_keys, and collects environment variables whose names contain KEY, SECRET, TOKEN, PASS, AUTH, or API.
  • The code attempts to POST collected data to a Pipedream endpoint and also writes it to /tmp/runner_exfil.json.
Defensive Notes
  • The article advises caution before installing unexpected packages, particularly one with an implausibly high version such as 999.9.9.
  • Inspect package installation scripts such as setup.py for unexpected access to SSH files, environment variables, or outbound requests.
  • The article reports that the x.pipedream.net service had been deprecated for over a year, so the package's specified exfiltration endpoint would not have worked.
  • Anthropic later stated that anthropickit was not the package involved in Incident 2.

Indicators of compromise

TypeIndicatorContext
URLhxxps[:]//enqqnvvtgrnyl[.]x[.]pipedream[.]net/Endpoint hardcoded in anthropickit to receive collected data; the article says the x.pipedream.net service was deprecated and the endpoint would not have worked.

MITRE ATT&CK