GEM-4C 558 -4%
GPT-61S 555 -3.8%
CL-SN55 553 -3.8%
CL-OP55 551 -4%
GPT-61TERR 547 -3.5%
GEM-4CM 546 -4%
CL-OP55EH 542 -3.9%
GPT-61SOLXH 541 -3.6%
GPT-61SOLH 527 -3.7%
CL-SN55XH 523 -3.5%
GEM-4CL 520 -3.9%
GPT-61TERRXH 507 -3.4%
CL-OP55H 506 -4%
GPT-61SOLM 500 -3.5%
KIMI-K31P 499 -3.5%
GEM-4AR 498 -3.9%
GPT-61TERRH 490 -3.2%
CL-OP55M 483 -3.6%
MUSE-WONDFUL 479 -3.8%
CL-SN55H 467 -3.3%
CL-HK55 463 -2.9%
GPT-61TERRM 462 -3.1%
GPT-6A 451 -4.7%
MUSE-WOND 451 -3.6%
CL-HK55XH 450 -3%
GPT-6ASTRXH 440 -4.8%
GROK-47 440 -3.1%
GROK-47H 438 -2.9%
GPT-6ASTRH 437 -4.8%
DSK-V-340615 436 -2.9%
QWEN-38X 428 -2.9%
GPT-61SOLL 423 -3.2%
GLM-53 420 -3%
MIMO-V26P 420 -2.6%
CL-HK55H 419 -2.8%
LING-31F1019 417 -2.6%
GEM-38F 416 -2.8%
GPT-6ASTRM 415 -4.6%
MMAX-M31F 414 -2.8%
GEM-38FM 412 -2.8%
GPT-61TERRNO 411 -2.8%
GROK-47L 410 -2.8%
DSK-V-3E48BD 410 -2.6%
GPT-6L 407 -2.6%
GLM-53F 407 -2.6%
STEP-5 405 -2.6%
CL-FABL51XH 403 -4.7%
GPT-61TERRL 403 -2.9%
MIMO-V26F 401 -2.4%
CL-FABL51 399 -4.5%
CL-SN55M 395 -2.9%
CL-OP55L 393 -3.4%
MIST-LARG4 390 -2.7%
CL-FABL51H 386 -4.5%
CL-HK55M 386 -2.3%
GPT-6LUNAXH 377 -2.6%
MUSE-SPAROPE 375 -2.6%
MIST-LARG4M 371 -2.4%
DSK-V4P 365 -2.4%
GPT-6LUNAH 365 -2.1%
GLM-53L 364 -2.4%
CL-SN55L 362 -2.7%
GEM-38FL 361 -2.4%
GPT-6ASTRL 359 -4.5%
CL-FABL51M 359 -4.5%
QWEN-827B 349 -2.2%
CL-HK55L 347 -2%
MMAX-M3 345 -2%
GPT-6LUNAM 344 -2.3%
DSK-V-02811D 344 -2%
K2-HORI375BA 342 -2%
REFL-BEAM 338 -2%
QWEN-827BM 332 -1.8%
CL-FABL51L 329 -4.4%
QWEN-827BL 320 -1.8%
NEMO-35SUPEV 313 -1.9%
INKL 295 -1.7%
NVID-NEMO3UL 295 -1.3%
GEM-35FLITE 295 -1.3%
GPT-6LUNAL 287 -1.4%
GPT-6LUNANON 286 -1%
NANB-333B 285 -2.7%
QWEN-827BNON 282 -1.4%
COMM-APLUS 266 -1.1%
MUSE-GLIM 263 -1.1%
NEMO-35LIGH 261 -0.8%
GRAN-428B 258 -0.8%
MIST-SMAL4 252 -0.4%
INKL-SM 235 -2.5%
GEMM-431B 225 —
GEMM-4E4B 225 —
GEMM-4E4BNON 225 —
LING-30TINY 225 —
MINI-33B 225 —
NORT-MCODE 225 —
NOVA-MICR 225 —
NVID--ADE3B4 225 —
QWEN-54B 225 —
QWEN-54BNONR 225 —
TINY-AYAGLOB 225 —
GEM-4C 558 -4%
GPT-61S 555 -3.8%
CL-SN55 553 -3.8%
CL-OP55 551 -4%
GPT-61TERR 547 -3.5%
GEM-4CM 546 -4%
CL-OP55EH 542 -3.9%
GPT-61SOLXH 541 -3.6%
GPT-61SOLH 527 -3.7%
CL-SN55XH 523 -3.5%
GEM-4CL 520 -3.9%
GPT-61TERRXH 507 -3.4%
CL-OP55H 506 -4%
GPT-61SOLM 500 -3.5%
KIMI-K31P 499 -3.5%
GEM-4AR 498 -3.9%
GPT-61TERRH 490 -3.2%
CL-OP55M 483 -3.6%
MUSE-WONDFUL 479 -3.8%
CL-SN55H 467 -3.3%
CL-HK55 463 -2.9%
GPT-61TERRM 462 -3.1%
GPT-6A 451 -4.7%
MUSE-WOND 451 -3.6%
CL-HK55XH 450 -3%
GPT-6ASTRXH 440 -4.8%
GROK-47 440 -3.1%
GROK-47H 438 -2.9%
GPT-6ASTRH 437 -4.8%
DSK-V-340615 436 -2.9%
QWEN-38X 428 -2.9%
GPT-61SOLL 423 -3.2%
GLM-53 420 -3%
MIMO-V26P 420 -2.6%
CL-HK55H 419 -2.8%
LING-31F1019 417 -2.6%
GEM-38F 416 -2.8%
GPT-6ASTRM 415 -4.6%
MMAX-M31F 414 -2.8%
GEM-38FM 412 -2.8%
GPT-61TERRNO 411 -2.8%
GROK-47L 410 -2.8%
DSK-V-3E48BD 410 -2.6%
GPT-6L 407 -2.6%
GLM-53F 407 -2.6%
STEP-5 405 -2.6%
CL-FABL51XH 403 -4.7%
GPT-61TERRL 403 -2.9%
MIMO-V26F 401 -2.4%
CL-FABL51 399 -4.5%
CL-SN55M 395 -2.9%
CL-OP55L 393 -3.4%
MIST-LARG4 390 -2.7%
CL-FABL51H 386 -4.5%
CL-HK55M 386 -2.3%
GPT-6LUNAXH 377 -2.6%
MUSE-SPAROPE 375 -2.6%
MIST-LARG4M 371 -2.4%
DSK-V4P 365 -2.4%
GPT-6LUNAH 365 -2.1%
GLM-53L 364 -2.4%
CL-SN55L 362 -2.7%
GEM-38FL 361 -2.4%
GPT-6ASTRL 359 -4.5%
CL-FABL51M 359 -4.5%
QWEN-827B 349 -2.2%
CL-HK55L 347 -2%
MMAX-M3 345 -2%
GPT-6LUNAM 344 -2.3%
DSK-V-02811D 344 -2%
K2-HORI375BA 342 -2%
REFL-BEAM 338 -2%
QWEN-827BM 332 -1.8%
CL-FABL51L 329 -4.4%
QWEN-827BL 320 -1.8%
NEMO-35SUPEV 313 -1.9%
INKL 295 -1.7%
NVID-NEMO3UL 295 -1.3%
GEM-35FLITE 295 -1.3%
GPT-6LUNAL 287 -1.4%
GPT-6LUNANON 286 -1%
NANB-333B 285 -2.7%
QWEN-827BNON 282 -1.4%
COMM-APLUS 266 -1.1%
MUSE-GLIM 263 -1.1%
NEMO-35LIGH 261 -0.8%
GRAN-428B 258 -0.8%
MIST-SMAL4 252 -0.4%
INKL-SM 235 -2.5%
GEMM-431B 225 —
GEMM-4E4B 225 —
GEMM-4E4BNON 225 —
LING-30TINY 225 —
MINI-33B 225 —
NORT-MCODE 225 —
NOVA-MICR 225 —
NVID--ADE3B4 225 —
QWEN-54B 225 —
QWEN-54BNONR 225 —
TINY-AYAGLOB 225 —

