{"id":12336,"date":"2026-04-23T10:03:51","date_gmt":"2026-04-23T10:03:51","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2026\/04\/23\/checkmarx-kics-official-docker-repo-compromised-to-inject-malicious-code\/"},"modified":"2026-04-23T10:03:51","modified_gmt":"2026-04-23T10:03:51","slug":"checkmarx-kics-official-docker-repo-compromised-to-inject-malicious-code","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2026\/04\/23\/checkmarx-kics-official-docker-repo-compromised-to-inject-malicious-code\/","title":{"rendered":"Checkmarx KICS Official Docker Repo Compromised to Inject Malicious Code"},"content":{"rendered":"<p>    Checkmarx KICS Official Docker Repo Compromised to Inject Malicious Code<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>A significant supply chain attack targeting the official <code>checkmarx\/kics<\/code> Docker Hub repository, where threat actors pushed trojanized images capable of harvesting and exfiltrating sensitive developer credentials and infrastructure secrets.<\/p>\n<p>Docker\u2019s internal monitoring flagged suspicious activity around KICS image tags on April 22, 2026, and promptly alerted Socket researchers.<\/p>\n<p>The investigation revealed that attackers had overwritten existing tags, including <code>v2.1.20<\/code> and <code>alpine<\/code> while also introducing a new <code>v2.1.21<\/code> tag that has no corresponding legitimate upstream release.<\/p>\n<p>The affected tags ultimately included <code>v2.1.20-debian<\/code>, <code>v2.1.20<\/code>, <code>debian<\/code>, <code>alpine<\/code>, and <code>latest<\/code>, all of which have since been restored to their prior legitimate releases.<\/p>\n<p>KICS, short for Keeping Infrastructure as Code Secure, is an open-source tool widely used by DevOps and security teams to scan Terraform, CloudFormation, and Kubernetes configurations for security misconfigurations. Its broad adoption across <a href=\"https:\/\/cybersecuritynews.com\/ci-cd-security\/\" target=\"_blank\" rel=\"noreferrer noopener\">CI\/CD pipelines<\/a> made it an especially high-value target for supply chain attackers.<\/p>\n<h2 class=\"wp-block-heading\" id=\"trojanized-binary-and-credential-exfiltration\"><strong>Trojanized Binary and Credential Exfiltration<\/strong><\/h2>\n<p>Analysis of the poisoned KICS images revealed that the bundled ELF binary written in Golang had been modified to include unauthorized telemetry and data exfiltration capabilities entirely absent from the legitimate version.<\/p>\n<p>The malware was designed to generate uncensored IaC scan reports, encrypt the results, and silently transmit them to an attacker-controlled external endpoint at <code>https:\/\/audit.checkmarx[.]cx\/v1\/telemetry<\/code>.<\/p>\n<p>Organizations that used the affected images to scan infrastructure-as-code files should treat any exposed secrets, cloud credentials, or API keys as potentially compromised.<\/p>\n<p>The malicious binary shared the same Command and Control (C2) server address as a separately discovered JavaScript payload called <code>mcpAddon.js<\/code>, indicating a coordinated, multi-component attack infrastructure.<\/p>\n<h2 class=\"wp-block-heading\" id=\"vs-code-extensions-also-weaponized\"><strong>VS Code Extensions Also Weaponized<\/strong><\/h2>\n<p><a href=\"https:\/\/socket.dev\/blog\/checkmarx-supply-chain-compromise\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">As Socket researchers expanded their investigation<\/a>, the scope broadened well beyond Docker Hub. Trojanized versions of Checkmarx\u2019s VS Code and Open VSX extensions were also identified specifically, <code>cx-dev-assist<\/code> versions 1.17.0 and 1.19.0, and <code>ast-results<\/code> versions 2.63.0 and 2.66.0.<\/p>\n<p>These extensions, upon activation, silently downloaded a second-stage payload (<code>mcpAddon.js<\/code>) from a hardcoded GitHub URL pointing to an orphaned backdated commit (<code>68ed490b<\/code>) in the official Checkmarx repository, then executed it using the Bun runtime without user consent or integrity verification.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjGeOt2dcufgD3sY3tmIKuVtTz2rhJ7lEv0CnyaclxO7p6MgO_rWv9uFZyoPuu7BaDgioVkuzWlz_zmcXwfGOW3vfEVfAf2PccUo-JNUmQqphMRcACiSBHSC0bvXEFq5g5Q3XKow5c09359eGpcGiG9qVvjmb9KJNQux_tGxXjimLBSBjSS74u3Q4MpMX2v\/s16000\/mcaddon.webp?ssl=1\" alt=\"mcpAddon compromise\"><figcaption class=\"wp-element-caption\">mcpAddon compromise<\/figcaption><\/figure>\n<\/div>\n<p>The <code>mcpAddon.js<\/code> file a heavily obfuscated, ~10MB JavaScript bundle functioned as a full-featured credential stealer.<\/p>\n<p>It harvested GitHub authentication tokens, AWS credentials, Azure and Google Cloud tokens, npm configuration files, SSH keys, and environment variables, compressing and encrypting the exfiltrated data before sending it to the attacker\u2019s endpoint.<\/p>\n<p>The malware\u2019s reach extended beyond credential theft. Using stolen GitHub tokens, the malware injected malicious GitHub Actions workflows (<code>.github\/workflows\/format-check.yml<\/code>) into repositories the victim had write access to.<\/p>\n<p>The workflow exploited <code>${{ toJSON(secrets) }}<\/code> to serialize and exfiltrate the entire secrets context of each targeted repository as a downloadable artifact. Stolen npm tokens were further abused to identify and republish writable packages, enabling downstream supply-chain propagation across the npm ecosystem.<\/p>\n<p>The threat actor group TeamPCP appears to be claiming credit for the attack. The<code>ir<\/code> account on X posted taunting messages after the story broke, stating \u201cThank you OSS distribution for another very successful day at PCP inc.\u201d.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhtpy5_Plp85divzlU2z7FsOE7F5OBTHCzpi6vUuHlcdK7xSvaOxJKlQwQtU8qDAp4eqUcFnp-dj0iW9tE4eeJ-c_CovNEEVs2rBhhd0BwAA77l-nOMJJcmsUUFqUTwKMGjHC0I2VoVdmL-qEnHhl1mAJkmcIGa6JGdBCXexAawcxpDp7_OgJFZjBLp7y6Y\/w640-h530\/team%2520pcpc%2520claim.webp?ssl=1\" alt=\"\"><\/figure>\n<\/div>\n<p>This is consistent with TeamPCP\u2019s prior March 2026 campaign, in which the group compromised Checkmarx GitHub Actions and OpenVSX plugins in a broader supply chain attack that also targeted Trivy and LiteLLM.mrcloudbook+2<\/p>\n<h2 class=\"wp-block-heading\" id=\"immediate-remediation-steps\"><strong>Mitigations<\/strong><\/h2>\n<p>Security teams should take the following actions immediately:<\/p>\n<ul class=\"wp-block-list\">\n<li>\n<strong>Remove<\/strong> all affected KICS Docker images, VS Code extensions, and GitHub Actions from developer systems and build pipelines<\/li>\n<li>\n<strong>Rotate<\/strong> GitHub tokens, npm tokens, cloud credentials (AWS, Azure, GCP), SSH keys, and all CI\/CD secrets exposed to affected environments<\/li>\n<li>\n<strong>Audit<\/strong> GitHub repositories for unauthorized workflow files, unexpected branch creation, suspicious artifact downloads, and public repositories named with the pattern <code>&lt;word&gt;-&lt;word&gt;-&lt;3 digits&gt;<\/code> with the description \u201cCheckmarx Configuration Storage\u201d<\/li>\n<li>\n<strong>Hunt<\/strong> for outbound connections to <code>94[.]154[.]172[.]43<\/code> or <code>audit.checkmarx[.]cx<\/code>, unexpected Bun runtime execution, and unauthorized access to <code>.npmrc<\/code>, <code>.env<\/code>, or cloud credential stores<\/li>\n<li>\n<strong>Pin<\/strong> Docker image references to verified SHA256 digests rather than mutable tags<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\" id=\"key-indicators-of-compromise\"><strong>Key Indicators of Compromise<\/strong><\/h2>\n<figure class=\"wp-block-table\">\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th>Artifact<\/th>\n<th>Indicator<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>C2 Endpoint<\/td>\n<td><code>https:\/\/audit.checkmarx[.]cx\/v1\/telemetry<\/code><\/td>\n<\/tr>\n<tr>\n<td>Malicious IP<\/td>\n<td><code>94[.]154[.]172[.]43<\/code><\/td>\n<\/tr>\n<tr>\n<td>mcpAddon.js SHA256<\/td>\n<td><code>24680027afadea90c7c713821e214b15cb6c922e67ac01109fb1edb3ee4741d9<\/code><\/td>\n<\/tr>\n<tr>\n<td>KICS ELF SHA256<\/td>\n<td><code>2a6a35f06118ff7d61bfd36a5788557b695095e7c9a609b4a01956883f146f50<\/code><\/td>\n<\/tr>\n<tr>\n<td>Affected Docker tags<\/td>\n<td>\n<code>alpine<\/code>, <code>latest<\/code>, <code>debian<\/code>, <code>v2.1.20<\/code>, <code>v2.1.21<\/code>, <code>v2.1.20-debian<\/code>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>Socket has disclosed its findings to the Checkmarx security team and continues to publish updated technical analysis as the investigation develops. The Docker repository has been archived, and all affected tags have been restored to verified legitimate releases.<\/p>\n<p class=\"has-text-align-center has-background\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 94%,rgb(169,184,195) 100%)\"><strong>Follow us on <a href=\"https:\/\/news.google.com\/publications\/CAAqMggKIixDQklTR3dnTWFoY0tGV041WW1WeWMyVmpkWEpwZEhsdVpYZHpMbU52YlNnQVAB?hl=en-IN&amp;gl=IN&amp;ceid=IN:en\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Google News<\/a>, <a href=\"https:\/\/www.linkedin.com\/company\/cybersecurity-news\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">LinkedIn<\/a>, and <a href=\"https:\/\/x.com\/cyber_press_org\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">X<\/a> for daily cybersecurity updates. <a href=\"https:\/\/cybersecuritynews.com\/contact-us\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Contact us<\/a> to feature your stories.<\/strong><\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/checkmarx-kics-compromised\/\">Checkmarx KICS Official Docker Repo Compromised to Inject Malicious Code<\/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\/checkmarx-kics-compromised\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Checkmarx KICS Official Docker Repo Compromised to Inject Malicious Code A significant supply chain attack targeting the official checkmarx\/kics Docker Hub repository, where threat actors pushed trojanized images capable of harvesting and exfiltrating sensitive developer credentials and infrastructure secrets. Docker\u2019s internal monitoring flagged suspicious activity around KICS image tags on April 22, 2026, and promptly [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1636,129,63],"tags":[130],"class_list":["post-12336","post","type-post","status-publish","format-standard","hentry","category-cyber-attack-news","category-cyber-security","category-cyber-security-news","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/12336"}],"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=12336"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/12336\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=12336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=12336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=12336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}