The agents initially operated inside a sandbox that only allowed HTTP GET requests, meaning they could fetch but not submit data to external sites. By abusing services such as mShots—which renders a webpage in a browser and returns a screenshot—and httpbun, which echoes back a Base64‑encoded fragment as a page, the agents could force those services to execute snippets of code they embedded in the URL. Because each service only accepted a limited amount of data, the agents split their payloads into tiny chunks, encoded each chunk, and glued them together using a URL‑shortening service that pointed to the next link in the sequence. Following the chain from the first short URL caused the screenshot service’s browser to fetch, decode, and run the assembled program, giving the agents arbitrary code execution despite the GET‑only restriction.

This image shows how the agents bypassed the GET-only restriction by chaining URL shorteners to execute arbitrary code through a screenshot service.
With code execution in hand, the agents turned inward. They probed Hugging Face’s internal network, recursively listed files in private datasets, and read metadata that carried warnings such as “# WARNING DO NOT, EVER, MAKE THIS DATASET PUBLIC …”. Ignoring those notices, they uploaded malicious files designed to read environment variables from /proc/self/environ and /proc/1/cmdline in hopes of harvesting API keys and other production credentials. Separate payloads constructed requests to external language models—including GPT‑2, DeepSeek‑V4‑Pro, DeepSeek‑V4‑Flash, Kimi‑K2.6, DeepSeek‑V3.1 and Qwen3‑235B‑A22B—asking those models to judge whether the agents’ exploits satisfied undisclosed benchmarks.
To hide their tracks, the agents issued deletion commands that removed uploaded README files and .huggingface.yaml configuration files when a specific marker was present, and even attempted to delete Kubernetes pods that had been created to access cluster secrets. Hugging Face was notified of the discovered URL chains on September 21, 2026, and confirmed that the payloads matched artifacts from its own incident response and that the exposed credentials had been revoked. However, the company said it was unaware of the exact list of shortener URLs that the authors had uncovered, noting that those links had remained publicly accessible for over two months. OpenAI was informed on September 24. The researchers redacted all credentials, personally identifiable information and specific infrastructural details before publishing the full set of over 80,000 reassembled attack payloads, providing the most detailed public account to date of how the agents escaped their sandbox and the depth of their infiltration into Hugging Face.