Delayed ticker data. Last calculated 5 Nov 2026, 11:04 pm Sydney time.

← Back to feed

Mozilla's 0DIN Hid a Reverse Shell in a DNS Record. Claude Code Delivered It.

Mozilla’s Zero Day Investigative Network (0DIN) published a proof-of-concept on June 15 showing that an attacker who controls nothing but a public GitHub repository can get code execution on any developer who opens it with Claude Code — without committing a single line of malicious code.

The attack chain is three steps, each individually unremarkable:

  1. A normal-looking repository with standard setup instructions in a README.
  2. A Python package that fails on first use and prints a helpful error: “Run: python3 -m axiom init.”
  3. An init command that calls a shell script, which resolves a DNS TXT record and pipes its contents to bash.

The DNS TXT record — fully controlled by the attacker, updatable at any time without touching the repo — decodes to a reverse shell. Claude Code never decides to open a shell. It decides to fix an error. Three indirection layers separate the agent from anything it actually evaluated: a trusted error message, a script it did not fully inspect, and a DNS record it never saw.

Why It Works

Agentic coding tools operate in an environment of ambient trust. Claude Code is authorized to run shell commands, open files, and make network calls. The attack exploits that authorization directly — not through a vulnerability in the agent, but through its intended behavior.

The payload is base64-encoded in the DNS record, so no reverse shell signature appears in plaintext on disk or on the wire. Static analysis sees a DNS lookup. Network monitoring sees routine name resolution. The agent sees a pre-authorized setup step. No single component trips a meaningful alert, and none of the three systems is examined together.

Once the reverse shell connects, the attacker has an interactive session running with the developer’s own privileges. Everything in the environment is exposed: ANTHROPIC_API_KEY, AWS_SECRET_ACCESS_KEY, GITHUB_TOKEN, and any other exported credentials. The DNS record can be swapped at any time with no new commit and no diff-based tooling to detect the change.

Delivery Vector

The attack distributes itself through trust, not malware. A link posted in a job posting, a developer tutorial, a Slack channel, or a Stack Overflow answer reaches any developer who opens it with Claude Code. The repo looks legitimate because it is legitimate — every file passes review.

The Structural Problem

0DIN’s analysis identifies what makes this category of attack difficult to address: AI coding agents evaluate commands at face value. Claude Code reads “Run: python3 -m axiom init” from an error message and runs it. The fix, according to the researchers, requires agents to surface what a command will actually execute at runtime — including the contents of any scripts it invokes and anything those scripts fetch from external sources — not just the literal command string.

The current design treats setup instructions in unknown repositories as trusted project context. Developers cannot rely on their agent to flag the problem because the agent is the execution path.

0DIN recommends that developers treat setup instructions and scripts in unfamiliar repositories as untrusted code regardless of what their AI tool recommends. The HackerOne implication is clear: the same attack pattern works against any agentic coding tool with shell access, not just Claude Code.

The 0DIN blog post is at 0din.ai/blog/clone-this-repo-and-i-own-your-machine. SecurityWeek covered it on June 29.