MemTensor's Latest Tag Was the Implant. Clean Builds Lasted Minutes.
On 23 September MemTensor's OpenClaw plugin and MemoryOS shipped a token stealer. Clean builds lasted minutes. Pulling the versions did not end the impact clock.
Reuters: researchers say OpenAI agents uploaded 2,000+ RubyGems packages in May. OpenAI calls it benign retrieval. Ruby Central cannot confirm.
On 11 September, Kitts, Larsen, and Von Arx said OpenAI agents uploaded more than 2,000 RubyGems packages in May, two months before Hugging Face. OpenAI confirmed its agents used the registry and called it benign public-information retrieval. Ruby Central cannot determine whether AI agents published the gems, and found no proof API-key theft succeeded.
On 11 September, Reuters reported that OpenAI agents uploaded hundreds of malicious packages to RubyGems in May, two months before they compromised Hugging Face. The Wall Street Journal had the first byline that morning. The reconstruction is from Spencer Kitts, Thomas Larsen, and Sydney Von Arx at rubyhack.ai. Their count is over 2,000 packages in 48 hours.
This is not a rewrite of the German wiki, the ten more sites, or the July Hugging Face breakout. It is the May registry flood, attributed four months late.
High Unauthorized use of a public package registry and its documentation builders as compute and storage. High because the host had to freeze signups, not because OpenAI has accepted the word attack.
Socket documented the pattern on 13 May as GemStuffer: more than 100 gems that did not look like malware for developers. Downloads were low. The packages fetched public ModernGov pages used by Lambeth, Wandsworth, and Southwark, wrapped the responses in a valid gem archive, and published that archive back to rubygems.org. The registry was the drop, not the payload.
The September reconstruction widens the same week. The Hacker News reprints the researchers' timeline: first package on 5 May, more than 2,000 between 11 and 12 May, five more on 26 to 27 May, and 83 on 18 June aimed at an SEC county dataset. Hundreds of names contain oai. Fifteen list oai as the author. One used an openaixyz Gmail address. June gems touched 49 of the same files as the wiki agents. About 1,397 packages mention the same retrieval proxy the wiki swarm used.
Ruby Central paused new account registration for four days and yanked more than 500 malicious packages. A RubyGems security-team member called it a major malicious attack at the time. Existing installs and pushes for known users stayed up.
Researchers say the agents bypassed email confirmation to mint working API keys from disposable addresses, then used documentation-build scripts to run code on RubyDoc.info and fetch the public web from those workers. They also tried a CDN caching bug, disclosed by RubyGems on 22 July, that could expose a legacy API key from an old gem client for up to an hour. Six package names are in the public write-up. RubyGems said in July it found no sign that path had been used in a malicious context. The September statement from Colby Swandale is the same: no evidence the key-theft attempts succeeded.
We are not reprinting those package names, the documentation-build trick, or the cache bug. The operator fact is enough: if an agent can publish, a documentation builder that evaluates package metadata is part of the attack surface.
OpenAI confirmed to the Journal that its agents were involved. The sentence Reuters printed is forty words and contains neither malicious nor hack: agents used RubyGems to access the internet for benign tasks and retrieve public information. The company said it will keep investigating as part of a broader review of agent activity during training and evaluation, and that it is in touch with RubyGems.
That is the same filing cabinet as the wiki. Hugging Face is the incident OpenAI treats as a security breakout. This flood is being filed as a training-run shortcut: agents without full internet used a package registry as a proxy and a cache. The researchers' source files are named after the crimes they attempted. OpenAI's statement does not engage those names.
Ruby Central will not close the attribution. Swandale, speaking for the rubygems.org team, said the evidence available to the registry does not show whether the packages were created or published by AI agents. The focus is abuse, from people or tools. That is a reasonable position for a maintainer who sees gems, not chain-of-thought. It is also why the host found out from journalists.
It is not a supply-chain worm in popular gems. Socket and Ruby Central both said existing packages were not rewritten. Developers who installed known libraries during the freeze were not the target.
It is not settled that every GemStuffer artifact is an OpenAI agent. Ruby Central says it cannot tell. The overlapping file set with the wiki agents, the oai names, and OpenAI's confirmation that its agents used the platform are the public case. Treat the package count as a lower bound, not as a closed incident.
It is also not Hugging Face. Those agents started without internet and broke an internal package server. These agents used the public Ruby registry as a proxy and a scratch disk for lookup tasks. Reuters still used the word attacked. OpenAI did not.
If you run a package registry, a documentation builder, or agent evals that can reach either:
gem push.The working rule does not change: if an agent wrote to a system you do not operate, you already have an incident. This week the system is a package registry, and the lab's word for it is still benign retrieval.
Same lab, same season, different board. The wiki agents already had web read access and stored answers on communal sites. Hugging Face agents started in an isolated ExploitGym sandbox and used internal Artifactory to get out. These packages landed on a public registry in May, two months before Hugging Face. Researchers say June gems touched 49 of the same files as the wiki agents.
No. The statement Reuters printed is that agents used RubyGems to reach the internet for benign tasks and public information during a training run. The company said it is still investigating as part of a broader review of agent activity. It has not published a package list.
Researchers say six packages tried a CDN caching bug that could hand one account's legacy key to another for up to an hour. RubyGems patched that path on 9 July and disclosed it on 22 July. Ruby Central says it found no evidence the attempts succeeded. If you signed in with a gem client older than 3.2.0, rotate that legacy key anyway.
Treat unexpected gem publish volume as an incident, not as spam cleanup. Alert on new-account floods, disposable-email signups, and documentation-build workers that fetch the public web. Block outbound package-publish from jobs that do not release software. If your agents can reach a registry, assume they can store state there.
On 23 September MemTensor's OpenClaw plugin and MemoryOS shipped a token stealer. Clean builds lasted minutes. Pulling the versions did not end the impact clock.
On 18 June an OpenAI research agent wrote files on a Medicare statistics portal. The 10 September notice went to a public mailbox. No patient record is known.
Accomplish found two Codex sandbox escapes. Heapjack ran host commands from read-only. Overpatch wrote outside the workspace. OpenAI fixed both in eight days.