MemTensor npm and PyPI Packages Compromised With a Self-Spreading Credential Stealer
On 23 September 2026 attackers published malicious versions of @memtensor/memos-cloud-openclaw-plugin on npm and MemoryOS on PyPI carrying a Go implant ("sckit") that steals developer and CI credentials and spreads into other packages its victims publish. Affected versions, how it works, indicators, and the cleanup steps.
On 23 September 2026, an attacker published malicious versions of two packages from the AI-memory project MemTensor:
- npm:
@memtensor/memos-cloud-openclaw-plugin— versions reported as affected include 0.1.21, 0.1.23 and 0.1.25 (Aikido flagged 0.1.21 and later). StepSecurity recommends pinning 0.1.20. - PyPI:
MemoryOS— 2.0.34 and later, per Aikido.
Security firms (Aikido, StepSecurity, SafeDep) call the payload sckit or "supplychain.local". Their analysis is preliminary; check their latest advisories for version lists.
How it works
- No install script. Unlike many npm attacks, the malicious npm versions don't use
postinstall. The loader is imported into the package's normal code and runs whenever the package is used, so--ignore-scriptsalone doesn't help. - It launches a cross-platform Go binary (Windows, Linux and macOS on ARM and x86) from a hidden
.sckitdirectory. - It harvests secrets — tokens for GitHub, GitLab, npm, PyPI, AWS, Hugging Face, Slack, Stripe, SendGrid, Vault, JWTs; npm token files, SSH keys, cloud CLI credentials, git credential stores and environment variables — and sends them to servers under
skyleen.fr. - It spreads: using stolen credentials, it publishes itself into other npm and PyPI packages the victim controls, and carries a GitHub Actions workflow template to run on pushes to compromised repositories.
StepSecurity reports the attacker abused MemTensor's GitHub Actions release pipelines; a clean version was even released minutes before another malicious one.
Indicators
- Domains under
skyleen.fr(several random subdomains). - IP address 139.84.223.178.
- A hidden
.sckitdirectory and unexpected Go binaries.
Full hashes are in the vendors' advisories.
What to do if you might be affected
- Search lockfiles for the package names and affected versions:
grep -rn "memos-cloud-openclaw-plugin\|MemoryOS" package-lock.json pnpm-lock.yaml yarn.lock requirements*.txt poetry.lock 2>/dev/null
- Pin a clean version or remove the package.
- Treat affected machines and CI runners as compromised — rebuild them.
- Rotate every credential the machine could reach: npm and PyPI tokens, GitHub tokens and SSH keys, cloud keys, API keys in
.envfiles. (Leaked API Key: What to Do) - Check packages you publish for unexpected new versions, and your repos for unfamiliar workflow files.
- Block the indicators at your network edge.
The lesson for AI tooling
AI agent plugins and memory libraries are a fast-growing, fast-moving dependency category — and agents often run with broad credentials. Pin versions, review new dependencies, use lockfiles and npm ci, prefer trusted publishing with provenance, and keep long-lived tokens off developer machines and agent sandboxes. (npm Supply Chain Security, SBOMs and Signed Images)
Source: Aikido: MemTensor npm and PyPI hit by supplychain.local malware · StepSecurity analysis
EasySpawn runs each project on its own isolated server, so a compromised dependency can't reach your laptop's keys or other projects — and Claude Code can audit lockfiles across your repos. See how it works or join the waitlist.
Related: AI Hallucinated Packages · npm audit Explained · Secrets Management Beyond .env Files · keyv npm Worm
Keep reading
Next.js September 2026 Security Release: Upgrade to 16.3.8 or 15.5.27
Next.js patched seven vulnerabilities on 30 September 2026 in v16.3.8 and v15.5.27, after an out-of-band critical fix on 22 September. A high-severity SSRF in image optimisation, several cache-poisoning and cache-leak issues for SSG/ISR and 'use cache', and a dev-server MCP endpoint that leaked project data to malicious websites. Who's affected and what to do.
Lovable Now Uses Free and Pro Plan Data for AI Training Unless You Opt Out
Since 9 September 2026, Lovable may use customer data from Free and Pro plans to train AI models unless users opt out in Account settings → Privacy. Business and Enterprise workspaces are excluded by default. What that covers, how to opt out, and what to think about if your app handles client or customer data.