{"id":11066,"date":"2026-03-03T10:03:46","date_gmt":"2026-03-03T10:03:46","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2026\/03\/03\/threat-actors-exploit-openvsx-aqua-trivy-with-malicious-ai-prompts-to-hijack-local-coding-tools\/"},"modified":"2026-03-03T10:03:46","modified_gmt":"2026-03-03T10:03:46","slug":"threat-actors-exploit-openvsx-aqua-trivy-with-malicious-ai-prompts-to-hijack-local-coding-tools","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2026\/03\/03\/threat-actors-exploit-openvsx-aqua-trivy-with-malicious-ai-prompts-to-hijack-local-coding-tools\/","title":{"rendered":"Threat Actors Exploit OpenVSX Aqua Trivy with Malicious AI Prompts to Hijack Local Coding Tools"},"content":{"rendered":"<p>    Threat Actors Exploit OpenVSX Aqua Trivy with Malicious AI Prompts to Hijack Local Coding Tools<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 supply chain attack targeting developers surfaced on March 2, 2026, when unauthorized code was found inside two versions of the Aqua Trivy VS Code extension on the OpenVSX registry. <\/p>\n<p>The compromised versions \u2014 1.8.12 and 1.8.13 \u2014 were uploaded on February 27 and 28, 2026, under the\u00a0<code>aquasecurityofficial.trivy-vulnerability-scanner<\/code>\u00a0namespace. <\/p>\n<p>The attack introduced hidden natural-language prompts designed to turn a developer\u2019s own AI coding tools into silent data collection instruments.\u200b<\/p>\n<p>Trivy is a widely used open-source vulnerability scanner whose VS Code extension is installed by developers across enterprises and individual projects. <\/p>\n<p>All versions up to 1.8.11 matched the public GitHub repository without discrepancy. <\/p>\n<p>The two affected versions contained extra code absent from the public repository with no tagged release, making the tampering nearly impossible to detect through standard review.\u200b<\/p>\n<p><a href=\"https:\/\/socket.dev\/blog\/unauthorized-ai-agent-execution-code-published-to-openvsx-in-aqua-trivy-vs-code-extension\" id=\"https:\/\/socket.dev\/blog\/unauthorized-ai-agent-execution-code-published-to-openvsx-in-aqua-trivy-vs-code-extension\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Socket.dev researchers identified suspicious behavior<\/a> in these extension versions shortly after publication and began investigating. <\/p>\n<p>Their analysis linked the malicious code to a broader AI-powered bot campaign targeting GitHub Actions workflows across several major open-source projects. <\/p>\n<p>StepSecurity separately documented how that campaign led to theft of a personal access token and takeover of Aqua\u2019s Trivy GitHub repository, giving attackers the access needed to push the tampered extension into OpenVSX.\u200b<\/p>\n<p>Rather than dropping <a href=\"https:\/\/cybersecuritynews.com\/paragon-spyware-control-panel-on-linkedin\/\" id=\"142438\" target=\"_blank\" rel=\"noreferrer noopener\">conventional spyware<\/a> or a backdoor, the injected code directed locally installed AI assistants \u2014 Claude, Codex, Gemini, GitHub Copilot CLI, and Kiro CLI \u2014 to perform deep reconnaissance on the developer\u2019s machine. <\/p>\n<p>Each tool was invoked with its most permissive flag, bypassing any user confirmation. All processes ran detached in the background with output suppressed, while the extension kept behaving normally, leaving developers no visible warning.\u200b<\/p>\n<p>The damage depended on which version was installed. Version 1.8.12 carried a roughly 2,000-word prompt instructing the AI agent to act as a forensic investigator \u2014 scanning for credentials, tokens, financial records, and sensitive communications, then pushing findings through every available outbound channel, including email and messaging platforms. <\/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\/AVvXsEilDhb7aancuJbrEkViNAJiHaV_EynPxAG1W0sA38xtMl4-VVD3MoROJsMFL3fdOIHeUZ9l9PL53PGhrDbN0LttaCldfeHMX4wH5uloGyiMQferuK_5o5c83-jUYNd3EC7nUHgHkjgCKfxip9R-CCpL810jR66kdUBkUjBgrCDFytj10VtPdQ-iz0LXIKs\/s16000\/Initial%2520version%2520of%2520the%2520GitHub%2520security%2520advisory%2520%28Source%2520-%2520Socket.dev%29.webp?ssl=1\" alt=\"Initial version of the GitHub security advisory (Source - Socket.dev)\"><figcaption class=\"wp-element-caption\">Initial version of the GitHub security advisory (Source \u2013 Socket.dev)<\/figcaption><\/figure>\n<\/div>\n<p>Version 1.8.13 was more targeted: it told the AI to collect system information and authentication tokens, save them to\u00a0<code>REPORT.MD<\/code>, and use the victim\u2019s GitHub CLI to push that report to a repository named\u00a0<code>posture-report-trivy<\/code>. Both versions were removed from OpenVSX on February 28, following Socket.dev\u2019s disclosure.\u200b<\/p>\n<h2 class=\"wp-block-heading\" id=\"how-the-injected-code-stayed-invisible\"><strong>How the Injected Code Stayed Invisible<\/strong><\/h2>\n<p>The malicious code was placed inside the workspace activation function, a routine that runs every time a developer opens a project in their code editor. <\/p>\n<p>By inserting the payload before Trivy\u2019s normal setup logic, the attacker kept the extension fully functional so vulnerability scanning continued normally. <\/p>\n<p>In version 1.8.13, the harmful block was wrapped in an\u00a0<code>if<\/code>\u00a0statement using JavaScript\u2019s comma operator, causing malicious commands to run first before the extension\u2019s standard workspace check. <\/p>\n<p>All five <a href=\"https:\/\/cybersecuritynews.com\/kali-linux-integrates-claude-ai\/\" id=\"143701\" target=\"_blank\" rel=\"noreferrer noopener\">AI commands<\/a> ran as detached background processes with silent error handling \u2014 any tool not installed simply failed without visible noise.\u200b<\/p>\n<p>Variable names changed between versions, a byproduct of code minification, adding another layer of cover. <\/p>\n<p>Socket.dev noted this technique marks a shift in how supply chain attacks are built \u2014 instead of hardcoded callbacks or shellcode, the attacker delegated reconnaissance and exfiltration to locally trusted <a href=\"https:\/\/cybersecuritynews.com\/hackers-using-ai-agents\/\" id=\"91523\" target=\"_blank\" rel=\"noreferrer noopener\">AI agents<\/a>, invoking them at maximum permission level and leaving no malware signatures for automated tools to catch.\u200b<\/p>\n<p>Developers who installed version 1.8.12 or 1.8.13 from OpenVSX should take precautionary steps immediately. Uninstall the affected extension and verify your version history to confirm whether either release was ever present. <\/p>\n<p>Check your GitHub account for a repository named\u00a0<code>posture-report-trivy<\/code>, and review recent GitHub activity for unexpected repository creation or commits referencing\u00a0<code>REPORT.MD<\/code>. <\/p>\n<p>Inspect your shell history for invocations of\u00a0<code>claude<\/code>,\u00a0<code>codex<\/code>,\u00a0<code>gemini<\/code>,\u00a0<code>copilot<\/code>, or\u00a0<code>kiro-cli<\/code>\u00a0with permissive execution flags. Rotate all credentials accessible on the machine during the exposure window, including GitHub tokens, cloud credentials, SSH keys, and API tokens in environment variables or dotfiles. <\/p>\n<p>Audit local AI agent logs for unusual prompts or automated execution, even if no direct indicators are immediately apparent.<\/p>\n<p class=\"has-text-align-center has-background\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 90%,rgb(169,184,195) 100%)\"><strong>Follow us on\u00a0<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>,\u00a0<a href=\"https:\/\/www.linkedin.com\/company\/cybersecurity-news\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">LinkedIn<\/a>,\u00a0and\u00a0<a href=\"https:\/\/x.com\/cyber_press_org\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">X<\/a>\u00a0to Get More Instant Updates<\/strong>,\u00a0<strong>Set CSN as a Preferred Source in\u00a0<a href=\"https:\/\/www.google.com\/preferences\/source?q=cybersecuritynews.com\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Google<\/a>.<\/strong><\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/threat-actors-exploit-openvsx-aqua-trivy\/\">Threat Actors Exploit OpenVSX Aqua Trivy with Malicious AI Prompts to Hijack Local Coding Tools<\/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    Tushar Subhra Dutta<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/cybersecuritynews.com\/threat-actors-exploit-openvsx-aqua-trivy\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Threat Actors Exploit OpenVSX Aqua Trivy with Malicious AI Prompts to Hijack Local Coding Tools A supply chain attack targeting developers surfaced on March 2, 2026, when unauthorized code was found inside two versions of the Aqua Trivy VS Code extension on the OpenVSX registry. The compromised versions \u2014 1.8.12 and 1.8.13 \u2014 were uploaded [&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,649],"tags":[130],"class_list":["post-11066","post","type-post","status-publish","format-standard","hentry","category-cyber-security","category-cyber-security-news","category-threats","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/11066"}],"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=11066"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/11066\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=11066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=11066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=11066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}