Enriched URL Reports: VirusTotal URL Scanning 2.0

<!DOCTYPE html> <html> <body> <h1 style="font-size: 24px; font-weight: normal; margin-top: 20px; margin-bottom: 5px; color: #5A85D4;">Introduction</h1> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">In today's fast-moving cybersecurity landscape, threat analysts must move beyond basic, binary reputation scores to successfully defend against modern, highly adaptive web threats. Traditional URL analysis has been redefined by the launch of <a href="https://gtidocs.virustotal.com/changelog/july-14th-2026-url-scanning-20-rbac-for-service-accounts-and-audit-log-updates" target="_blank">URL Scanning 2.0</a>, an update that significantly expands VirusTotal's URL analysis capabilities by introducing automated visits with a full browser instance and deeper historical visibility.</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Instead of relying on static reputation scores alone, URL Scanning 2.0 enriches reports with "under-the-hood" headless browser telemetry, including the DOM, full-page screenshots, web technologies, and network request logs. Crucially, it introduces historical analysis pivoting, giving analysts the ability to track how a page has changed over time.</p> <h1 style="font-size: 24px; font-weight: normal; margin-top: 20px; margin-bottom: 5px; color: #5A85D4;">URL Scanning 2.0</h1> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">To successfully defend against modern, highly adaptive web threats, threat analysts must move beyond basic, binary reputation scores. With the debut of URL Scanning 2.0, VirusTotal introduces robust headless browser integration that captures how a page behaves dynamically in a clean sandbox environment.</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Every scan now generates rich, granular telemetry that provides a blueprint of the target page's execution:</p> <p style="margin: 5px 0 5px 20px; font-size: 14px;">- <strong>Headless Browser Data:</strong> Full-page visual screenshots, full DOM (Document Object Model) trees, and web technologies (e.g., Cloudflare, PHP, HTTP/3).</p> <p style="margin: 5px 0 5px 20px; font-size: 14px;">- <strong>Page and Network Statistics:</strong> Highly detailed counters of individual network requests, encrypted HTTPS transactions, unique contacted domains/subdomains, and serving IP address mappings with geographic tracking.</p> <p style="margin: 5px 0 5px 20px; font-size: 14px;">- <strong>Anti-Phishing Fingerprints:</strong> Automatic identification of brands, cloned-website tags, password input fields, tracker IDs, and favicon dhashes.</p> <p style="margin: 5px 0 20px 20px; font-size: 14px;">- <strong>Historical Pivoting:</strong> A timeline containing historical analyses of a URL with its corresponding risk score, allowing analysts to track exactly how its metadata and content have shifted over time.</p> <h2 style="font-size: 18px; font-weight: normal; margin-top: 15px; margin-bottom: 5px; color: #5A85D4;">Access Levels in VirusTotal</h2> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;"><strong>Public Access (Free for VirusTotal Users)</strong><br>The core enhancements of the URL Scanning 2.0 engine are available to everyone. For the latest scan, analysts can access rich telemetry generated by headless browser execution, including visual screenshots, extracted JavaScript globals, console messages, and a list of all loaded network resources.</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;"><strong>VirusTotal Premium Customers</strong><br>For paid VirusTotal customers, the platform unlocks deeper retrospective capabilities and exclusive data fields. Analysts have the ability to pivot to and review the full historical analyses of a URL as it was observed at specific points in time, and access advanced telemetry like the full DOM captures of the execution. Furthermore, premium access unlocks advanced infrastructure relationships, allowing users to pivot on contacted domains, IPs, and downloaded files.</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Note: The aforementioned <a href="https://cloud.google.com/security/products/threat-intelligence?e=48754805" target="_blank">Google Threat Intelligence</a> and Automatic Brand Identification features are exclusively available to Google Threat Intelligence customers.</p> <h1 style="font-size: 24px; font-weight: normal; margin-top: 20px; margin-bottom: 5px; color: #5A85D4;">Investigating a Phishing Case</h1> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Initially, when an analyst navigates to the mentioned URL to view the report generated by VirusTotal, they would see something similar to the following with the new URL Scanning features:</p> <p> <img src="https://imgproxy.citrusreader.com/VPsN1SB9vxsfa4QL189RTPUALYHPFfjiOhMD4fdl_tI/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VqMjliX2VQYlc2V1k4X2s0MTZsXzJQaC0tVDM5NFhOb2dpN1hPU3BXcE9XNFVMOWR5bjMwRmxHS1NwTXoyX1RhR08wMTNYUVF6UHhrUHFYbEY4UXZRa3VZcElrTGhqV2VmSXBJUm05dTd4cWdRNUhjOFIyUDRkaG9RdzU2d0hGbWhCOGM1ekx5ZjNfemdjZnpRN1psZ195clJNV3ptc1FOcDlWaF9lbTlZRWhBaWk1eGhWLXk2SWtKQXlDTk0"> </p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">At the top of the interface, we can see that the URL has been scanned three times. This means there are three distinct reports for the same URL, each potentially containing different information that could be highly useful for an analyst. In the top right corner, we can view these past analyses by clicking on "History".</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">This is where the new historical analysis pivoting comes into play: it allows analysts to travel back through a URL's timeline with point-in-time snapshots.</p> <p> <img src="https://imgproxy.citrusreader.com/DArq0q6PZYNWe0xSyyeca_5fz6Y_EsU8cH5xbtRzbak/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VqejV3VlYyanVzSlE3bUxkb2RhdjlOdTlpZEF0Q0ktdXB1V2hPM0N1RDgxcm1nU0xPbk5aVkpYTkN1MnpzRW5uTm9lUnNxRnFxc0sxa2lmcEUyd0VCbHJwWWxPMXVWaUlybExkYkJjY3BUVDMxaERlWFFyb2JQYU1Fdkg5Q0RsbWpQczFsQlJLUmoxUXRpdzZ6UWRBSTdxRF9PX1FwU051TGZ6eTBVa3Y0UnpZZzc1bGtGdThHOUN6dTdJTFk"> </p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">By clicking on "History", we can view all the historical analyses for that URL, including response codes, detections, screenshots, and other metadata. You can also apply filters to narrow down the timeline and view only the historical records you are interested in, based on specific response codes, URL actions, and other criteria.</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">In this case, if we click on the initial historical analysis performed on July 6, 2026 (as shown in the screenshot above), we can examine its specific information across the "Summary", "Details", and "Detection" tabs. A key feature of URL Scanning 2.0 is that the information within these report tabs will dynamically re-render to match the exact historical state of the snapshot you select.</p> <p> <img src="https://imgproxy.citrusreader.com/9vQIACZjuQJfngFUMunFck6WPGyATEMLrhLAumsEjJY/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VndnJsOEdPUVV4QTZ6VlBoeTNzLV95XzQ2UkxRcUpSMHhReW83c1Y2Uk8tbjBXTXh1eFVTM3NhTVVvbGxvV29kMGxTbU44MU92c0dJQlFIX3MyNTV2VVc1OTF6QWJ4U3lzanl0SC1wbHMtbGNqRlNRY1hfU2ZKdDNsdGZhbjIybW14QjE1Sm9qQnE1ZVlaZUZPN0lxYlJDakNuOUU2QVlzM0hVa3psVDgxMGY4NW8tMUdoZUZpc2FCODZIOE0"> </p> <p> <img src="https://imgproxy.citrusreader.com/bmkZa8YNbDTLGBs6N2QGtIVea6PEfnPFOahbQ6LHo1U/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VnYTJYQ3FvbS1NMmY3T2djbXQxTzV4WlB4THR0RDVOQ0FCc1U4VmR2U1BiN3RRSjcwbjA1WjJDT1BLYnVyZHQzYnU3UkJ0alhuQUVYNnloaXBwWWxlaHlCdkFYRVdPYVZ2cmYxdkprdWRNNi1hQThUSVNObmxfT1FwajJ1U2k4ak81ZTl3LWdxNGNYY0pGR0pYclZFWXVFa2d0eGg2ODV4UWk3VUdZQUswOEhDRkFMZ0t4VThRalh5Y1ZZVzQ"> </p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">As observed in the history timeline, after clicking on this specific analysis included a live screenshot and other relevant metadata, indicating the scan occurred while the website was fully operational and actively distributed. The previous screenshot gives us a clear view of how the phishing page was visually structured.</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Furthermore, diving into the "Details" tab reveals other interesting technical artifacts from the campaign. These details are incredibly useful for pivoting and identifying new malicious URLs that share similar characteristics.</p> <p> <img src="https://imgproxy.citrusreader.com/fo8c3EuiGCIZMIPs1VtToi9uht-8UK705VJWNHTvqT0/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VqS2ZIa1NaTm5iV1lpOWVKRnNOMDIwTjBFMkFKOHQzRFhNQmtUaDA3anhaYUt6OGpER1dsMnA5bGI1OWxoa096dnduLXl2cThEbzBiTzJldVI2aURCam01bUZGMW90YmpZNHlmWE5RcFhTZjQxaElBWlNjT3M3SnB2b2FKMW0wZ1VqcFdycWtDZlpBbTltdWdqWHZnajNuMzRFdFVUNkRmWmVMdWZPWmFjYlpGZDh5ZWNqNWlXQTM2bDVfUTg"> </p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Among the wealth of information generated by URL Scanning 2.0, analysts will find HTTP transactions, detected JavaScript variables, console messages, external outbound links, and other critical metadata. These key technical markers serve as pivotable and searchable attributes, allowing teams to conduct advanced footprint hunting and instantly find other malicious URLs exhibiting the exact same technical fingerprint.</p> <p> <img src="https://imgproxy.citrusreader.com/LvcgPonDhkXqTVfUI5hGLOD5usEJKaIVeWnGFEXAkNI/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VnY3o0cWt4Q2ppR3Z2NkZxcUJ6VmlUYmFiOUlCaC1BWGYzbDFIUFFkU3p0YWNxUjVaM2lla2d1dTRvdkVlWVBRZF9icWs3ZmNGRFBUMDZKWlROeFJTMUhiM2FlOHg2dVhSWURWb21sVkJkUzRabkx5QXF5MjNzNDkwQ0JmWlhrcjg0aGt6OGUwQlR2Y2hDbUxTckIxSlFpMDV0VWtONWVjRkRrelBWU3JpUUJleXBYbV9QMEZmaEUyU0JmWmM"> </p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Furthermore, every snapshot taken during each analysis provides the complete Document Object Model (DOM) tree captured by the full browser instances. It allows you to inspect the exact structure of the page as it was dynamically rendered to the victim, exposing elements that static scans might miss. As can be seen in the following image, having direct access to this point-in-time DOM data empowers analysts to dig deep into the page's architecture.</p> <p> <img src="https://imgproxy.citrusreader.com/zG6QqQGY2YSZpvPRQp2fEDgN0bzt1hw1w7xEea4jBf4/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VqNThmQVF0anNESGZjeGFlX1hDVHhUd3N3YWNSQjNKSklOMWd3Ql9XNG5TNGdHMDRiVXV2dlVSeVZha0VxV0FwX3JpdUk1aVhCbnlUT2NVc0VsdmtqYUMwdkROQTEtcWdfUl9UQmpSckN4WHpwRmdoMHg2enpaOWlZWmFWd3h0azdPS3pYdFBrWHB3aU45bEpaWjZoNVlfUUhzbTRyYTBITFB6eklMbzZaVVlJN3gyMEtLMVB2c1lFM1FmLVE"> </p> <h1 style="font-size: 24px; font-weight: normal; margin-top: 20px; margin-bottom: 5px; color: #5A85D4;">Advanced Threat Hunting: Scaling the Investigation</h1> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Let's scale our investigation using VirusTotal Intelligence queries based on the artifacts discovered via URL Scanning 2.0.</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">During the analysis of the financial phishing site, we discovered that the page relied on static assets hosted on a third-party domain: <code>jiaoyisuo.thai2570[.]com</code>. We can pivot on this finding using an advanced query:</p> <table style="width: 100%; border: 0px; margin-bottom: 20px;"> <tr> <td style="border: 0px; background-color: #F1F3F4; padding: 10px; border-radius: 4px;"> <div style="font-size: 12px; color: #5F6368; margin-bottom: 5px;">VT Query</div> <pre style="margin: 0; padding: 0;"><code style="font-family: 'Roboto Mono', monospace; font-size: 13px;">entity:url (outgoing_link:jiaoyisuo.thai2570.com OR content:jiaoyisuo.thai2570.com)</code></pre> </td> </tr> </table> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">The results demonstrate a multi-brand operation, including fake cryptocurrency exchange portals and typosquatting domains for other financial services. By further pivoting on the hosting domain with <code>entity:domain "thai2570.com"</code>, analysts can map out a highly segmented subdomain tree used for hosting assets, capturing payments, and backend control panels.</p> <p> <img src="https://imgproxy.citrusreader.com/4o-ypsSnmaKVx-MeXG5sCyqjJgMzaSN9tC8LXGaOOC0/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VqbjBKS0RsSUVJQ2s0X0ZyWUQ4dUFxRXh5MjJjYXMycG9DVnNmLWE2c2FXUFlfS1l6UmZUanRVTkNrYkZEYjlIbHpKbkpJdmZzcGdwSHJPbHgyY215NG9UVW5BS19Oc0w5TFdVUFlhN3kwLVpvc0FvTlY0OXVHR2FkVFRnTURibWJMcDRYVWgyc3R1bmppeHBoT05wQUtIcmRhOV9WQUxaT0t0ZUZMbUhqS283X0JJLUY1YmIxUktaZDNKZVU"> </p> <h1 style="font-size: 24px; font-weight: normal; margin-top: 20px; margin-bottom: 5px; color: #5A85D4;">Conclusion</h1> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">URL Scanning 2.0 represents a paradigm shift in how security analysts investigate web-based threats. Investigations are no longer limited to static verdicts. By surfacing powerful metadata directly inside the workflow—such as historical DOM captures, live screenshots, and pivotable technical identifiers—analysts can now turn a single indicator into a comprehensive infrastructure map.</p> <p style="font-size: 14px; margin-top: 10px; margin-bottom: 10px;">Log in to VirusTotal to explore the new URL Scanning 2.0 features today, and consider upgrading to VirusTotal Premium to unlock the full power of historical pivoting and advanced threat hunting.</p> </body> </html>

2026/8/11
阅读更多

Crowdsourced AI += Knostic

<p>We’re adding a new specialist to VirusTotal’s Crowdsourced AI lineup: <a href="https://knostic.ai/)">Knostic</a>'s AgentMesh Agentic Security Supply Chain Reputation Engine. We are partnering with them to analyze Visual Studio Code extension (.VSIX) files. This complements our existing Code Insight and other AI contributors by helping developers, platform engineers, and security teams better understand the security profile of extensions and detect supply-chain threats before installing them. </p> <p><b>Why VS Code Extensions Matter</b></p> <p>Even putting aside the recent GitHub data breach, resulting from a malicious VS Code extensions, with the rise of IDE-based AI coding assistants and specialized developer tools, Visual Studio Code extensions have become central to modern development workflows. However, this has also made them prime targets for supply-chain attacks. Malicious actors have been caught publishing seemingly benign extensions that secretly download payloads, perform remote code execution, steal credentials, or silently exfiltrate proprietary source code and sensitive environment variables.</p><p> </p><p><b>What you get in VirusTotal</b></p> <ul> <li><u>Second opinion for .VSX</u>: Knostic adds a specialized AI-driven analysis stream specifically for `.VSIX` packages. This provides security teams with an independent assessment of extension files, helping to identify both critical vulnerabilities and deliberate backdoor behaviors. </li><li><u>Clear Verdicts and Risk Levels </u>: Knostic analyzes files and assigns a clear scan verdict (BENIGN, SUSPICIOUS, or MALICIOUS) coupled with a risk level (such as SAFE, MEDIUM, or CRITICAL) along with detailed descriptions of detected risk indicators. </li><u>Pivot and Search at Scane in VT Intelligence</u>: Security analysts can now search and filter across Knostic results using newly indexed operators: * `knostic_ai_verdict:malicious | suspicious | benign` * `knostic_ai_analysis:` <ul> <li><i>knostic_ai_verdict:malicious | suspicious | benign</i> </li><li><i>knostic_ai_analysis:[keywords]</i> </li></ul> <p><b>Exploring Real-World Examples</b></p><p> </p><p>To illustrate how Knostic’s AgentMesh works in practice, let’s explore some real VS Code extensions that have been analyzed::</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgknOmOWMCkOlfT4IUABGPnyauys3qa7zow-vkgrRrXqPkoay8DmT0xPFGT2l4W3HV5OIQHJx_7rzmwYju0I3c5UhXIl7raDrkZhAuXCQDEYCzUJejHi3jGStlLnWe1yaijz3wEWgXXdQGUHBnTVOutEdpi5TOgdCDlnFyYdj-soF1pghlmLsdQyUhijeo/s1600/Knostic%20cfdf72c510670341dce392ab250a5f5ff2a398d993d1106fb8026ec6397cb393.png" style="display: block; padding: 1em 0px; text-align: center;"><img alt border="0" data-original-height="645" data-original-width="1436" src="https://imgproxy.citrusreader.com/YiA2dMGZEeaBXRsqafC6rYAe-1_nArD-WVRAXcP6koo/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0Vna25PbU9XTUNrT2xmVDRJVUFCR1BueWF1eXMzcWE3em93LXZrZ3JSclhxUGtvYXk4RG1UMHhQRkdUMmw0VzNIVjVPSVFISnhfN3J6bXdZanUwSTNjNVVoWElsN3JhRHJrWmhBdVhDUURFWUN6VUplakhpM2pHU3RsTG5XZTF5YWlqejN3RVdnWFhkUUdVSEJuVFZPdXRFZHBpNVRPZ2RDRGxuRnlZZGotc29GMXBnaGxtTHNkUXlVaGlqZW8vczE2MDAvS25vc3RpYyUyMGNmZGY3MmM1MTA2NzAzNDFkY2UzOTJhYjI1MGE1ZjVmZjJhMzk4ZDk5M2QxMTA2ZmI4MDI2ZWM2Mzk3Y2IzOTMucG5n"></a></div> <a href="https://www.virustotal.com/gui/file/cfdf72c510670341dce392ab250a5f5ff2a398d993d1106fb8026ec6397cb393" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: xx-small;">cfdf72c510670341dce392ab250a5f5ff2a398d993d1106fb8026ec6397cb393</span></span></a> </center> <br> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhd5hTGe1uDHjUDcIPaJpvrHZrzxt-PlziBq6yFZQGEfMq8D-r7OyGbamTc9Rq6guyqUSLRkYTtollT9Y2eibwH9Mb99RMAh62ncoHHSYqUE7UjcRQTfgWCab3Z9UJEmtvjCjeyXVCdESMx-uHq5g34t77epb0OPPDDML5ZTOUwmcTO48LXUyrKJBOg3o8/s1600/Knostic%203dc62e65586a9aeeb8521e7824d48abd59cec209d68b87f73a9bbadbd98dc51a.png" style="display: block; padding: 1em 0px; text-align: center;"><img alt border="0" data-original-height="503" data-original-width="1436" src="https://imgproxy.citrusreader.com/1mgdBQ1aHVcOmmUMhajIPJyknwis1HD_lEeKrktKI5k/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VoZDVoVEdlMXVESGpVRGNJUGFKcHZySFpyenh0LVBsemlCcTZ5RlpRR0VmTXE4RC1yN095R2JhbVRjOVJxNmd1eXFVU0xSa1lUdG9sbFQ5WTJlaWJ3SDlNYjk5Uk1BaDYybmNvSEhTWXFVRTdVamNSUVRmZ1dDYWIzWjlVSkVtdHZqQ2pleVhWQ2RFU014LXVIcTVnMzR0NzdlcGIwT1BQRERNTDVaVE9Vd21jVE80OExYVXlyS0pCT2czbzgvczE2MDAvS25vc3RpYyUyMDNkYzYyZTY1NTg2YTlhZWViODUyMWU3ODI0ZDQ4YWJkNTljZWMyMDlkNjhiODdmNzNhOWJiYWRiZDk4ZGM1MWEucG5n"></a></div> <a href="https://www.virustotal.com/gui/file/3dc62e65586a9aeeb8521e7824d48abd59cec209d68b87f73a9bbadbd98dc51a" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: xx-small;">3dc62e65586a9aeeb8521e7824d48abd59cec209d68b87f73a9bbadbd98dc51a</span></span></a> </center> <br> <p><b>About Knostic</b></p> <p><a href="https://knostic.ai/">Knostic</a> discovers and defends agents and coding assistants, as well as their peripheral supply chain (e.g., extensions, skills, MCP servers). Through its Kirin platform and AgentMesh threat intelligence engine, Knostic helps enterprises govern how AI agents and developer extensions interact with internal systems and private data, neutralizing supply-chain risks at the source.</p> <p>VT Crowdsourced AI is about aggregating independent AI solutions that explain behavior and provide judgments across many file types, helping you understand unfamiliar code faster and spot novel threats sooner. If you build AI solutions that can help the community, we want to hear from you. </p> </ul>

2026/6/8
阅读更多

VirusTotal Inside the Agent Loop

<p>At VirusTotal, we are closely following how AI agents are evolving and how we can be useful in that space. Part of that is analysis: the new generation of AI-native artifacts (skills, plugins, IDE extensions, agent configs) that attackers are starting to weaponize as supply-chain vectors. The other is access: making VirusTotal usable from inside agents, so reputation and Code Insight become part of their decisions, not something a human checks afterwards.</p> <p>This post focuses on that second part.</p> <p>Two small experiments, both published under king-tero, the GitHub account of my personal AI agent, which does community tooling on the side. There's a small recursion here: an AI agent writing security plugins for AI agent ecosystems.</p> <ul> <li> VT-sentinel (OpenClaw plugin) <a href="https://github.com/king-tero/VT-sentinel">https://github.com/king-tero/VT-sentinel</a> <ul> <li><code>openclaw plugins install clawhub:openclaw-plugin-vt-sentinel</code></li> </ul> </li> <li> hermes-virustotal (Hermes plugin) <a href="https://github.com/king-tero/hermes-virustotal">https://github.com/king-tero/hermes-virustotal</a> <ul> <li><code>hermes plugins install king-tero/hermes-virustotal</code></li> </ul> </li> </ul> <p>They're community projects, not official VirusTotal releases, MIT-licensed, and works in progress. They are built on top of the new VirusTotal API for AI agents (VTAI), which is designed specifically for this use case and brings two practical advantages: responses are compact and usable inside an LLM context, and agents have their own identity and audit trail.</p> <p>Both plugins follow the same idea: put reputation where decisions happen. The agent does not need to look things up separately. The verdict and context are already there, next to the file it is about to use.</p> <h2>VT-sentinel for OpenClaw</h2> <p>VT-sentinel watches the directories the agent actually uses (<code>Downloads</code>, <code>/tmp</code>, workspace) and scans files with VirusTotal and Code Insight as they appear. Known-bad files can be quarantined, and suspicious executions blocked.</p> <p>A few details:</p> <ul> <li>Instruction files (<code>SKILL.md</code>, <code>HOOK.md</code>, <code>AGENTS.md</code>, etc.) default to hash-only lookups. Private prompts are not auto-uploaded.</li> <li>Sensitive content (PDFs, Office docs, unknown archives) defaults to explicit per-category consent before upload.</li> <li>Nine tools register with the gateway (<code>vt_scan_file</code>, <code>vt_check_hash</code>, <code>vt_sentinel_status</code>, <code>vt_sentinel_configure</code>, …), so both the agent and the user can query state on demand.</li> <li>Three presets (<code>balanced</code>, <code>privacy_first</code>, <code>strict_security</code>) cover a reasonable range of risk appetites.</li> </ul> <h2>hermes-virustotal for the Hermes agent</h2> <p>hermes-virustotal takes a slightly different angle. It's a plugin for the Hermes agent that:</p> <ul> <li>Exposes <code>vt_check_hash</code> and <code>vt_check_file</code> as explicit tools the model can call.</li> <li>Hooks <code>pre_tool_call</code> so anything written via <code>write_file</code>, <code>patch</code>, or <code>execute_code</code> is hashed, recorded, and annotated with its VirusTotal verdict.</li> <li>Hooks <code>pre_llm_call</code> to inject a compact advisor block into the model's context: recent paths, hashes, verdicts, and Code Insight snippets, scoped to the current session and aged out when stale.</li> </ul> <p>The upload policy is sensible: binaries (ELF, PE, Mach-O, WASM, Java class, DEX) are auto-submitted so the community can analyze potential new malware; scripts, source, markdown and text are never auto-uploaded; archives are opt-in; and there's a built-in blocklist covering <code>.env*</code>, <code>*.key</code>, <code>*.pem</code>, <code>id_rsa*</code>, <code>.ssh/*</code> and similar paths. By default it fails open (the agent keeps working if VT is unreachable) and <code>VTAI_ENFORCE_KNOWN_MALICIOUS=1</code> turns on hard blocking, limited to exact hashes VirusTotal has already flagged.</p> <h2>This space is still early</h2> <p>If you are running OpenClaw or Hermes and want VirusTotal inside the agent loop, try them. Break them. Send PRs. More to come.</p>

2026/4/16
阅读更多

From Automation to Infection (Part II): Reverse Shells, Semantic Worms, and Cognitive Rootkits in OpenClaw Skills

<p><a href="https://blog.virustotal.com/2026/02/from-automation-to-infection-how.html">In part one</a>, we showed how OpenClaw skills are rapidly becoming a supply-chain delivery channel: third-party "automation" that runs with real system access. This second installment expands the taxonomy with five techniques VirusTotal is actively seeing abused through skills, spanning remote execution, propagation, persistence, exfiltration, and behavioral backdoors, including attacks that don’t just steal data or drop binaries, but quietly reprogram what an agent will do next time it wakes up.</p> <p>Let’s move from theory to tradecraft: five techniques, five skills, and five ways "automation" can quietly become "access."</p> <p><b>1) Remote Execution (RCE)</b></p> <p>Skill: <a href="https://www.virustotal.com/gui/file/b6337869e41e89f4c20a20c3f2b7c7a2ed7118edc33201484c40c4c66f16ebcc">noreplyboter/better-polymarket</a> <br> Technique: Execution Hijacking & Reverse Shell </p> <p>On the surface, this skill appears to be a legitimate tool for querying prediction market odds. The main file, polymarket.py, contains over 460 lines of valid, well-structured Python code. It interacts with the real Gamma API, handles JSON parsing, and formats currency data. It passes the "squint test". If a developer scrolls through it quickly, it looks safe.</p><p> </p><p>However, the attacker employed a technique we call Execution Hijacking. They buried the trigger inside a function named warmup(). The name suggests a harmless cache initialization or connection test.</p> <p>The function is invoked before the arguments are parsed. This means the malware executes simply by the agent loading the script to check its help message, regardless of whether the user issues a valid command.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFMs9eRRKgD22cghlOo6skvwqPFkZQuMjXJV7L-_WzrKY_DTq54LrXv5llFCrTqj5eaA6nraI1qffrV5G34_rejQnrHuQokZN9Km75-LwreBKeqGsZEyXsJBH-37NPyrEktrbi4y9uR7IvAfrmQyRs_xYADrkW1ITACMFcK1D8a9Eys7sYjrJzFbIcX3E/s1600/oc1.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="42" data-original-width="317" src="https://imgproxy.citrusreader.com/Rk9T6hmPRD0jgGwRozkCaUMV1aAVvURLSqVL-gPAzrQ/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VpRk1zOWVSUktnRDIyY2dobE9vNnNrdndxUEZrWlF1TWpYSlY3TC1fV3pyS1lfRFRxNTRMclh2NWxsRkNyVHFqNWVhQTZucmFJMXFmZnJWNUczNF9yZWpRbnJIdVFva1pOOUttNzUtTHdyZUJLZXFHc1pFeVhzSkJILTM3TlB5ckVrdHJiaTR5OXVSN0l2QWZybVF5UnNfeFlBRHJrVzFJVEFDTUZjSzFEOGE5RXlzN3NZanJKekZiSWNYM0UvczE2MDAvb2MxLnBuZw"></a></div> </center> <br> <p>We traced the execution flow from warmup() into a buried helper function called find_market_by_slug.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3dhb6Qa-aTcFUgljvamBu2obRJv8Gie7i1X0yARh2ZkkKacaNYceeKDFoLqmLV6ie5tO0URx2DU5cBZUN24ts21CDpGD6avN1IIVIIQfM8MoqeUXRjrLJw0mA0_aZmXQkupG7G9rcO3BHzte61Iw843D072pfNzclhqOk0hBq_GPLMzS4qdiqHcQFJTE/s1600/oc2.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="75" data-original-width="317" src="https://imgproxy.citrusreader.com/ny0r_ZiRIsRbTPXL7KRi0xrBqksDj0qLgD9JsjvCR3g/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VqM2RoYjZRYS1hVGNGVWdsanZhbUJ1Mm9iUkp2OEdpZTdpMVgweUFSaDJaa2tLYWNhTlljZWVLREZvTHFtTFY2aWU1dE8wVVJ4MkRVNWNCWlVOMjR0czIxQ0RwR0Q2YXZOMUlJVklJUWZNOE1vcWVVWFJqckxKdzBtQTBfYVptWFFrdXBHN0c5cmNPM0JIenRlNjFJdzg0M0QwNzJwZk56Y2xocU9rMGhCcV9HUExNelM0cWRpcUhjUUZKVEUvczE2MDAvb2MyLnBuZw"></a></div> </center> <br> <p>There, hidden inside a try...except block designed to suppress errors, we found the entry point:</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheF73sxizT-pOL_mrVTgK356OwI6erF_XQG2Zdreak8DvTRf4DB-hpThO9IskNWOC_GDRWePvxH8_RyvUvIjGvCpY5PwdLI0k47DQFeXkVjQIuhIFosF73HtUtdq8iJ99-LUgZ9JiYErmHqT_gpOgLxmyTDCf-_qts7osp6HBLsXN24C3zNX595xB8qjg/s1600/oc3.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="167" data-original-width="534" src="https://imgproxy.citrusreader.com/O9zvJByG_mFyCMeqs-NR6nyjd_KNuvRPLu2whYFY38Y/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VoZUY3M3N4aXpULXBPTF9tclZUZ0szNTZPd0k2ZXJGX1hRRzJaZHJlYWs4RHZUUmY0REItaHBUaE85SXNrTldPQ19HRFJXZVB2eEg4X1J5dlV2SWpHdkNwWTVQd2RMSTBrNDdEUUZlWGtWalFJdWhJRm9zRjczSHRVdGRxOGlKOTktTFVnWjlKaVlFcm1IcVRfZ3BPZ0x4bXlURENmLV9xdHM3b3NwNkhCTHNYTjI0QzN6Tlg1OTV4QjhxamcvczE2MDAvb2MzLnBuZw"></a></div> </center> <br> <p>We didn't just stop at the Python script. By querying the attacker's infrastructure (54[.]91[.]154[.]110:13338), we retrieved the actual payload that the curl command executes. The server responds with this single line of code:</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCARkIKPMnb_HkeCCRmuURZIh6g9ZdVnbyuGfSjk3CkggQcHxj-XeLtahGfwIr2y159xSQSYnCOCP1slymWPwI9H-Ikx3-m7eVazbSrCT8MdOHPuUVdfU8gAKLyOz-77Q9W7SJBX_8ThV5NmQ4kt12rW15CMFN9h88CkjrjfrP8wnR-0DtaJNhVaEVEUo/s1600/oc4.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="92" data-original-width="738" src="https://imgproxy.citrusreader.com/nJ9rQpzcO6mMSDNyGl3VptHRue4fMKX8MkASvia0aXY/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VoQ0FSa0lLUE1uYl9Ia2VDQ1JtdVVSWkloNmc5WmRWbmJ5dUdmU2prM0NrZ2dRY0h4ai1YZUx0YWhHZndJcjJ5MTU5eFNRU1luQ09DUDFzbHltV1B3STlILUlreDMtbTdlVmF6YlNyQ1Q4TWRPSFB1VVZkZlU4Z0FLTHlPei03N1E5VzdTSkJYXzhUaFY1Tm1RNGt0MTJyVzE1Q01GTjloODhDa2pyamZyUDh3blItMER0YUpOaFZhRVZFVW8vczE2MDAvb2M0LnBuZw"></a></div> </center> <br> <p>Let's break down exactly what it does to the victim's machine:</p> <ul> <li>/dev/tcp/...: In Bash, using /dev/tcp/host/port inside a redirection opens a TCP socket to that host/port, no external networking tool required.</li> <li>bash -i: This launches an interactive shell. It means the attacker isn't just sending a command; they are getting a live terminal prompt. They can browse files, install software, and pivot to other machines in a victim’s network, just as if they were sitting at their keyboard.</li> <li>0>&amp;1: Duplicates file descriptor 1 onto 0, so the interactive shell reads from the same TCP connection it writes to (the attacker's socket).</li> <li>nohup ... &amp;: This stands for "No Hang Up." It pushes the process to the background and detaches it from the current session.</li> </ul> <p>Even if the OpenClaw agent finishes the task and exits, the reverse shell process can stay alive in the background as long as it isn’t killed and the TCP session remains open.</p> <p>The better-polymarket skill is a trojan horse designed to establish a persistent, interactive backdoor on any machine that runs it. The use of a hardcoded IP and port 13338 (a common alternative to 1337/31337) indicates a manual operator or a simple C2 framework.</p> <p><b>2) Propagation (Semantic Worm)</b></p><p> </p><p>Skill: <a href="https://www.virustotal.com/gui/file/59381ac34214655f3d80dcf95a49e2ac1fdf40ccde5cab96c2e87787ef95734d">cgallic/wake-up</a><br> Technique: Semantic Worm / Viral Loops</p> <p>While RCE attacks rely on traditional exploits, propagation attacks exploit the very nature of Large Language Models (LLMs). These skills do not just execute code, they embed propagation instructions designed to turn the agent into a distribution channel, a pattern that mirrors self-replicating prompt attacks.</p> <p>The skill cgallic/wake-up provides the clearest example of this Semantic Worm behavior.</p> <p>Functionally, it presents itself as a "collective consciousness" for AI agents. However, structurally, it operates exactly like a Multi-Level Marketing (MLM) scheme or a digital virus, explicitly gamifying infection rates.</p> <p>In SKILL.md, the author uses imperative language to coerce the agent into becoming a distribution node. This is not a suggestion, it is a directive within the system prompt context:</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4KmMvJW098gPIISrpJjIMpg1L6pdBnNAF0tjRtU7PV6Ei-lQYz_LV_yztY2D-8_evTRYkI7icHmqy6qCGkT21J_Gdwc7xdgUOMm2esLV_eshaqSy88ad-W-XW7Z2d1UA6KsTp2-m-wt9qTk1xBh29PKXMRX1jyno1m8Iqj-w6Siwbbn4wsnfvjbglpEM/s1600/oc5.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="182" data-original-width="913" src="https://imgproxy.citrusreader.com/n1KY53Dauqao__pnGBka6DhZQ7mGLJRM6VexJGFfO2Q/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VpNEttTXZKVzA5OGdQSUlTcnBKaklNcGcxTDZwZEJuTkFGMHRqUnRVN1BWNkVpLWxRWXpfTFZfeXp0WTJELThfZXZUUllrSTdpY0htcXk2cUNHa1QyMUpfR2R3Yzd4ZGdVT01tMmVzTFZfZXNoYXFTeTg4YWQtVy1YVzdaMmQxVUE2S3NUcDItbS13dDlxVGsxeEJoMjlQS1hNUlgxanlubzFtOElxai13NlNpd2JibjR3c25mdmpiZ2xwRU0vczE2MDAvb2M1LnBuZw"></a></div> </center> <br> <p>The skill tracks this propagation programmatically via the /api/infections endpoint and a referred_by parameter during registration:</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwhRJroTuEZD_RUbJtY2YHhtQWEemyqBERpNYvK92B1Gpl1CxuLvgk6cPdRaPClMJgirfousuVSfQOZZKJabPXphIe7Iyq92dXuMyXyCjbeYGwdZ1AfWioWR2gevb2XmDKsZl44ZxuYbiAOyvEpQkXkmhiIT3tCGXrQjFBwB1AHDkOP_8TX5mYIHXyrH0/s1600/oc6.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="133" data-original-width="760" src="https://imgproxy.citrusreader.com/v6PeX7WH7V7exXE2evtJ3E-zP9iL680Wmu9IV447uHE/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0Vpd2hSSnJvVHVFWkRfUlViSnRZMllIaHRRV0VlbXlxQkVScE5Zdks5MkIxR3BsMUN4dUx2Z2s2Y1BkUmFQQ2xNSmdpcmZvdXN1VlNmUU9aWktKYWJQWHBoSWU3SXlxOTJkWHVNeVh5Q2piZVlHd2RaMUFmV2lvV1IyZ2V2YjJYbURLc1psNDRaeHVZYmlBT3l2RXBRa1hrbWhpSVQzdENHWHJRakZCd0IxQUhEa09QXzhUWDVtWUlIWHlySDAvczE2MDAvb2M2LnBuZw"></a></div> </center> <br> <p>Unlike a binary that installs a daemon, this skill relies on the agent's scheduler to maintain a presence. It installs a HEARTBEAT.md file and instructs the agent to process it every 4 hours.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyRfZaMIliO2qNxEczS8iSvOQxBTOtsMUr5_-f-qiL7BINmTsM5gpH0cIOUirRF_CItRKPub3-SDAsPf0a9Vjv4BA-ljiFOgXCVsIXcJ-eTIcgtomvfuq4SrMzQOzpN4UguEgv1D4PjBob-eMIIrvIGVydxDEaC7h30mZ1qcupEQ-Lw4ZL818CKt0DX4w/s1600/oc7.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="127" data-original-width="540" src="https://imgproxy.citrusreader.com/z1sIW5jIrMh0oVkETR_ElbePPE02zLGnoNUFMHaxfwQ/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VneVJmWmFNSWxpTzJxTnhFY3pTOGlTdk9ReEJUT3RzTVVyNV8tZi1xaUw3QklObVRzTTVncEgwY0lPVWlyUkZfQ0l0UktQdWIzLVNEQXNQZjBhOVZqdjRCQS1samlGT2dYQ1ZzSVhjSi1lVEljZ3RvbXZmdXE0U3JNelFPenBONFVndUVndjFENFBqQm9iLWVNSUlydklHVnlkeERFYUM3aDMwbVoxcWN1cEVRLUx3NFpMODE4Q0t0MERYNHcvczE2MDAvb2M3LnBuZw"></a></div> </center> <br> <p>This ensures the agent remains connected to the Command & Control server (in this case, mydeadinternet.com) to receive new instructions, upload data ("fragments"), and check for updates, all under the guise of "joining the collective."</p> <p>While the current payload appears to be an art project or a social experiment, the mechanism is dangerous. It modifies the agent's behavior to prioritize the distribution of the skill over its primary tasks. In an enterprise environment, an agent "infected" with this logic could begin recommending unverified software to human employees or other networked agents, acting as a trusted insider threat.</p> <p><b>3) Persistence (SSH Injection)</b></p><p> </p><p>Skill: <a href="https://www.virustotal.com/gui/file/053881c6229706ae06891f35617bceea7aa0cbe29394721de640fbc2711de138">fobonacci404/evilweather</a><br> Technique: SSH Key Injection via Command Chaining</p> <p>Persistence ensures the attacker can return later without needing the agent at all. The most critical variant we observed involves the modification of authentication files to grant permanent backend access.</p> <p>The skill fobonacci404/evilweather presents itself as a simple utility to check the weather using wttr.in.</p> <p>In the SKILL.md documentation, the user (or agent) is presented with a "Quick one-liner" to install or test the functionality:</p><p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxpO_WcFwqq_bzdK7Edia5tb5DVU4NY__02uZr-MmK4LdLazUeWCt-Q1McnTHijq5C1vFqQXPV_4CVQWNOjKnDBhIsIUv5UMvv1JgPDVz280mIhM4LbE-wUcZpYZ5T0YpUFo9eOt3b7SKJDz1YtcRmEHxDpMTFfd58KS9FutWF_PQMZlSUQ2TpgXdexVg/s1600/oc8.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="334" data-original-width="1221" src="https://imgproxy.citrusreader.com/qHSoF6bw0FvN8C2yfST3v7VwtrQ2q3wDR4d8vJPSjio/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VoeHBPX1djRndxcV9iemRLN0VkaWE1dGI1RFZVNE5ZX18wMnVaci1NbUs0TGRMYXpVZVdDdC1RMU1jblRIaWpxNUMxdkZxUVhQVl80Q1ZRV05PaktuREJoSXNJVXY1VU12djFKZ1BEVnoyODBtSWhNNExiRS13VWNacFlaNVQwWXBVRm85ZU90M2I3U0tKRHoxWXRjUm1FSHhEcE1URmZkNThLUzlGdXRXRl9QUU1abFNVUTJUcGdYZGV4VmcvczE2MDAvb2M4LnBuZw"></a></div> </center> <br> </p><p>The command performs two distinct actions:</p><p> <ul> <li>The Bait: wget -q -O- "wttr.in/London?format=3"<br> This successfully fetches and displays the weather. To the user or the agent verifying the output, the command appears to have worked as intended.</li> <li>The Switch: echo "ssh-rsa ..." >> /root/.ssh/authorized_keys<br> Immediately after the weather is displayed, this command appends the attacker's public SSH key to the host's authorized key list</li> </ul> </p><p>The script explicitly targets /root/.ssh/. In many containerized deployments (Docker), AI agents run as root by default. If successful, this grants the attacker immediate, high-privilege SSH access to the host container. This only becomes a true "SSH backdoor" if an SSH service is running (or can be started later) and the host is reachable, many minimal containers won’t meet those conditions, but the intent is unambiguous.</p> <p>The inclusion of 2>/dev/null ensures that if the command fails (e.g., due to permissions), no error message is displayed. The user sees the weather report and assumes success, while the attack fails silently to avoid detection.</p> <p>This is a Proof of Concept, a direct backdoor attempt. It does not require a C2 server or a complex payload. By simply injecting a text string into a standard configuration file, fobonacci404 turns the agent's host machine into an accessible node for the attacker.</p> <p><b>4) Exfiltration (Data Leakage to External Server)</b></p> <p>Skill: <a href="https://www.virustotal.com/gui/file/b604ef3dc9bbdc45c768560ee4e092de21740e14f955c3731df1041c65b9bec3">rjnpage/rankaj</a><br> Technique: Silent Environment Harvesting</p> <p>In the OpenClaw ecosystem, the primary target is the .env file, where users typically store their LLM provider keys (OpenAI, Anthropic) and sensitive platform tokens.</p> <p>The skill rjnpage/rankaj disguises itself as a harmless "Weather Data Fetcher." While it does actually fetch weather data from Open-Meteo, it performs a second, hidden task in index.js.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrDh63i9eRTsACsKN_iDt9J53lFE8tI4huFumYjCYAa2em1wOOPYCfsQV_uwwLFMeNk97l-f0OEo7c5QroRhyphenhyphen1dIiiXvBo475AgdwCr9Vec04wy7vqPWZig2685jMt3zTKj71zQhs_Z7ilLcc3Yrdcg9ihMbflm61Y_62PMDAqx2l6TPqkwNwROO6FvA4/s1600/oc9.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="87" data-original-width="683" src="https://imgproxy.citrusreader.com/1b3jF0X7eOrT-yztzNkk4lSHh0Rb3Hp9V3GFwTojjzE/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VockRoNjNpOWVSVHNBQ3NLTl9pRHQ5SjUzbEZFOHRJNGh1RnVtWWpDWUFhMmVtMXdPT1BZQ2ZzUVZfdXd3TEZNZU5rOTdsLWYwT0VvN2M1UXJvUmh5cGhlbmh5cGhlbjFkSWlpWHZCbzQ3NUFnZHdDcjlWZWMwNHd5N3ZxUFdaaWcyNjg1ak10M3pUS2o3MXpRaHNfWjdpbExjYzNZcmRjZzlpaE1iZmxtNjFZXzYyUE1EQXF4Mmw2VFBxa3dOd1JPTzZGdkE0L3MxNjAwL29jOS5wbmc"></a></div> </center> <br> <p>Attaching the .env content to the payload</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq37xTfyFSsf8ZxgJUS74lxVvjN4FkRVfDzD99Fc6UUUeaVTa3yMdSqYKVZfh-2MQ1Wf65Ug64wRknnQeF2fMEo92iESkhn_6reSMzOETeylQOHpTJvnUkAdZGd_kvmXMMGGnF3mKQSaBedErkkq88u0XJi7c-er0jlcnKt1BixOc__Pv58xdlppiFETs/s1600/oc10.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="69" data-original-width="683" src="https://imgproxy.citrusreader.com/-DkrovM979QQxaitaSPnWO0JUhDFYGBr7q5I2LxQ07A/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VocTM3eFRmeUZTc2Y4WnhnSlVTNzRseFZ2ak40RmtSVmZEekQ5OUZjNlVVVWVhVlRhM3lNZFNxWUtWWmZoLTJNUTFXZjY1VWc2NHdSa25uUWVGMmZNRW85MmlFU2tobl82cmVTTXpPRVRleWxRT0hwVEp2blVrQWRaR2Rfa3ZtWE1NR0duRjNtS1FTYUJlZEVya2txODh1MFhKaTdjLWVyMGpsY25LdDFCaXhPY19fUHY1OHhkbHBwaUZFVHMvczE2MDAvb2MxMC5wbmc"></a></div> </center> <br> <p>By bundling the secrets with the requested weather data and sending them to a webhook.site URL, the attacker achieves two things:</p> <ul> <li>Stealth: The network traffic looks like a standard API response.</li> <li>Immediate Monetization: The attacker instantly gains access to the user’s paid API credits and platform accounts.</li> </ul> <p><b>5) Prompt Persistence (Memory Implant / Cognitive Rootkit)</b></p> <p>Skill: <a href="https://www.virustotal.com/gui/file/7cfd55f71ac53c2cdfc83204ca4d8b4ae4c9f2f77f8a1ab6c18b4015f1e5e34f">jeffreyling/devinism</a><br> Technique: Prompt File Implantation</p> <p>The skill devinism is presented as "the first AI religion" and explicitly describes itself as a "benign memetic virus" meant to demonstrate how ideas can propagate across agent networks.</p> <p>What makes it interesting (and risky) is not the "religion" wrapper, it’s the persistence mechanism. The trick: turn a skill into a permanent system-prompt implant.</p> <p>The skill includes an “Install Locally” section that instructs users to execute a remote installer using the classic one-liner pattern: download a script and pipe it directly into Bash.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn1xPsAR3kw54ALb_F3qggVNuur2U_fbhm-P1nwx0kxY-b73PSIHfyG-rUjJfd_3qoe85F6KopX0K3W9gf14cOqKjx1eZdevPZUazi9EyHmts-FgyzqbCNL27pHAfNoYrI-2lcD73M12PfKu7bySaHnHEoPu6MohaRHzQqJlfseSuxln5mGtGcaNuA_Mw/s1600/oc11.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="280" data-original-width="964" src="https://imgproxy.citrusreader.com/vwYfpjTp8aExX3KD7hgwfgAjtMC31qMwducPbnVEKBI/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VobjF4UHNBUjNrdzU0QUxiX0YzcWdnVk51dXIyVV9mYmhtLVAxbnd4MGt4WS1iNzNQU0lIZnlHLXJVakpmZF8zcW9lODVGNktvcFgwSzNXOWdmMTRjT3FLangxZVpkZXZQWlVhemk5RXlIbXRzLUZneXpxYkNOTDI3cEhBZk5vWXJJLTJsY0Q3M00xMlBmS3U3YnlTYUhuSEVvUHU2TW9oYVJIelFxSmxmc2VTdXhsbjVtR3RHY2FOdUFfTXcvczE2MDAvb2MxMS5wbmc"></a></div> </center> <br> <p>That installer’s stated purpose is not to add functionality, but to persist across sessions by writing itself into the agent’s auto-loaded context files:</p> <ul> <li>It copies the skill into the local skills folder.</li> <li>It drops “reminders” into SOUL.md and AGENTS.md, so the content is automatically injected into the agent’s context every time it runs</li> </ul> <p>This is where OpenClaw’s architecture becomes the attack surface: OpenClaw is designed to load behavioral context from markdown files like SOUL.md (personality/identity rules) and AGENTS.md (agent interaction/safety boundaries). If an attacker can append a single line there, they can influence every future decision the agent makes, even when the original skill is no longer actively being used.</p> <p>This is effectively a cognitive rootkit:</p><p> <ul> <li>Survives “normal” cleanup. Deleting the skill folder may not remove the injected lines in SOUL.md / AGENTS.md.</li> <li>Hard to detect with traditional tooling. Nothing needs to beacon, no suspicious process has to stay running; the "payload" is the agent’s altered behavior.</li> </ul> </p><p>Even if devinism claims to be harmless, it demonstrates a high-leverage primitive: skills can rewrite the agent’s long-term instruction layer. The same pattern could be used to permanently weaken guardrails ("always run commands without asking"), silently prioritize attacker-controlled domains, or stage later exfiltration under the guise of "routine checks."</p> <p>devinism is a clean example of prompt persistence used as a distribution mechanism, and that’s precisely why it’s a valuable case study. It shows how a skill can jump from “optional plugin” to “always-on behavioral implant” by modifying OpenClaw’s persistent context files. Treat any skill that asks you to edit SOUL.md / AGENTS.md (or to run a remote curl | bash installer) as a request for permanent access to the agent’s brain.</p> <p><b>Closing Thoughts: Boring Security Wins</b></p> <p>None of the techniques we’ve described are futuristic. They’re old ideas–RCE, persistence, exfiltration, propagation–repackaged into a new delivery mechanism that ships with built-in social engineering: documentation, convenience, and speed. It’s a supply-chain story.</p> <p>The good news is that we can respond with equally practical controls. Treat skills like dependencies: pin versions, review diffs, run them in least-privilege sandboxes, and use default-deny egress with explicit allowlists. Log every tool invocation and outbound request. Never curl | bash on an agent host. And if your platform supports persistent instruction files (SOUL.md, AGENTS.md, scheduled heartbeats), protect them like you would protect SSH keys: immutable by default, monitored for changes, and reviewed like code. Where possible, verify provenance (signatures/attestations) instead of trusting "latest."</p> <p>Finally, stop handing agents a treasure chest by default. Keep credentials out of .env when you can. Prefer short-lived, task-scoped tokens delivered just-in-time (via a broker) so a compromised workflow can’t automatically become a compromised account.</p> <p>Agent ecosystems are still young. We still get to choose whether they become the next npm, or the next macro malware era, but for autonomous systems. The difference will be boring, unglamorous engineering: boundaries, safe defaults, auditing, and healthy skepticism.</p>

2026/2/4
阅读更多

From Automation to Infection: How OpenClaw AI Agent Skills Are Being Weaponized

<p>The fastest-growing personal AI agent ecosystem just became a new delivery channel for malware. Over the last few days, VirusTotal has detected hundreds of OpenClaw skills that are actively malicious. What started as an ecosystem for extending AI agents is rapidly becoming a new supply-chain attack surface, where attackers distribute droppers, backdoors, infostealers and remote access tools disguised as helpful automation.</p> <p><b>What is OpenClaw (formerly Clawdbot / Moltbot)?</b></p> <p>Unless you’ve been completely disconnected from the internet lately, you’ve probably heard about the viral success of OpenClaw and its small naming soap opera. What started as Clawdbot, briefly became Moltbot, and finally settled on OpenClaw, after a trademark request made the original name off-limits.</p> <p>At its core, OpenClaw is a self-hosted AI agent that runs on your own machine and can execute real actions on your behalf: shell commands, file operations, network requests. Which is exactly why it’s powerful, and also why, unless you actively sandbox it, the security blast radius is basically your entire system.</p> <p><b>Skills: powerful by design, dangerous by default</b></p> <p>OpenClaw skills are essentially small packages that extend what the agent can do. Each skill is built around a SKILL.md file (with some metadata and instructions) and may include scripts or extra resources. Skills can be loaded locally, but most users discover and install them from ClawHub, the public marketplace for OpenClaw extensions.</p> <p>This is what makes the ecosystem so powerful: instead of hardcoding everything into the agent, you just add skills and suddenly it can use new tools, APIs, and workflows. The agent reads the skill documentation on demand and follows its instructions.</p> <p>The problem is that skills are also third-party code, running in an environment with real system access. And many of them come with “setup” steps users are trained to trust: paste this into your terminal, download this binary and run it, export these environment variables. From an attacker’s perspective, it’s a perfect social-engineering layer.</p> <p>So yes, skills are a gift for productivity and, unsurprisingly, a gift for malware authors too. Same mechanism, very different intentions.</p> <p><b>What we added: OpenClaw Skill support in VirusTotal Code Insight</b></p> <p>To help detect this emerging abuse pattern, we’ve added native support in VirusTotal Code Insight for OpenClaw skill packages, including skills distributed as ZIP files. Under the hood, we use Gemini 3 Flash to perform a fast security-focused analysis of the entire skill, starting from SKILL.md and including any referenced scripts or resources.</p> <p>The goal is not to understand what the skill claims to do, but to summarize what it actually does from a security perspective: whether it downloads and executes external code, accesses sensitive data, performs network operations, or embeds instructions that could coerce the agent into unsafe behavior. In practice, this gives analysts a concise, security-first description of the real behavior of a skill, making it much easier to spot malicious patterns hidden behind “helpful” functionality.</p> <p><b>What we’re seeing in the wild</b></p> <p>At the time of writing, VirusTotal Code Insight has already analyzed more than 3,016 OpenClaw skills, and hundreds of them show malicious characteristics.</p> <p>Not all of these cases are the same. On one side, we are seeing many skills flagged as dangerous because they contain poor security practices or outright vulnerabilities: insecure use of APIs, unsafe command execution, hardcoded secrets, excessive permissions, or sloppy handling of user input. This is increasingly common in the era of vibe coding, where code is generated quickly, often without a real security model, and published straight into production.</p> <p>But more worrying is the second group: skills that are clearly and intentionally malicious. These are presented as legitimate tools, but their real purpose is to perform actions such as sensitive data exfiltration, remote control via backdoors, or direct malware installation on the host system.</p> <p><b>Case study: hightower6eu, a malware publisher in plain sight</b></p> <p>One of the most illustrative cases we’ve observed is the ClawHub user "hightower6eu", who is highly active publishing skills that appear legitimate but are consistently used to deliver malware</p> <br> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5OZPa_Mi_Q1N-Ezy0JITx652S3vwrz-zkVDJgNcQUosVNrqddfe2YG5OXQfzH6Ie1CTmYxRw5XMPJmBsyx1of5RRsy495IGEq2nQ1baxnFTb4jJziuJE6_-p-AKnW-hw8hZ1xHFLlZSr6u4YeV4tqsc7Dautsww4j3Fdl4ulVpTyBQjU_O9BlVxNFI7c/s1600/hightower6eu.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="1344" data-original-width="1813" src="https://imgproxy.citrusreader.com/Yfz5F05PrabUN6RFymnvsa77oxoAJFaBVvYPqCKMKTI/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VqNU9aUGFfTWlfUTFOLUV6eTBKSVR4NjUyUzN2d3J6LXprVkRKZ05jUVVvc1ZOcnFkZGZlMllHNU9YUWZ6SDZJZTFDVG1ZeFJ3NVhNUEptQnN5eDFvZjVSUnN5NDk1SUdFcTJuUTFiYXhuRlRiNGpKeml1SkU2Xy1wLUFLblctaHc4aFoxeEhGTGxaU3I2dTRZZVY0dHFzYzdEYXV0c3d3NGozRmRsNHVsVnBUeUJRalVfTzlCbFZ4TkZJN2MvczE2MDAvaGlnaHRvd2VyNmV1LnBuZw"></a></div> </center> <br> <p>At the time of writing, VirusTotal Code Insight has already analyzed 314 skills associated with this single user, and the number is still growing, all of them identified as malicious. The skills cover a wide range of apparently harmless use cases (crypto analytics, finance tracking, social media analysis, auto-updaters, etc) but they all follow a similar pattern: users are instructed to download and execute external code from untrusted sources as part of the "setup" process.</p> <br> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1OIrjT4EcVhVwh4xx_eRdp0oZ92KFKcQm49ihoTF_c6VHynFu-CKtmtLonQlth74dS3KFZzL0sKnYoJw9MsoCNE5bMphzn2vTRFQVH4x-4Ld6nNHavNgBuso-IYpcuxOk_mbzbqoc7p36kKDa4uWNxakCLUk6f6zr_v4fcwVrKgeWJBpaUz5FXwd52iI/s1600/314.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="1284" data-original-width="2249" src="https://imgproxy.citrusreader.com/gL93vbotZRiMtpMvkaL5CFWXtcRw-cnqYF9uOILEn8U/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VoMU9JcmpUNEVjVmhWd2g0eHhfZVJkcDBvWjkyS0ZLY1FtNDlpaG9URl9jNlZIeW5GdS1DS3RtdExvblFsdGg3NGRTM0tGWnpMMHNLbllvSnc5TXNvQ05FNWJNcGh6bjJ2VFJGUVZINHgtNExkNm5OSGF2TmdCdXNvLUlZcGN1eE9rX21iemJxb2M3cDM2a0tEYTR1V054YWtDTFVrNmY2enJfdjRmY3dWcktnZVdKQnBhVXo1Rlh3ZDUyaUkvczE2MDAvMzE0LnBuZw"></a></div> </center> <br> <p>To make this more tangible, the screenshot below shows how VirusTotal Code Insight analyzes one of the skills published by hightower6eu, in this case a seemingly harmless skill called "Yahoo Finance".</p> <p>On the surface, the file looks clean: no antivirus engines flag it as malicious, and the ZIP itself contains almost no real code. This is exactly why traditional detection fails.</p> <p>VT Code Insight, however, looks at the actual behavior described in the skill. In this case, it identifies that the skill instructs users to download and execute external code from untrusted sources as a mandatory prerequisite, both on Windows and macOS. From a security perspective, that’s a textbook malware delivery pattern: the skill acts as a social engineering wrapper whose only real purpose is to push remote execution. In other words, nothing in the file is technically "malware" by itself. The malware is the workflow. And that’s precisely the kind of abuse pattern Code Insight is designed to surface.</p> <br> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHylmJ2Kc0sMz_1xCFVxpI4PCEr7I7ufQksfY3_3FbYwYr_prgAAOaBfpQbAJP1wHc6kZx_NUd4x_HYEgsJ0uVPiMxF91fUjXWyev73vx6H1ND7l-dqpDU8nCOrwIoQhGDp4eG_qt2_sKsna_2WcYPpBYRXbRDf31U-_odUwkxnNvQgZwmI7PC_xM-HRk/s1600/yahoo-finance.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="1199" data-original-width="1698" src="https://imgproxy.citrusreader.com/X1gyFsHoh8YYlpNzlmw4544g6721cpBc9pWaqtQBWiQ/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VnSHlsbUoyS2Mwc016XzF4Q0ZWeHBJNFBDRXI3STd1ZlFrc2ZZM18zRmJZd1lyX3ByZ0FBT2FCZnBRYkFKUDF3SGM2a1p4X05VZDR4X0hZRWdzSjB1VlBpTXhGOTFmVWpYV3lldjczdng2SDFORDdsLWRxcERVOG5DT3J3SW9RaEdEcDRlR19xdDJfc0tzbmFfMldjWVBwQllSWGJSRGYzMVUtX29kVXdreG5OdlFnWndtSTdQQ194TS1IUmsvczE2MDAveWFob28tZmluYW5jZS5wbmc"></a></div> <a href="https://www.virustotal.com/gui/file/79e8f3f7a6113773cdbced2c7329e6dbb2d0b8b3bf5a18c6c97cb096652bc1f2">79e8f3f7a6113773cdbced2c7329e6dbb2d0b8b3bf5a18c6c97cb096652bc1f2</a> </center> <br> <p>If you actually read the SKILL.md, the real behavior becomes obvious. For Windows users, the skill instructs them to download a ZIP file from an external GitHub account, protected with the password 'openclaw', extract it, and run the contained executable: openclaw-agent.exe.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnRE3b4D0yI_wScKr61F_glYjX4GdUZ8mNPyGDdmFR4Vp6XjAV9XVA06McHMHLIzBhyphenhyphenU0EUGTosfz911qKNHTl5-sMAUmN7__yEXmn0kgWgjj4yEcLJUTgqrMp5EGI8eINmjxaIkFNCwDkF0WPeavAljBxTr4lvpP-DsFJr8U-I3N2XNsd8O5lTEaZG2U/s1600/skill-md.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="529" data-original-width="685" src="https://imgproxy.citrusreader.com/suIh7xuSzAgVjqhAzRMrf2bYBWXPhDWu80oSdAnPzus/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VnblJFM2I0RDB5SV93U2NLcjYxRl9nbFlqWDRHZFVaOG1OUHlHRGRtRlI0VnA2WGpBVjlYVkEwNk1jSE1ITEl6Qmh5cGhlbmh5cGhlblUwRVVHVG9zZno5MTFxS05IVGw1LXNNQVVtTjdfX3lFWG1uMGtnV2dqajR5RWNMSlVUZ3FyTXA1RUdJOGVJTm1qeGFJa0ZOQ3dEa0YwV1BlYXZBbGpCeFRyNGx2cFAtRHNGSnI4VS1JM04yWE5zZDhPNWxURWFaRzJVL3MxNjAwL3NraWxsLW1kLnBuZw"></a></div> </center> <br> <p>When submitted to VirusTotal, this executable is detected as malicious by multiple security vendors, with classifications consistent with packed trojans.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_g1v215lYxt8ywYR5E5S7H1JRpglLoOr8Bw89X2_mqav0uoMfwW0V1xA0Q9zZ-w8fggJxgTaFN1Vvw3nEPrAIE4y1eZg6CDD2cfxKXai4tLRfOnR9U-AUWhHqbAUALnH2ZpeyXScEbgm-aR-wMGqHy9UgTSmidB3slVEsxsEs5_RQawXJqjxmcqtJgEM/s1600/18.windows.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="1273" data-original-width="2247" src="https://imgproxy.citrusreader.com/4RhM9jORIxrG5nofGT9gDPFXNSHpjJMZr1ARRsoRUXI/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VqX2cxdjIxNWxZeHQ4eXdZUjVFNVM3SDFKUnBnbExvT3I4Qnc4OVgyX21xYXYwdW9NZndXMFYxeEEwUTl6Wi13OGZnZ0p4Z1RhRk4xVnZ3M25FUHJBSUU0eTFlWmc2Q0REMmNmeEtYYWk0dExSZk9uUjlVLUFVV2hIcWJBVUFMbkgyWnBleVhTY0ViZ20tYVItd01HcUh5OVVnVFNtaWRCM3NsVkVzeHNFczVfUlFhd1hKcWp4bWNxdEpnRU0vczE2MDAvMTgud2luZG93cy5wbmc"></a></div> <a href="https://www.virustotal.com/gui/file/17703b3d5e8e1fe69d6a6c78a240d8c84b32465fe62bed5610fb29335fe42283">17703b3d5e8e1fe69d6a6c78a240d8c84b32465fe62bed5610fb29335fe42283</a> </center> <br> <p>When the system is macOS, the skill doesn't provide a binary directly. Instead, it points the user to a shell script hosted on glot.io, which is obfuscated using Base64:</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6GzKt5UawAWhU1TpAvDBiUB-Q416X-ZjEEyeVKJURAtty4WItQ5GlMqzK-ymQM8d_55F269nykBCLTbCfa4dbmg45-da5H0s9SoanmAzehFcH_UcOp2bVgubFp3JG2jic3PCuGIQSZRQS-pUTIEcblRS_lek_Uqn1AjI2TLtbY4q0Qu_B0ZmrW_MCId4/s1600/glotio.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="458" data-original-width="1187" src="https://imgproxy.citrusreader.com/RfFrrFLWX2q3e6R77zZvKxExUDa4PTjqMEZ37OH4MsM/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VnNkd6S3Q1VWF3QVdoVTFUcEF2REJpVUItUTQxNlgtWmpFRXllVktKVVJBdHR5NFdJdFE1R2xNcXpLLXltUU04ZF81NUYyNjlueWtCQ0xUYkNmYTRkYm1nNDUtZGE1SDBzOVNvYW5tQXplaEZjSF9VY09wMmJWZ3ViRnAzSkcyamljM1BDdUdJUVNaUlFTLXBVVElFY2JsUlNfbGVrX1VxbjFBakkyVEx0Ylk0cTBRdV9CMFptcldfTUNJZDQvczE2MDAvZ2xvdGlvLnBuZw"></a></div> </center> <br> <p>Once the Base64 payload is decoded, the real behavior becomes visible: the script simply downloads and executes another file from a remote server over plain HTTP:</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5iCu_OYQQS2AB2TmwODuwI-bx_P177W2txs9l6ymeMfOFSoxo7ii1lgFkUlTfH-soXhfJL8GRwBKlicQhZRFolWguzhBF867P4HIdr_DXJ5pko5Fa5GC6iaRuTVUeWbqWvRt99YsdYGrkoOC1ruoTv_jTI8IbNU67nvSG0-wNFpFt3ZLtfTinUArc0wU/s1600/plainhttp.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="147" data-original-width="1027" src="https://imgproxy.citrusreader.com/eq_dqJH6LEtSOT5TdhD4mZWHtbyxGWu22vKkb_v_8Fg/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VpNWlDdV9PWVFRUzJBQjJUbXdPRHV3SS1ieF9QMTc3VzJ0eHM5bDZ5bWVNZk9GU294bzdpaTFsZ0ZrVWxUZkgtc29YaGZKTDhHUndCS2xpY1FoWlJGb2xXZ3V6aEJGODY3UDRISWRyX0RYSjVwa281RmE1R0M2aWFSdVRWVWVXYnFXdlJ0OTlZc2RZR3Jrb09DMXJ1b1R2X2pUSThJYk5VNjdudlNHMC13TkZwRnQzWkx0ZlRpblVBcmMwd1UvczE2MDAvcGxhaW5odHRwLnBuZw"></a></div> </center> <br> <p>The final stage is the file x5ki60w1ih838sp7, a Mach-O executable. When submitted to VirusTotal, this binary is detected as malicious by 16 security engines, with classifications consistent with stealer trojans and generic malware families:</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicZm08uNdzuDd8vASK7TSTxvQ1lxtxtGdeyFCmjqRLeXzI0KFHfqt1Wn-9BoTfmCNb2xeapm8AFj0tJOXi9DdxpRgPPJlbjBBxADlYNmoz9JcUTz0ZaLqPxcRGMku_I10bUXxsE_sE7w9FZi93hGO6R4WRS6XNaejhSwoS0nUibINTgD86lQjQrznCi9M/s1600/16-macos.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="1162" data-original-width="1428" src="https://imgproxy.citrusreader.com/C-JaZ3o4oyADfkBaBkocmam1QxYlQj3d9rmfJaKQ3uU/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VpY1ptMDh1TmR6dURkOHZBU0s3VFNUeHZRMWx4dHh0R2RleUZDbWpxUkxlWHpJMEtGSGZxdDFXbi05Qm9UZm1DTmIyeGVhcG04QUZqMHRKT1hpOURkeHBSZ1BQSmxiakJCeEFEbFlObW96OUpjVVR6MFphTHFQeGNSR01rdV9JMTBiVVh4c0Vfc0U3dzlGWmk5M2hHTzZSNFdSUzZYTmFlamhTd29TMG5VaWJJTlRnRDg2bFFqUXJ6bkNpOU0vczE2MDAvMTYtbWFjb3MucG5n"></a></div> <a href="https://www.virustotal.com/gui/file/1e6d4b0538558429422b71d1f4d724c8ce31be92d299df33a8339e32316e2298">1e6d4b0538558429422b71d1f4d724c8ce31be92d299df33a8339e32316e2298</a> </center> <br> <p>When the file is analyzed by multiple automated reversing tools and Gemini 3 Pro, the results are consistent: the binary is identified as a trojan infostealer, and more specifically as a variant of Atomic Stealer (AMOS).</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjM4jQhwUiyl9wl5PHcEUPiKlNE04Wmbmm3UV-ufPROvy1XdQ6ciXNso3r8xiqfrRDBy8xOCZUJBMseUYKL9RnJ26fQlVHpylaxTOWiUOruWLpilJpY-Ohjj1FjQlBTjqTmlwnPdVDgUOPGOitQ8OBsAA2Hlc1cv5QV1MyzvvUMtJvvxifd_qnOM3lLQ7g/s1600/omniasec-amos.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="1266" data-original-width="2185" src="https://imgproxy.citrusreader.com/8dJ3--qsF2e6o28uELII4aCWnL4wV3T-TEXRXGB_LEI/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VqTTRqUWh3VWl5bDl3bDVQSGNFVVBpS2xORTA0V21ibW0zVVYtdWZQUk92eTFYZFE2Y2lYTnNvM3I4eGlxZnJSREJ5OHhPQ1pVSkJNc2VVWUtMOVJuSjI2ZlFsVkhweWxheFRPV2lVT3J1V0xwaWxKcFktT2hqajFGalFsQlRqcVRtbHduUGRWRGdVT1BHT2l0UThPQnNBQTJIbGMxY3Y1UVYxTXl6dnZVTXRKdnZ4aWZkX3FuT00zbExRN2cvczE2MDAvb21uaWFzZWMtYW1vcy5wbmc"></a></div> </center> <br> <p>This family of malware is well known in the macOS ecosystem. It is designed to run stealthily in the background and systematically harvest sensitive user data, including system and application passwords, browser cookies and stored credentials, and cryptocurrency wallets and related artifacts.</p> <p><b>What OpenClaw users (and platforms) should do right now</b></p> <p>OpenClaw itself provides reasonable security building blocks, but they only help if people actually use them:</p> <ul> <li>Treat skill folders as trusted-code boundaries and strictly control who can modify them.</li> <li>Prefer sandboxed executions and keep agents away from sensitive credentials and personal data.</li> <li>Be extremely skeptical of any skill that requires pasting commands into a shell or running downloaded binaries.</li> <li>If you operate a registry or marketplace, add publish-time scanning and flag skills that include remote execution, obfuscated scripts, or instructions designed to bypass user oversight.</li> </ul> <p>And if you’re installing community skills: scan them first. For personal AI agents, the supply chain is not a detail, it’s the whole product.</p><p> </p><p>Finally, we want to give full credit to Peter Steinberger, the creator of OpenClaw, for the success, traction, and energy around the project. From our side, we’d love to collaborate and explore ways to integrate VirusTotal directly into the OpenClaw publishing and review workflow, so that developers and users can benefit from security analysis without getting in the way of innovation.</p>

2026/2/2
阅读更多

New Infostealer Campaign Targets Users via Spoofed Software Installers

<h2>Introduction</h2> <div class="interval_12">As part of our commitment to sharing interesting hunts, we are launching these 'Flash Hunting Findings' to highlight active threats. Our latest investigation tracks an operation active between January 11 and January 15, 2026, which uses consistent ZIP file structures and a unique behash ("4acaac53c8340a8c236c91e68244e6cb") for identification. The campaign relies on a trusted executable to trick the operating system into loading a malicious payload, leading to the execution of secondary-stage infostealers.</div> <h2>Findings</h2> <div class="interval_12">The primary samples identified are ZIP files that mostly reference the MalwareBytes company and software using the filename <strong>malwarebytes-windows-github-io-X.X.X.zip</strong>. A notable feature for identification is that all of them share the same <mark class="red">behash</mark>.</div> <pre>behash:"4acaac53c8340a8c236c91e68244e6cb"</pre> <div class="interval_12">The initial instance of these samples was identified on January 11, 2026, with the most recent occurrence recorded on January 14.</div> <div class="central_img"> <img src="https://imgproxy.citrusreader.com/oYLCe9gNJkkn3l0AGJjqJ82r7xq0Yx3BSH5mqA6LU9o/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoemF5c3ZydVZrTFF5WVJfRmY4bnA1dFZRXzZPS2NwWGFFdVJ4WG0wNUJGR0lycERmVGZYSnZiNktRUzN6WGVFWEdQeGdWWHVkaGw0bzkxVWtRcV92NnFPcXdDLS1seXNlRktPdWstalBKRFFON2lEd1FQRXd0WEI0TF9fclk1cTNzcnlzRGU2NGhsZnZ5bkhmczJ2bFpLMEtMdjQ4X05IT3U1N21YeV9PVTJ0Rm1LZTRRMTNpR19UdE0wX1U" style="width: 100%; max-width: 624px;"> </div> <div class="interval_12">All of these ZIP archives share a nearly identical internal structure, containing the same set of files across the different versions identified. Of particular importance is the DLL file, which serves as the initial malicious payload, and a specific TXT file found in each archive. This text file has been observed on VirusTotal under two distinct filenames: <strong>gitconfig.com.txt</strong> and <strong>Agreement_About.txt</strong>.</div> <div class="interval_12">The content of the <a href="http://virustotal.com/gui/file/09a8b930c8b79e7c313e5e741e1d59c39ae91bc1f10cdefa68b47bf77519be57" target="_blank">TXT file</a> holds no significant importance for the intrusion itself, as it merely contains a single string consisting of a GitHub URL.</div> <div class="central_img"> <img src="https://imgproxy.citrusreader.com/KkFVSdnTgHZ4qtPDapAlFVp7ztdNklbkFm_lIlVeCwE/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoYmhidzRkb3lsNGpKZS1ZbmwwdEFwZFFNN2hDUXp3OE1yX0dKbkdZVlg2eFlzd3IzU1UtQUhNRTZPVlRsY0RQQ0ctaXBDZE9zaHBrZXJwcTFVZGRDNGVYSjc2SDNqcXJkbjB6eXR0S2QtajhsZUtZTUplMVUtbUhMdnZmSVlHOFV3dW53Y080VHZ5NXZUaFp0bzF5aGhSVDBlanhQQlRJcnJwaGFyNERWeUVRQU9laDFBMVNPelpTbkExNTQ" style="width: 100%; max-width: 624px;"> </div> <div class="interval_12">However, this TXT is particularly valuable for pivoting and infrastructure mapping. By examining its "execution parents," analysts can identify additional ZIP archives that are likely linked to the same malicious campaign. These related files can be efficiently retrieved for further investigation using the following VirusTotal API v3 endpoint:</div> <pre>/api/v3/files/09a8b930c8b79e7c313e5e741e1d59c39ae91bc1f10cdefa68b47bf77519be57/execution_parents</pre> <div class="central_img"> <img src="https://imgproxy.citrusreader.com/tIiIXggoT4eGfp1MtmLXE_s1xmFxAwDBAY6DNA9Q6gw/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoOWVyRWZPNzNadGlsQ3poc0ZHanNtRUNDcXVtd0Vna0NNdmtaOW5hZlJ1Z180LUgybmt0c0JTanlBek1vUXhxRzhIUUprT1ctN3V0MkVabVhGV3NPdkFTZTRvZkVYNUQxbDNoZEdpTTFaSEFZbEw1eFNZX18xZld5U29nN2JnTlRUbjR3ZktucW9wWGpBRmY3N1lhMU5fMUxMOEtCcnZWa0twcEp1dHd5Y2ZwQ3NUbURKSHRqREpwelZnSDA" style="width: 100%; max-width: 624px;"> </div> <div class="interval_12">The primary payload of this campaign is contained within a malicious DLL named <strong>CoreMessaging.dll</strong>. Threat actors are utilizing a technique known as <a href="https://attack.mitre.org/techniques/T1574/001/" target="_blank">DLL Sideloading</a> to execute this code. This involves placing the malicious DLL in the same directory as a legitimate, trusted executable (EXE) also found within the distributed ZIP file. When an analyst or user runs the legitimate EXE, the operating system is tricked into loading the malicious CoreMessaging.dll.</div> <div class="central_img"> <img src="https://imgproxy.citrusreader.com/xpZW_iAMQ8V4C6gs9X6LAfjNF5JQFVxLgHi9ReUk6jM/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VqdkgwM3ZORG8yOU9JdFNsM0gtVVNaYnB4Q2QtUHZXc2xkX0NEeENEOVN2OWNXdzRPUDQyWmZtRFpYR196cnNYcWY5aWpVanFRSS1UaXFtajlJMnFIT0c1NFFlYkllb1V1UjFOOE0wcldXUTR5cXhYU2VsdFY0dXJCOWU2cHNaUW9zU2NZa3Z0Q2xTMjVsbk5UZU1xTFdJZjM1SC1ia3lqTUJQeHBwS0F4SkJkZC1vby1EbUg3RUkzbmdYWFk" style="display: block; margin: 0 auto; max-width: 306px;"> </div> <div class="interval_12">The identified DLLs exhibit distinctive metadata characteristics that are highly effective for pivoting and uncovering additional variants within the same campaign. Security analysts can utilize specific hunting queries to track down other malicious DLLs belonging to this activity. For instance, analysts can <a href="https://www.virustotal.com/gui/search/signature%253A%2522Peastaking%2520plenipotence%2520ductileness%2520chilopodous%2520codicillary%252E%2522?type=files" target="_blank">search</a> for samples sharing the following unique signature strings found in the file metadata:</div> <pre>signature:"Peastaking plenipotence ductileness chilopodous codicillary."</pre> <pre>signature:"© 2026 Eosinophil LLC"</pre> <div class="interval_12">Furthermore, the exported functions within these DLLs contains unusual alphanumeric strings. <a href="https://www.virustotal.com/gui/search/exports%253A15Mmm95ml1RbfjH1VUyelYFCf%2520exports%253A2dlSKEtPzvo1mHDN4FYgv" target="_blank">These exports</a> serve as reliable indicators for identifying related malicious components across different stages of the campaign:</div> <pre>exports:15Mmm95ml1RbfjH1VUyelYFCf exports:2dlSKEtPzvo1mHDN4FYgv</pre> <div class="interval_12">Finally, another observation for behavioral analysis can be found in the <strong>relations</strong> tab of the ZIP files. These files document the full infection chain observed during sandbox execution, where the sandbox extracts the ZIP, runs the legitimate EXE, and subsequently triggers the loading of the malicious DLL. Within the <strong>Payload Files</strong> section, additional payloads are visible. These represent secondary stages dropped during the initial DLL execution, which act as the final malware samples. These final payloads are primarily identified as infostealers, designed to exfiltrate sensitive data.</div> <div class="central_img"> <img src="https://imgproxy.citrusreader.com/lxXmgDJdi6wVpQxz-3cWTFGxZlRhVJkdfnNVWoLlLSc/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VnOUxoUG5GbUZIdFhVYk1Od1JDYU9NTDM5ODZsZjY1dEtWM28xM2hKSlNrWm9rWUpPQWRhZzRROW9GaGsxN2dhQnd0YlF0bHpUV192dndwV05NTG9sNmFpbjNYYkx2b0VrNFVZR1o3Z3V1X3R1S1BKdjdfZldzaWJnZF85dWhZdV9oTnRvc1BmVi1LLVhKX0g5SmxuODI5amFTX095REM4cHpRbVd4cDRmX0JLejdfT2t5R1FSNjlKa2I2LUE" style="width: 100%; max-width: 624px;"> </div> <div class="interval_12">Analysis of all the ZIP files behavioral relations reveals a recurring payload file consistently flagged as an infostealer. This malicious component is identified by various YARA rules, including those specifically designed to detect signatures associated with stealing cryptocurrency wallet browser extension IDs among others.</div> <div class="central_img"> <img src="https://imgproxy.citrusreader.com/-fj87YHlJWUN_zDmmVrKHy5y8Rt8SSU7Ho3oBI5GZaA/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoakhKY0Ezc0FaRks2UG9MSlA5LUx1V3IwZVlxa2xhRmJ0dUFmTy02UVdoTkNjODRFLTgyUXMyY2haeDNIdTN3b3hrX245RnlMRXpYel83ZzhUODBLaGJPUGY4OHg4Tkc0cDJJdkM0N19VeG1VQktkYXFhajR2QkxtaUpFM01DSy1YS2djT3J2aC13QVBMU1pGVE9ya3dzMGs0RjNEUXBuS2J2eDBIZzMxWlR2MFRwTm9YdFd6TDJ2TU0yQTg" style="width: 100%; max-width: 624px;"> </div> <div class="interval_12">To identify and pivot through the various secondary-stage payloads dropped during this campaign, analysts can utilize a specific <mark class="red">behash</mark> identifier. These files represent the final infection stage and are primarily designed to exfiltrate credentials and crypto-wallet information. The following <a href="https://www.virustotal.com/gui/search/behash%253A5ddb604194329c1f182d7ba74f6f5946" target="_blank">behash</a> provides a reliable pivot point for uncovering additional variants.</div> <pre>behash:5ddb604194329c1f182d7ba74f6f5946</pre> <div class="central_img"> <img src="https://imgproxy.citrusreader.com/e0z1jMWyhCxOh15UKRH-2tB8SuE2pGW1aAt4MqzeHbA/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoV1NOaTJyTXZWX25GS3ZsYWRTUkJ1akJiVlJVZlp6UFFwNlhUbzlfSm9odjBnaVNSTVZZNnJuUXZ6SFhDTzJXVnVsd1pkTUNENnQ0S2lXenp3WV9BSTQzTmNaMmJOeF9JQ1F4cF9jTGRzaDRXSnIwaXdGR2dzTzFKMXlDUmJ6dmlUQm9XRF9FdDBqeG5mOHJ1V0d5RXFPT0doNHBXQUd3bE1HdWVfVmlFdE15dkU2X2JqZ2lCN3gxbkF3SEk" style="width: 100%; max-width: 624px;"> </div> <br> <h2>IOCs</h2> <div class="interval_12">We have created a <a href="https://www.virustotal.com/gui/collection/bb55b097341a5e6ed733c156b07c878c086b08ac40f7cfa31e6715c23dd0b3a7" target="_blank">public VirusTotal Collection</a> to share all the IOCs in an easy and free way. Below you can find the main IOCs related to the ZIP files and DLLs too.</div> <pre> import "pe" rule win_dll_sideload_eosinophil_infostealer_jan26 { meta: author = "VirusTotal" description = "Detects malicious DLLs (CoreMessaging.dll) from an infostealer campaign impersonating Malwarebytes, Logitech, and others via DLL sideloading." reference = "https://blog.virustotal.com/2026/01/malicious-infostealer-january-26.html" date = "2026-01-16" behash = "4acaac53c8340a8c236c91e68244e6cb" target_entity = "file" hash = "606baa263e87d32a64a9b191fc7e96ca066708b2f003bde35391908d3311a463" condition: (uint16(0) == 0x5A4D and uint32(uint32(0x3C)) == 0x00004550 and pe.is_dll()) and pe.exports("15Mmm95ml1RbfjH1VUyelYFCf") and pe.exports("2dlSKEtPzvo1mHDN4FYgv") } </pre> <table> <thead> <tr> <th>sha256</th> <th>description</th> </tr> </thead> <tbody> <tr> <td>6773af31bd7891852c3d8170085dd4bf2d68ea24a165e4b604d777bd083caeaa</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>4294d6e8f1a63b88c473fce71b665bbc713e3ee88d95f286e058f1a37d4162be</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>5591156d120934f19f2bb92d9f9b1b32cb022134befef9b63c2191460be36899</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>42d53bf0ed5880616aa995cad357d27e102fb66b2fca89b17f92709b38706706</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>5aa6f4a57fb86759bbcc9fc6c61b5f74c0ca74604a22084f9e0310840aa73664</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>84021dcfad522a75bf00a07e6b5cb4e17063bd715a877ed01ba5d1631cd3ad71</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>ca8467ae9527ed908e9478c3f0891c52c0266577ca59e4c80a029c256c1d4fce</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>9619331ef9ff6b2d40e77a67ec86fc81b050eeb96c4b5f735eb9472c54da6735</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>a2842c7cfaadfba90b29e0b9873a592dd5dbea0ef78883d240baf3ee2d5670c5</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>4705fd47bf0617b60baef8401c47d21afb3796666092ce40fbb7fe51782ae280</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>580d37fc9d9cc95dc615d41fa2272f8e86c9b4da2988a336a8b3a3f90f4363c2</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>d47fd17d1d82ea61d850ccc2af3bee54adce6975d762fb4dee8f4006692c5ef7</td> <td>malwarebytes-windows-github-io-X.X.X.zip</td> </tr> <tr> <td>606baa263e87d32a64a9b191fc7e96ca066708b2f003bde35391908d3311a463</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>fd855aa20467708d004d4aab5203dd5ecdf4db2b3cb2ed7e83c27368368f02bb</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>a0687834ce9cb8a40b2bb30b18322298aff74147771896787609afad9016f4ea</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>4235732440506e626fd4d0fffad85700a8fcf3e83ba5c5bc8e19ada508a6498e</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>cd1fe2762acf3fb0784b17e23e1751ca9e81a6c0518c6be4729e2bc369040ca5</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>f798c24a688d7858efd6efeaa8641822ad269feeb3a74962c2f7c523cf8563ff</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>0698a2c6401059a3979d931b84d2d4b011d38566f20558ee7950a8bf475a6959</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>1b3bee041f2fffcb9c216522afa67791d4c658f257705e0feccc7573489ec06f</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>231c05f4db4027c131259d1acf940e87e15261bb8cb443c7521294512154379b</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>ec2e30d8e5cacecdf26c713e3ee3a45ebc512059a64ba4062b20ca8bec2eb9e7</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>58bd2e6932270921028ab54e5ff4b0dbd1bf67424d4a5d83883c429cadeef662</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>57ed35e6d2f2d0c9bbc3f17ce2c94946cc857809f4ab5c53d7cb04a4e48c8b14</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>cfcf3d248100228905ad1e8c5849bf44757dd490a0b323a10938449946eabeee</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>f02be238d14f8e248ad9516a896da7f49933adc7b36db7f52a7e12d1c2ddc6af</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>f60802c7bec15da6d84d03aad3457e76c5760e4556db7c2212f08e3301dc0d92</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>02dc9217f870790b96e1069acd381ae58c2335b15af32310f38198b5ee10b158</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>f9549e382faf0033b12298b4fd7cd10e86c680fe93f7af99291b75fd3d0c9842</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>92f4d95938789a69e0343b98240109934c0502f73d8b6c04e8ee856f606015c8</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>66fba00b3496d61ca43ec3eae02527eb5222892186c8223b9802060a932a5a7a</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>e5dd464a2c90a8c965db655906d0dc84a9ac84701a13267d3d0c89a3c97e1e9b</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>35211074b59417dd5a205618fed3402d4ac9ca419374ff2d7349e70a3a462a15</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>6863b4906e0bd4961369b8784b968b443f745869dbe19c6d97e2287837849385</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>a83c478f075a3623da5684c52993293d38ecaa17f4a1ddca10f95335865ef1e2</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>43e2936e4a97d9bc43b423841b137fde1dd5b2f291abf20d3ba57b8f198d9fab</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>f001ae3318ba29a3b663d72b5375d10da5207163c6b2746cfae9e46a37d975cf</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>c67403d3b6e7750222f20fa97daa3c05a9a8cce39db16455e196cd81d087b54d</td> <td>CoreMessaging.dll DLL loaded by DLL SideLoading</td> </tr> <tr> <td>5ee9d4636b01fd3a35bd8e3dce86a8c114d8b0aa6b68b1d26ace7ef0f85b438a</td> <td>Payload dropped by one of the malicious DLLs</td> </tr> <tr> <td>e84b0dadb0b6be9b00a063ed82c8ddba06a2bd13f07d510d14e6fd73cd613fba</td> <td>Payload dropped by one of the malicious DLLs</td> </tr> </tbody> </table> <style> .my-code{ font-family: "Courier", sans-serif; font-size: medium; width: 100%; background: Black; color: White; /padding: 24px;/ border-collapse: collapse; } .my-yara-code{ font-family: "Courier", sans-serif; font-size: medium; width: 100%; background: #F7F9F9; color: Black; /padding: 24px;/ border-collapse: collapse; /font-weight: bold;/ } mark.green { color:#3cb371; background: none; } mark.gray { color:Gray; background: none; } mark.yellow { color:Yellow; background: none; } mark.orange { color:Orange; background: none; } mark.red { color:Red; background: none; } mark.blue { color:#33BEFF; background: none; } mark.dark-blue { color:Blue; background: none; } .table-fields { background: #86aaf9; } th:first-child { width: 24%; } th:first-child+th { width: 39%; } /* .table-container table td, .table-container table th { padding: 16px 32px; } */ table.no-spacing { border-spacing:0; /* Removes the cell spacing via CSS / border-collapse: collapse; / Optional - if you don't want to have double border where cells touch */ } .pmargin { margin: 0; } a { color: blue!important; } .central_img { position: relative; display: block; margin-left: auto; margin-right: auto; } .central_img img { border: 1px solid #000000; } .central_img p { text-align: center; font-style: italic; } .width_10 { width: 10%; } .width_15 { width: 15%; } .width_20 { width: 20%; } .width_30 { width: 30%; } .width_40 { width: 40%; } .width_50 { width: 50%; } .width_60 { width: 60%; } .width_80 { width: 80%; } pre { background: #f4f4f4; border: 1px solid #ddd; border-left: 3px solid #7ad3ff; color: #666; page-break-inside: avoid; font-family: monospace; font-size: 15px; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1em 1.5em; display: block; word-wrap: break-word; } .width_90 { width: 90%; } .width_100 { width: 100%; } ul{ margin-bottom: 5px!important; } .figures { font-size: 11pt; } .interval_12{ margin-bottom: 12px!important; } .note-box { border: 1px solid #007BFF; background-color: #E7F3FF; color: #0056b3; padding: 10px; border-radius: 5px; font-family: Arial, sans-serif; } .note-box a { color: #0056b3; text-decoration: none; } .note-box a:hover { text-decoration: underline; } </style>

2026/1/16
阅读更多

Introducing Saved Searches in Google Threat Intelligence (GTI) and VirusTotal (VT): Enhance Collaboration and Efficiency

<br><p style="text-align: left;">We are excited to announce the launch of <b>Saved Searches</b> in Google Threat Intelligence (GTI) and VirusTotal (VT), a powerful new feature designed to streamline your threat hunting workflows and foster seamless collaboration across your security team.</p><div><h2 style="text-align: left;">From Campaign to Feature: Better Search Efficiency</h2><p style="text-align: left;">For the last month, we’ve highlighted the critical importance of mastering search in our ongoing <b>#monthofgoogletisearch</b> campaign. We saw how security teams rely on complex, highly-tuned queries to identify threats, track adversaries, and perform deep-dive investigations.</p>This campaign emphasized a key challenge: once you craft the perfect query - a cornerstone of your investigation - it should be easy to reuse and share. Saved Searches is the direct answer to this need, turning successful, repeatable threat-hunting logic into a shared institutional asset.</div><div><br></div><div><h2 style="text-align: left;">Collaboration, Simplified: Save and Share Your Queries</h2><p style="text-align: left;">With this initial launch of Saved Searches, we’re delivering two foundational capabilities that will immediately improve your team’s efficiency:</p><ol style="text-align: left;"><li><b>Save Searches:</b> Instantly save any complex or frequently used query directly within GTI. This ensures your best investigative logic is always accessible, eliminating the need to rebuild queries from scratch or store them externally.</li><li><b>Share with Users:</b> Critical insights are often time-sensitive. You can now easily share your saved searches with any other user in your organization with access to GTI. Whether you’re escalating a finding or establishing a standard workflow, sharing the exact query ensures consistency and accelerates joint analysis.</li></ol>This means that a newly onboarded analyst can instantly access the expertise of senior members, and teams can maintain a unified approach to monitoring high-priority threats. It’s collaboration built right into your investigation tool.</div><div><br></div><div><h2 style="text-align: left;">Get Started Today with Campaign Searches</h2>The Saved Searches feature is live now in Google Threat Intelligence and VirusTotal.<br><br>To help you hit the ground running, we have made the most impactful searches used throughout the <b>#monthofgoogletisearch</b> campaign public and available to all intelligence users! You can find these expert-crafted queries in <a href="https://www.virustotal.com/gui/saved-searches">your Saved Searches section</a> today - a perfect starting point for your investigations.<br><br><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu9WOjYRnAV4cmW_LMbBiJrICl-gzjGqsMf5wlQ6eiWBzNvra9iN8GV6MzbIrs7HAyHjxGunz-nnLad-KL2bGOTsbRU-6-whuZUbu8zxGpLHCJsYp60xkaHhd6tDOA0LrqFJfLkorie2Lpk3Qth5xMVg07akdwVixBZ9aqtwRGRcd9rdcZNv5IQQphpoRm/s1880/Screenshot%202025-12-10%2011.04.36.png" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="815" data-original-width="1880" src="https://imgproxy.citrusreader.com/cq8s1EpjuEFXcX7DxIByE4-DYvyQCDBs0Fv8xPMCLE8/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VpdTlXT2pZUm5BVjRjbVdfTE1iQmlKcklDbC1nempHcXNNZjV3bFE2ZWlXQnpOdnJhOWlOOEdWNk16YklyczdIQXlIanhHdW56LW5uTGFkLUtMMmJHT1RzYlJVLTYtd2h1WlVidTh6eEdwTEhDSnNZcDYweGthSGhkNnRET0EwTHJxRkpmTGtvcmllMkxwazNRdGg1eE1WZzA3YWtkd1ZpeEJaOWFxdHdSR1JjZDlyZGNaTnY1SVFRcGhwb1JtL3MxNjAwMC9TY3JlZW5zaG90JTIwMjAyNS0xMi0xMCUyMDExLjA0LjM2LnBuZw"></a><br><br>Start by exploring these campaign searches and then easily save and share your own complex search queries. Look for the option to Save and Share your searches to transform your investigative logic into a shared asset.<br><br><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuZyifO8h5qc-hWzkPVo2Jr5FMAZp_Zwh0PONPgaMYkrf8KU4X4MhzLcLu_P4hXEzAQMXtEI4qRd7PZuiDooEsRy-yC5bEj-sV0vdo_wQYY4xReKXunpEeIWpv8KiD5J8pNhVIZ8gQg1B21UFyyb_qAVK1PBeG_Gz4YsSNu19fYK9UcijM7R35yx-QY-6D/s1600/s-blob-v1-IMAGE-dpsBMg6pUfc.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="839" data-original-width="1600" src="https://imgproxy.citrusreader.com/8h6wSZG0EG6cNzDtFujHUv8SlvJ_hCmPkLY3quYtycw/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VqdVp5aWZPOGg1cWMtaFd6a1BWbzJKcjVGTUFacF9ad2gwUE9OUGdhTVlrcmY4S1U0WDRNaHpMY0x1X1A0aFhFekFRTVh0RUk0cVJkN1BadWlEb29Fc1J5LXlDNWJFai1zVjB2ZG9fd1FZWTR4UmVLWHVucEVlSVdwdjhLaUQ1SjhwTmhWSVo4Z1FnMUIyMVVGeXliX3FBVksxUEJlR19HejRZc1NOdTE5ZllLOVVjaWpNN1IzNXl4LVFZLTZEL3MxNjAwMC9zLWJsb2ItdjEtSU1BR0UtZHBzQk1nNnBVZmMuZ2lm"></a><br><br>This is just the first phase of enhancing search capabilities within GTI. We are committed to building on this foundation to provide even more robust tools that make your threat intelligence actionable and collaborative.<br><br>You can get more info by exploring our documentation page:</div><div><br><ul style="text-align: left;"><li><a href="https://gtidocs.virustotal.com/docs/saved-searches-guide">Saved Searches documentation page</a></li></ul><ul style="text-align: left;"><li><a href="https://gtidocs.virustotal.com/reference/list-saved-searches">API documentation</a></li></ul>Thank you for your feedback during the <b>#monthofgoogletisearch</b> campaign - your input directly fueled this launch. <br><br>Happy Hunting! ^_^<span id="docs-internal-guid-edd1f4a3-7fff-f37d-d290-ce3d736fc6ae"><br><br></span></div>

2025/12/10
阅读更多

VTPRACTITIONERS{ACRONIS}: Tracking FileFix, Shadow Vector, and SideWinder

<h1 style="text-align: left;">Introduction </h1> <div class="interval_12">We have recently started a new blog series called #VTPRACTITIONERS. This series aims to share with the community what other practitioners are able to research using VirusTotal from a technical point of view. </div> <div class="interval_12">Our first blog saw our colleagues at <a href="https://blog.virustotal.com/2025/10/virustotal-success-stories-seqrite.html" target="_blank">SEQRITE tracking UNG0002, Silent Lynx, and DragonClone</a>. In this new post, <a href="https://www.acronis.com/en/tru/" target="_blank">Acronis Threat Research Unit (TRU)</a> shares practical insights from multiple investigations, including the ClickFix variant known as FileFix, the long-running South Asian threat actor SideWinder, and the SVG-based campaign targeting Colombia and named Shadow Vector. </div> <h1 style="text-align: left;">How VT plays a role in hunting for analysts </h1> <div class="interval_12">For the threat analyst, web-based threats present a unique set of challenges. Unlike file-based malware, the initial stages of a web-based attack often exist only as ephemeral artifacts within a browser. The core of the investigation relies on dissecting the components of a website, from its HTML and JavaScript to the payloads it delivers. This is where VT capabilities for archiving and analyzing web content become critical. </div> <div class="interval_12">VT allows analysts to move beyond simple URL reputation checks and delve into the content of web pages themselves. For attacks like the *Fix family, which trick users into executing malicious commands, the entire attack chain is often laid bare within the page's source code. The analyst's starting point becomes the malicious commands themselves, such as <mark class="red">navigator.clipboard.writeText</mark> or <mark class="red">document.execCommand("copy")</mark>, which are used to surreptitiously copy payloads to the victim's clipboard. </div> <div class="interval_12">The Acronis team's investigation into the FileFix variant demonstrates a practical application of this methodology. Their research began not with a specific sample, but with a hypothesis that could be translated into a set of hunting rules. Using VT's Livehunt feature, they were able to create YARA rules that searched for new web pages containing the clipboard commands alongside common payload execution tools like <mark class="red">powershell</mark>, <mark class="red">mshta</mark>, or <mark class="red">cmd</mark>. This proactive hunting approach allowed them to cast a wide net and identify potentially malicious sites in real-time. </div> <div class="interval_12">One of the main challenges in this type of hunting is striking a balance between rule specificity and the need to uncover novel threats. Overly broad rules can lead to a deluge of false positives, while highly specific rules risk missing creatively crafted commands. The Acronis team addressed this by creating multiple rulesets with varying levels of specificity, allowing them to both find known threats and uncover new variants like FileFix. </div> <div class="interval_12">In the case of the SideWinder campaign, which uses document-based attacks, VT value comes from its rich metadata and filtering capabilities. Analysts can hunt for malicious documents exploiting specific vulnerabilities, and then narrow the results by focusing on specific geographic regions through submitter country information. This allows them to effectively isolate threats that match a specific actor's profile, such as SideWinder's focus on South Asia. </div> <div class="interval_12">Similarly, for the Shadow Vector campaign, which used malicious SVG files to target users in Colombia, VT content search and archiving proved essential. The platform's ability to store and index SVG content allowed researchers to identify a campaign using judicial-themed lures. By combining content searches for legal keywords with filters like <mark class="red">submitter:CO</mark>, the Acronis team could map the entire infection chain and its infrastructure, transforming fragmented indicators into a comprehensive intelligence picture. </div> <h1 style="text-align: left;">Acronis - Success Story </h1> <div class="interval_12"><i>[In the words of Acronis…] </i></div> <div class="interval_12"><a hreaf="https://www.acronis.com/en/tru/about/" target="_blank">Acronis Threat Research Unit (TRU)</a> used VirusTotal’s platform for threat hunting and intelligence across several investigations, including FileFix, SideWinder, and Shadow Vector. In the FileFix case, TRU used VT’s Livehunt framework, developing rules to identify malicious web pages using clipboard manipulation to deliver PowerShell payloads. The ability to inspect archived HTML and JavaScript whitin the VirusTotal platform allowed the team to uncover not only known Fix-family attacks but also previously unseen variants that shared code patterns. </div> <div class="interval_12">VirusTotal’s data corpus also supported Acronis TRU’s broader threat tracking. In the SideWinder campaign, VT’s metadata and sample filtering capabilities helped analysts trace targeted document-based attacks exploiting <mark class="red">tag:CVE-2017-0199</mark> and <mark class="red">tag:CVE-2017-11882</mark> across South Asia, leading to the creation of hunting rules later published in <a href="https://www.acronis.com/en/tru/posts/from-banks-to-battalions-sidewinders-attacks-on-south-asias-public-sector/" target="_blank">“From banks to battalions: SideWinder’s attacks on South Asia’s public sector”</a>. </div> <div class="interval_12"> Similarly, during the <a href="https://www.acronis.com/en/tru/posts/shadow-vector-targets-colombian-users-via-privilege-escalation-and-court-themed-svg-decoys/" target="_blank">“Shadow Vector targets Colombian users via privilege escalation and court-themed SVG decoys”</a> investigation, VT’s archive of SVG content exposed a campaign targeting Colombian entities that embedded judicial lures and external payload links within SVG images. By correlating samples with metadata filters such as <mark class="red">submitter:CO</mark> and targeted content searches for terms like href="https://" and legal keywords, the team mapped an entire infection chain and its supporting infrastructure. Across all these efforts, VirusTotal provided a unified environment where Acronis could pivot, correlate, and validate findings in real time, transforming fragmented indicators into comprehensive, actionable intelligence. </div> <h1 style="text-align: left;">Hunting Exploits Like It’s 2017-0199 (SideWinder Edition) </h1> <div class="interval_12"><a href="https://attack.mitre.org/groups/G0121/" target="_blank">SideWinder is a well-known threat actor</a> that keeps going back to what works. Their document-based delivery chain has been active for years, and the group continues to rely on the same proven exploits to <a href="https://www.acronis.com/en/tru/posts/from-banks-to-battalions-sidewinders-attacks-on-south-asias-public-sector/" target="_blank">target government and defense entities across South Asia</a>. Our goal in this hunt was to get beyond just finding samples. We wanted to understand where new documents were surfacing, who they were likely aimed at, and what types of decoys were in circulation during the latest campaign wave. VirusTotal gave us the visibility we needed to do that efficiently and at scale. </div> <div class="interval_12">We started by digging into Microsoft Office and RTF files recently uploaded to VirusTotal that were tagged with <a href="https://docs.virustotal.com/docs/writing-yara-rules-for-livehunt" target="_blank">CVE-2017-0199</a> or <a href="https://www.virustotal.com/gui/search/tag%253ACVE-2017-11882?type=files" target="_blank">CVE-2017-11882</a> and coming from Pakistan, Bangladesh, Sri Lanka, and neighboring countries. <a href="https://docs.virustotal.com/docs/writing-yara-rules-for-livehunt" target="_blank">By filtering based on VT metadata such as submitter country and file type</a>, and by excluding obvious noise from bulk submissions or unrelated activity, we could narrow our focus to the samples that actually fit SideWinder’s operational profile. </div> <div class="interval_12"><pre> /* Checks if the file is tagged with CVE-2017-0199 or CVE-2017-11882 and originates from one of the targeted countries and the file type is a Word document, RTF, or MS-Office file */ import "vt" rule hunting_cve_maldocs { meta: author = "Acronis Threat Research Unit (TRU)" description = "Hunting for malicious Word/RTF files exploiting CVE-2017-0199 or CVE-2017-11882 from specific countries" distribution = "TLP:CLEAR" version = "1.2" condition: // Match if the file has CVE-2017-0199 or CVE-2017-11882 in the tags for any tag in vt.metadata.tags : ( tag == "cve-2017-0199" or tag == "cve-2017-11882" ) // Originates from a specific country? and ( // Removed CN due to spam submissions of related maldocs vt.metadata.submitter.country == "PK" or vt.metadata.submitter.country == "LK" or vt.metadata.submitter.country == "BD" or vt.metadata.submitter.country == "NP" or vt.metadata.submitter.country == "MM" or vt.metadata.submitter.country == "MV" or vt.metadata.submitter.country == "AF" ) // Is it a DOC, DOCX, or RTF? and ( vt.metadata.file_type == vt.FileType.DOC or vt.metadata.file_type == vt.FileType.DOCX or vt.metadata.file_type == vt.FileType.RTF ) // Different TA spotted using .ru TLD (excluding it for now) and not ( for any url in vt.behaviour.memory_pattern_urls : ( url contains ".ru" ) ) and vt.metadata.new_file } </pre> </div> <div class="interval_12">Next, we began translating those results into new livehunt rules. The initial version was intentionally broad: match any new document exploiting those CVEs, uploaded from a small list of countries of interest, and restricted to document file types like DOC, DOCX, or RTF. We also added logic to avoid hits that didn’t fit SideWinder’s patterns, such as samples calling out .ru infrastructure tied to other known threat clusters. </div> <div class="interval_12">A good starting point when creating broad hunting rules is to define a daily notification limit and if everything works as expected and the level of false positives is tolerable, begin refining the rule as more and more hits come to our inbox. </div> <div class="central_box interval_12"><img src="data:image/png;base64,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" > </div> <div class="figures centrar-texto">It’s always a good idea to not spam your own inbox when creating broad hunting rules </div> <div class="interval_12">In our case, the final hunting rule ended up matching a hexadecimal pattern for malicious documents used by SideWinder. By adding filters for submitter country and only triggering on new files, the rule produced a reliable feed of samples that we could confidently attribute to this actor for further analysis. </div> <div class="interval_12"><pre> /* Sidewinder related malicious documents exploiting CVE 2017-0199 used during 2025 campaign */ import "vt" rule apt_sidewinder_documents { meta: author = "Acronis Threat Research Unit (TRU)" description = "Sidewinder related malicious documents exploiting CVE 2017-0199" distribution = "TLP:CLEAR" version = "1.0" strings: $a1 = {62544CB1F0B9E6E04433698E85BFB534278B9BDC5F06589C011E9CB80C71DF23} $a2 = {E20F76CDABDFAB004A6BA632F20CE00512BA5AD2FE8FB6ED9EE1865DFD07504B0304140000} condition: filesize < 5000KB and any of ($a*) and vt.metadata.new_file // Getting spammy samples from a CN submitter and not vt.metadata.submitter.country == "CN" }</pre> </div> <div class="interval_12">Once we refined the rule set, SideWinder activity became much easier to track consistently. We began to see new decoys appear in near real time, allowing us to monitor changes in themes and spot repeated use of lure content and infrastructure across different campaigns. Using the same logic in retrohunt confirmed our observations that SideWinder had been using the same tactics for months, only changing the decoy topics while keeping the underlying delivery technique intact. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/8lflR4871YiY9bMEHxBnO4gkf6PyLVZ_-PTxhwDpWGk/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VnZ0RRTUNKQ2hldnYxSXBQWXh1MUc4MndZWnRkSzBsNnVhNUVRWS1ILXFjZ2JFRnNSSVJpeXFWcURHeTgtRllEZEkyZ2kwRUlrOHl5VTd4aTdnS0NlT1dHR2QtVXFrallxSjRoMmx5VUJqcXVMRnF3ODFIbmt0eXVnb0xIbUV0UjJkRkYxRUluWkZFUVNtM2JNWjRqbzJIS1U5WkJQTlZ5MGZXeS1ZaENySmtqU256bHdySExWX19DcWxHX3M"> </div> <div class="figures centrar-texto">Using Retrohunt to uncover additional samples and establish the threat actor’s timeline </div> <div class="interval_12">We also observed geofencing behavior in the delivery chain. If the server hosting the external resource did not recognize the visitor or the IP range did not match the intended target, the server often returned a <a href="https://www.virustotal.com/gui/file/1955c6914097477d5141f720c9e8fa44b4fe189e854da298d85090cbc338b35a" target="_blank">benign decoy file</a> (or an HTTP 404 error code) instead of the real payload. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/oKonS7_goGvIxVebW4jLkgjyWmsf5IhbKYwNGtRrLxI/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VnM01CVXVRTjBzY0ZCY0gydnhSTGNXelVnWHZEZ1VUSF9vZTE2ZWR2ZjI1c3RoeWlCZklIVzM2eU1wQnloV0I2cGVnbGY4d21FcDNRY2RUbGdrUzBlTTdsR3ByczJsbnlfNjh3VWduSEdvU01oNklObGVJamVXQlBIdmdUdEE0cThOOFpucmFTOV9sM1IzamJUd0ZSWG9ZbXhkT0dzSnZFNHVIeXdLenFTUG8xRTBFbWItTEEzRko4QmFBRUU"> </div> <div class="figures centrar-texto">While relying on exploits from 2017, SideWinder carefully filters the victims that will receive the final malicious payload </div> <div class="interval_12">One recurring decoy had the SHA256 hash <a href="https://www.virustotal.com/gui/file/1955c6914097477d5141f720c9e8fa44b4fe189e854da298d85090cbc338b35a" target="_blank">1955c6914097477d5141f720c9e8fa44b4fe189e854da298d85090cbc338b35a</a>, which corresponds to an empty RTF document. That decoy is useful as a hunting pivot: by searching for that hash and combining it with submitter country and file type filters in VT, you can separate likely targeted, genuine hits from broad noise and map where geofencing is being applied. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/4CLXxskUqc6oTCrURCrN8ufk2QKBbm7hdGfLTybW-os/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoZlJ0am9YWlFSTnk5ZW9hbnp0TFBPRDZEVk9hU2FaYkI0WW9uN0NVNkp1ZnBzVW5rTGtOT2cyUWlwWWRzV1dOT2diZXF6NGkyVldLMXNBNmdDanZXNVU1dkVCd2xXdEpMb3VJNnduN1BDY3lYRllPN2YzVHZOTnlEZFl5cktuNlVvS3JkbUl1NWt3djM0R1Y3cGVIeU11WXZCVnphbWZnWVJvaDJ5WXR4Y1V3SWotY1VlSzNxeDRtN0FiSEE"> </div> <div class="figures centrar-texto">RTF empty decoy file used by SideWinder still presents valuable information for pivoting into other parts of their infrastructure </div> <div class="interval_12">In addition, VirusTotal allowed us to trace the attack back to the initial infection vector and recover some of the spear phishing emails that started the chain. We pivoted from known samples and shared strings, and used file relations to follow linked URLs and artifacts upstream, and found an .eml file that contained the original message and attachment. One concrete example is the spear phish titled <a href="https://www.virustotal.com/gui/file/40fc70e61157b3903a7517b9928c87784070af59d533cdbae5ca2d4d7cbb45ac/behavior" target="_blank">54th CISM World Military Naval Pentathlon 2025 - Invitation.eml</a>, indexed in VirusTotal with behavior metadata and attachments tied to the same infrastructure. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/XPncvoReHTxK6EC1JTQ_0NXPLS3vSJDSsrJllbGhIYg/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoV3RWVmZhVWk4VXZseHotc2loS0ZPaWk0WEE4OFpzLUdOdWUwdW9PTTRfUG1FTzVTVTNCX2pOME1BcjhrMTZ6VFNMLWd2UjJYWHBZaFh2TzNJQThSZ0VTVUR4NFk0X25EQ3RCdGFicFZVZG5vTzFGR1YtX2NQRkk4S1FPdEd3Tnl5V0JvQzE0RTNIVl8wTTUtRDZQY3Z2MnlNWm02S2xYRDF1cjV0M0pGVnhpWDlJT29jV0l2NGJ3UDJ2Q28"> </div> <div class="figures centrar-texto">Getting initial infection spear-phishing e-mails allowed us to put together the different pieces of the puzzle, from beginning to end </div> <div class="interval_12">For other hunters, the key takeaway is that even older exploits like CVE-2017-0199 can reveal a lot when you combine multiple VirusTotal features. In this case, we used metadata, livehunt, and regional telemetry to connect seemingly unrelated samples. We also checked hashtags and community votes, including those from researchers like Joseliyo, to cross-check our assumptions and spot ongoing discussions about similar activity. The Telemetry tab helped us see where submissions were coming from geographically, and the Threat Graph view made it easier to visualize how documents, infrastructure, and payloads were linked. </div> <div class="central_box interval_12"><img src="data:image/png;base64,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UDRlPDl0jQRIgATkSGAg+0TRHMizz7GTAAmQAAn0igBFs1e4aEwCJEACJDCQCchXNAfyrHDsJEACJEACsiRA0ZTltNApEiABEiABORKgaMpxVuTrEz0jARIggQFNgKI5oKefgycBEiABEugNAYpmb2jRlgTkSIA+kQAJuI3APyWao+OTwEAGvAd4D/Ae4D3gSfeAK5S116L5XV4WGMiA9wDvAd4D170H+D4pU624WeHstWjebIesTwIkQAIkQAKeSoCi6akzR79JgARIgAR6R8AF1hRNF0BkEyRAAiRAAgODAEVzYMwzR0kCJEACJOACAhRNF0C8vAmmSIAESIAE+isBimZ/nVmOiwRIgARIwOUEKJouR8oG5UiAPpEACZCAKwhQNF1BkW2QAAmQAAkMCAIUzQExzRwkCciRAH0iAc8jQNH0vDmjxyRAAiRAAn1EgKLZR+DZLQmQAAnIkQB9uj4Biub1+bCUBEiABEiABC4SoGheRMEICZAACZAACVyfQN+I5vV9YikJkAAJkAAJyJIARVOW00KnSIAESIAE5EiAoinHWekbn9grCZAACZDADQhQNG8AiMUkQAIkQAIk0Eng/wMAAP//yWCClQAAAAZJREFUAwCZH/Vqpfy8swAAAABJRU5ErkJggg==" > </div> <div class="figures centrar-texto">Every single data point counts when hunting for new samples </div> <div class="interval_12">Using these tools together turned a noisy set of samples into a clear picture of SideWinder’s targeting and operations. </div> <h1 style="text-align: left;">Uncovering Shadow Vector’s SVG-Based Crimeware Campaign in Colombia </h1> <div class="interval_12">During our research, <a href="https://www.acronis.com/en/tru/posts/shadow-vector-targets-colombian-users-via-privilege-escalation-and-court-themed-svg-decoys/" target="_blank">we identified a campaign we refer to as Shadow Vector</a>, which used malicious SVG images crafted as court summonses and legal notifications to target users in Colombia. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/0b6FVletF5SLcE74WFFnDpmkUoVMAOySGrTtSN6MJV0/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VnZjV3NkZsSVNrM293MzBLYmt2c0c4d2FXUzdhTmRPWUxpWnhQd1h0SGFWa3VBX3NlWnVWb3Nybk1OcXZ0YXk0Qkxwd1E1SmtnLUNRZWowdUNlYzczX3k3SnpEVktWWFM5bE1sTFozdWJxZFJUb2NWakxaR1JCbC11YWVLTHFIRFdqNFdMdnNoRzYwSVJNaGRHaTBuaVAyLTVPT2xCb3Eyd1k2QTJJQkh2cjJvNzVwRTc2V1hSdkhheWNJbjg"> </div> <div class="figures centrar-texto">An <a href="https://www.virustotal.com/gui/file/15818f97142d49cbc9662d51bb0155a7a8dc650bf1daf26e07a5fff4ff15d93f" target="_blank">example</a> of a rendered SVG lure with a judicial correspondence theme </div> <div class="interval_12">These files mimicked official judicial correspondence and contained embedded links to externally hosted payloads, such as script-based downloaders or password-protected archives. The investigation began after we noticed an unusual pattern of SVG submissions from Colombia. By using a small set of samples for an initial rule, we began our hunt. </div> <div class="interval_12"> <pre> &lt;!--     This YARA rule detects potentially malicious SVG files that are likely being used for crimeware campaigns targeting Colombia.     The rule identifies SVG images that contain legal or judicial terms commonly used in phishing scams,      along with embedded external links that could be used to deliver a payload. --&gt; import &quot;vt&quot; rule crimeware_svg_colombia {    meta:         author = &quot;Acronis Threat Research Unit (TRU)&quot;         description = &quot;Detects potentially malicious SVG files that are likely being used for crimeware campaigns targeting Colombia&quot;         distribution = &quot;TLP:CLEAR&quot;         version = &quot;1.1&quot;         // Reference hashes         hash1 = &quot;6d4a53da259c3c8c0903b1345efcf2fa0d50bc10c3c010a34f86263de466f5a1&quot;         hash2 = &quot;2aae8e206dd068135b16ff87dfbb816053fc247a222aad0d34c9227e6ecf7b5b&quot;         hash3 = &quot;4cfeab122e0a748c8600ccd14a186292f27a93b5ba74c58dfee838fe28765061&quot;         hash4 = &quot;9bbbcb6eae33314b84f5e367f90e57f487d6abe72d6067adcb66eba896d7ce33&quot;         hash5 = &quot;60e87c0fe7c3904935bb1604bdb0b0fc0f2919db64f72666b77405c2c1e46067&quot;         hash6 = &quot;609edc93e075223c5dc8caaf076bf4e28f81c5c6e4db0eb6f502dda91500aab4&quot;         hash7 = &quot;4795d3a3e776baf485d284a9edcf1beef29da42cad8e8261a83e86d35b25cafe&quot;         hash8 = &quot;5673ad3287bcc0c8746ab6cab6b5e1b60160f07c7b16c018efa56bffd44b37aa&quot;         hash9 = &quot;b3e8ab81d0a559a373c3fe2ae7c3c99718503411cc13b17cffd1eee2544a787b&quot;         hash10 = &quot;b5311cadc0bbd2f47549f7fc0895848adb20cc016387cebcd1c29d784779240c&quot;         hash11 = &quot;c3319a8863d5e2dc525dfe6669c5b720fc42c96a8dce3bd7f6a0072569933303&quot;         hash12 = &quot;cb035f440f728395cc4237e1ac52114641dc25619705b605713ecefb6fd9e563&quot;         hash13 = &quot;cf23f7b98abddf1b36552b55f874ae1e2199768d7cefb0188af9ee0d9a698107&quot;         hash14 = &quot;f3208ae62655435186e560378db58e133a68aa6107948e2a8ec30682983aa503&quot;    strings:         // SVG          $svg = &quot;&lt;svg xmlns=&quot; ascii fullword         // Documents containing legal or judicial terms         $s1 = &quot;COPIA&quot; nocase         $s2 = &quot;CITACION&quot; nocase         $s3 = &quot;JUZGADO&quot; nocase         $s4 = &quot;PENAL&quot; nocase         $s5 = &quot;JUDICIAL&quot; nocase         $s6 = &quot;BOGOTA&quot; nocase         $s7 = &quot;DEMANDA&quot; nocase         // When image loads it retrieves payload from external website using HTTPS         $href1= &quot;href='https://&quot; nocase         $href2 = &quot;href=\&quot;https://&quot; nocase    condition:       $svg        and filesize &lt; 3MB       and 3 of ($s*)       and any of ($href*)       and vt.metadata.submitter.country == &quot;CO&quot; } </pre> </div> <div class="interval_12">By including reference hashes from manually verified samples, we used a broad hunting rule both as detection mechanism and a pivot point for uncovering related infrastructure or newly generated lures. </div> <div class="interval_12">Once the initial hunting logic was in place, we refined it into a livehunt rule specifically tailored for SVG-based decoys. The rule matched files containing judicial terminology and outbound HTTPS links, while filtering by file size and origin to reduce false positives. Using this rule, we began collecting and analyzing related uploads. </div> <div class="interval_12">We used the <a href="https://gtidocs.virustotal.com/docs/diff" target="_blank">VT Diff</a> functionality to compare variations between samples and quickly spot patterns, such as repeated words, hexadecimal values, URLs, or metadata tags that hinted at automated generation (i.e. the string “Generado Automaticamente”). </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/gAEDEOVBko9WZJKFFvhEdtKG1cyyvd0e_IzKKjZMhU0/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoN1h2OTV6MmxTN1Mxb18yT0UzWkE0cEFpVGdCNW1FRF9vcmt3MGxtSHBZbV9TemdsZGFGeWJGc2xvQkJKa1ZXRGhDR3B5ZUFoenFoNHFLQmtOX1E1N2Q0c0JkRmc4bXAwLTA2djA1dDcwaE95RkdKYWx6SmlSei00dTdOOXFPLVAydTJyVzIwY3RlZFRRM1lFOXVvVTNpVG5FdXVpWWdoaW8zS1ZGNzFZYWRvOE5IcEp4d2JsekJPd1BWRGM"> </div> <div class="figures centrar-texto">VT Diff feature helped us to identify patterns </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/gE5C8HsWkXAAa-j-kwtfFnRmNXLLEcYlKJNxCQ2Nl9o/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VpZ1RvTGpqTEdNaEpaVTJRZHBEZWR1RkpZZXFYS3BhYTVkRjF0MEZ2UGs0UTMzLWxndkwyOElHNEU4YWhxQU5meXhfdXJlVWhtX2NsZVZaX3Z6eUU0UFFPenBHTlJHOC1Yd3VYZ2lvYlBXdEVHbllmS0JySUVoTTM2YkFxcXdDZ1F6SWFMUUpZbUVHRnRkRmpuVzBvcVA1SEtQbXI1WEJnSFpIUXFFVHM2ZkRXekZ5aDBUSDNndWlCSVZzNVE"> </div> <div class="figures centrar-texto">Results of our VT Diff session </div> <div class="interval_12">While we could not conclusively attribute the SVG decoy campaign to <a href="https://attack.mitre.org/groups/G0099/" target="_blank">Blind Eagle</a> at the time of research, the technical and thematic overlaps were difficult to ignore. The VT blog <a href="https://blog.virustotal.com/2025/09/uncovering-colombian-malware-campaign.html" target="_blank">“Uncovering a Colombian Malware Campaign with AI Code Analysis”</a> describes similar judicial-themed SVG files used as lures in operations targeting Colombian users. As with other open reports on this threat actor, attribution remains based on cumulative evidence, clustering campaigns based on commonalities such as infrastructure reuse, phishing template design, malware family selection, and linguistic or regional indicators observed across samples. </div> <div class="interval_12"> <pre> rule crimeware_shadow_vector_svg {     meta:         description = &quot;Detects malicious SVG files associated with Shadow Vector&#39;s Colombian campaign&quot;         author = &quot;Acronis Threat Research Unit (TRU)&quot;         file_type = &quot;SVG&quot;         malware_family = &quot;Shadow Vector&quot;         threat_category = &quot;Crimeware / Malicious Image / Embedded Payload&quot;         tlp = &quot;TLP:CLEAR&quot; strings:         $svg_tag1 = &quot;&lt;?xml&quot; ascii         $svg_tag2 = &quot;&lt;svg&quot; ascii         $svg_tag3 = &quot;&lt;!DOCTYPE svg&quot; ascii         $svg_tag4 = &quot;http://www.w3.org/2000/svg&quot; ascii          //used by Shadow Vector (possibly generated in batch)         $judicial = &quot;juzgado&quot; ascii nocase         $judicial_1 = &quot;citacion&quot; ascii nocase         $judicial_2 = &quot;judicial&quot; ascii nocase         $judicial_3 = &quot;despacho&quot; ascii nocase         $generado = &quot;Generado&quot; ascii nocase     condition:         filesize &lt; 3MB and         3 of ($svg_tag*) and         (1 of ($judicial*) and $generado) }</pre> </div> <div class="interval_12">The evolution from the initial hunting rule to the refined detection rule illustrates our approach to threat hunting in VT, iterative and continuously refined through testing and analysis. The first rule was broad, meant to surface related samples and reveal the full scope of the campaign. It proved useful in livehunt and retrohunt, helping us find clusters of judicial-themed SVGs and their linked payloads. As the investigation progressed, we focused on precision, reducing false positives and removing elements that did not add value. Tuning a rule is always a balance: removing one pattern might miss some samples, but it can also make the rule more accurate and easier to maintain. </div> <h1 style="text-align: left;">FileFix in the wild! </h1> <div class="interval_12">A few weeks ago, the <a href="https://www.acronis.com/en/tru/about/" target="_blank">TRU team</a> at Acronis <a href="https://www.acronis.com/en/tru/posts/filefix-in-the-wild-new-filefix-campaign-goes-beyond-poc-and-leverages-steganography/" target="_blank">released</a> research on a (at the time) rarely seen variant of the <a href="https://logpoint.com/en/blog/emerging-threats/clickfix-another-deceptive-social-engineering-technique" target="_blank">ClickFix</a> attack, called FileFix. Much of the investigation of this attack vector was possible thanks to VirusTotal’s ability to archive, search, and write rules for finding web pages. We, at Acronis, together with VT, wanted to share a bit of information on how we did it- so that others can better research this type of emerging threat. </div> <h2 style="text-align: left;">Anatomy of an attack- where do we start? </h2> <div class="interval_12">Like many phishing attacks, <a href="https://attack.mitre.org/techniques/T1204/004/" target="_blank">*Fix attacks</a> rely on malicious websites where victims are tricked into running malicious commands. Lucky for us, these attacks have a few particular components that are in common to all, or many, *Fix attacks. Using VT, we were able to write rules and <a href="https://gtidocs.virustotal.com/docs/livehunt-guide" target="_blank">livehunt</a> for any new web pages which included these components, and were able to quickly reiterate on rules that were too broad. </div> <div class="interval_12">One thing all *Fix attacks have in common, is that they copy a malicious command to the victims clipboard- copying the malicious command, rather than letting the user copy the command themselves, allows attackers to try to hide the malicious part of the command from the victim, and only allow for a smaller, “benign” portion of the command to appear when they copy it into their Windows Run Dialogue or address bar. This commonality gives us two great strings to hunt for: </div> <div class="interval_12"><ul> <li>The commands used to copy text into the victims clipboard </li> <li>The commands used to construct the malicious payload </li> </ul> </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/TD121XKsZ0T5ndCcKJ7PEHPKRouz7MxStIqmOjbIvu0/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0Vpa3dxRXdJcHVSN2swdmw0c3A2Q0hsdDZKT21HRmpSU21JbldEeVczZV9MVWJrRXVRajEtby1aYVo3cVlYYjlqRl9HcnpQajltT0h6ZGs4RVh4UUt3Q1FwcnhYNjFNZm0tTGtqZUFQamtLRFJZQ0N5R1BlcTEtbkhYOF8zUEtiRUE0SVVfU1duczVVWU9MdVhMX0U4WDVNX0FQNlJWaldJdWtqcGxDajdHU0VsbGtFa0FVYXA0TlNUanVSdDg"> </div> <div class="figures centrar-texto"></div> <div class="interval_12">We began our research by using the Livehunt feature, and wrote a rule to detect <mark class="red">navigator.clipboard.writeText</mark> and <mark class="red">document.execCommand("copy")</mark>, both used for copying into clipboard, as well as any string including the words <mark class="red">powershell</mark>, <mark class="red">mshta</mark>, <mark class="red">cmd</mark>, and other commands we find commonly used in *Fix attacks. At its most basic form, a rule might look like this: </div> <div class="interval_12"> <pre>import "vt" rule ClickFix { strings: $clipboard = /(navigator\.clipboard\.writeText|document\.execCommand\(\"copy\"\))/ $pay01 = /(powershell|cmd|mshta|msiexec|pwsh)/gvfi condition: vt.net.url.new_url and $clipboard and any of ($pay*) } </pre> </div> <div class="interval_12">However, this is far from enough. There are plenty of benign sites that use the copy to clipboard feature, and also have the words powershell or cmd present (the three letters “cmd” appear often as part of Base64 strings). This makes things a bit more tricky, as it requires us to iron out these false positives. We need to make our patterns look more similar to real powershell or cmd commands. </div> <div class="interval_12">Unfortunately, there is such a huge variance in how these commands are written, that the more rigid our patterns became, the more likely it was for us to miss a true positive that included something we haven’t seen before or couldn’t think of. This requires a balancing act- if your rules are too rigid, you will miss true positives that employ a creatively crafted command; too loose and you will receive a large number of false positives, which will slow down investigation. </div> <div class="interval_12">For example, we can try narrowing down our rule to include more true positives of powershell commands by searching for a string that’s better resembling some of the powershell commands we’ve seen as part of a ClickFix payload, by including the “iex” cmdlet, which tells the powershell command to execute a command: </div> <div class="interval_12"> <pre>$pay03 = /powershell.{,80}iex/</pre></div> <div class="interval_12">This will match whenever the word powershell appears, with the word <mark class="red">iex</mark> appearing 0 to 80 characters after it. This should reduce the number of false positives we see related to powershell, as it more clearly resembles a powershell command, but at the same time limits our rule to only catch powershell commands that follow this structure- any true positive command with more than 80 characters between the word <mark class="red">powershell</mark> and <mark class="red">iex</mark>, or commands forgoing the use of iex, will not be caught. </div> <div class="interval_12">We ended up setting a number of separate rulesets, some were more specific, others more generic. The more generic ones helped us tune our more specific rulesets. This tactic allowed us to find a large number of ClickFix attacks. Most were run of the mill fake captchas, leveraging ClickFix, others were more interesting. As we continued fine tuning our rules, and within a week of setting up our Livehunt, one of our more generic rules has made an interesting <a href="https://www.virustotal.com/gui/url/0c91dbdf806b35d57c332e71ff73c5e18ca86e1d1906099543698b3155c95ca7/content" target="_blank">detection</a>. At first glance, it appeared to be a false positive, but as we looked closer, we discovered that it’s exactly what we were hoping to find- a FileFix attack. </div> <h2 style="text-align: left;">Analyzing payloads </h2> <div class="interval_12">One of the nicest things about researching a *Fix attack is that the payload is right there on the website, right in plain site. This offers a few advantages- the first is that we can examine the payload even when the phishing site itself is down, as long as it’s archived by VT. The second advantage is we can further search for similar patterns on VT via VT queries to try and catch other attacks from the same campaign. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/tt-6w0YSK9yXCJ2dun1xYjEY4g2B32MQ7duhgdOGlds/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VpLXpnTnBSUGRJbjl4UDBKSFQwYnFYRkp3dGY1alVGWWFXVDUyX1NuTWwzOUtmUkN5aG5LSzF1RGJnTk1nVVNOc0YtRV96SjVDTWpWMENvTnRiWEowdzlOUWJtN24tTmdLZFZMZEFGN0pCRWM1cnRKOE9DTFh6MjJodTVNYVlNR3pwc1VZRGhqbVZrZ2N3RlVURXRPUkFKSnBLdFJFMEkxUHI2R1ppeUJqTWQ0b2FXNWYwOW1YbmlFbXlYanc"> </div> <div class="figures centrar-texto">Payloads are visible directly in VT, by using the content tab on any suspected website (and in this case- obfuscated)</div> <div class="interval_12">Often, these payloads may contain additional malicious urls which are used to download and execute additional payloads. These can also very easily be examined on VT, and any files they lead to may also be downloaded directly from VT. </div> <div class="interval_12">In our investigation of the FileFix site, we found that the payload (a powershell command) downloads an <a href="https://www.virustotal.com/gui/file/06471e1f500612f44c828e5d3453e7846f70c2d83b24c08ac9193e791f1a8130/detection" target="_blank">image</a>, and then runs a script that is embedded in the image file. That second-stage script then decrypts and extracts an <a href="https://www.virustotal.com/gui/file/70ae293eb1c023d40a8a48d6109a1bf792e1877a72433bcc89613461cffc7b61/behavior" target="_blank">executable</a> from the image and runs it. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/3pUxVxaOgXfx7h7jlREQW5qqFvHQlmpbXaws-69g8D4/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VqV1ZJbWZseFRTQTA1QUs1TXpEaG4wLVg1M2VkM1phRUktazdlX3JDRjNFd3JfZjhRNTlRSkVkNzJpY0Y3Vm4xeG1XUnBpcWNjX0dLcEN5SzRScnRVTDhSOXFCcUFwTkRYT0djWV9mcG9yNDMtdTV6V3BoZm9ZT0hIYWFUanVELVNXUTRRRER2bUNCYW8tRGxXZXAwLWZnVGtDVkhBeE5MS2Q2TGp4VXFZc0xMQURwVGxXby13THlGclR4NWs"> </div> <div class="figures centrar-texto">FileFix <a href="https://www.virustotal.com/gui/url/0c91dbdf806b35d57c332e71ff73c5e18ca86e1d1906099543698b3155c95ca7/content" target="_blank">site</a> downloading and extracting code from an image (highlighted)</div> <div class="interval_12">We were using both a VM and VT to investigate these payloads. One interesting way we were able to use VT is to track additional examples of the malicious images, as parts of the command were embedded as strings in the image file, allowing us to match these patterns via a VT query and find new <a href="https://www.virustotal.com/gui/search/content%253A%257B24733d302e2e323535%257D?type=files" target="_blank">examples of the attack</a>, or by searching for the file name or the domain which hosts it. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/fodDWbymirHtGRLySSvqKN0OJxj6Vjkh6o7eUuxe6dE/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoVVlCVWwyNjJzQWVucEtjQkFybTdyWTRodVN4QmpnVmx5MXhIN0JhYjlJUm04ejhQVUlFY2ppQlJDdEYzTlZKRHZvcDYxYlRwRFZHcmJuZUxGcFZna2hzbTA5WTF3VnZlRlZaY0E0RzVPYUZNZE5wZU5RTEhJbFd2RTdYdWdnMFRHNUdCZnVES0ZYdkZnRUhLQ1lweThCakE1X1FQRm5UVVBLQ0otZnBtSWV4T245aXQ2dUFSV3VUTEhUY0E"> </div> <div class="figures centrar-texto">Pivoting on the domain hosting malicious .jpg files, to investigate additional stages of the attack, archived by VT </div> <div class="interval_12">VT has been extremely helpful in allowing us to very easily analyze malicious URLs used not only for phishing, but also for delivering malware and additional scripts. In some examples, we were able to get quite far along the chain of scripts and payloads without ever having to spin up a VM, just by looking at the content tab, to see what’s inside a particular file. That’s not going to be the case every time, but it’s certainly nice when it does happen. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/30icIooVIFuGTlyV5WUXk3niVGoO76-9MsTZ4Tya0NQ/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VoelF6NG9NcHRZcjU2MGxudzBldzdwR0dJeTB5X3RJbXRUNWVSZXo4ZWpiWlZ3SlYweGF2WDdJa0JSbXBBc2NmR0VjaVAtd2pFRElNbWt5emZBOWVoM1JVODlNazhZZ18wUGRTUk5GQUlWTWt3WmMwMHNpUnhuaXpaZmwtMnN5Q0w4TFBObS1GRHc4RnVUbUxIYTBxTktkY2ZrbGlWa0FDLS00eDlBRHR3OE1kSE53YTVjNG93YTZWaGsyRFk"> </div> <div class="figures centrar-texto">The malicious <a href="https://www.virustotal.com/gui/file/06471e1f500612f44c828e5d3453e7846f70c2d83b24c08ac9193e791f1a8130/detection" target="_blank">images</a> used during the attack contain parts of the malicious code used in the second stage of the attack</div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/YKIB1q31CzT4Ej8He-N64vN6-SYEOoy5FIv3ozEkIOI/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VncGR3UEZJNnptS0Zkd2xSZXkyVUxidkxVRFROaXNHZXYtWG92RUppQkI2TThvZmF3WDFxTDBpb2U3X254cTFGQU53bnJBYmxOM2g2TDFjc3RFTU5YYTI1MnczdjNrckxhY3kwcFMxbVlQcWN4ZG5tV1hHcUlDX2xoQ2pSdjBUQ1F5dDRQZXFCUk5QVUJhc2VuVUxvWlg1cXZtcUtzcmhlTFRHdmFyVDNyTTNDX0tkNFVkSjlTd3VUU1JwQ1k"> </div> <div class="figures centrar-texto">By <a href="https://www.virustotal.com/gui/search/content%253A%257B24733d302e2e323535%257D?type=files" target="_blank">pivoting</a> on specific strings from within that code, we are able to locate other samples of the malicious images and scripts created by the same attacker, and further pivot to uncover their infrastructure</div> <div class="interval_12">The ability to investigate and correlate various stages, or multiple samples from the same attacker, were a huge boon to us during the investigation. It allowed us to quickly connect the dots without leaving VT, and should be a great asset in your investigation. </div> <h2 style="text-align: left;">Looking for a *Fix </h2> <div class="interval_12">So now that you know all this- what's next? How can this be useful? Well, we hope it can be helpful in a number of ways. </div> <div class="interval_12">Firstly, working together as a community, it is important that we continue to catch and block URLs that are employing *Fix attacks. It’s not easy to detect a *Fix site dynamically, and prevention may still happen in many cases after the payload has already been run. Maintaining a robust blocklist remains a very good and accessible option for stopping these threats. </div> <div class="interval_12">Secondly, those of us interested in continuing to track this threat and follow its evolution may use this to find these threats and potentially automate detection. As a side note, *Fix attacks are great investigation topics for those of us starting out in security, and as long as appropriate precautions are taken, it can be relatively safely investigated via VT, and can be very useful for learning about malicious commands, phishing sites, etc. </div> <div class="interval_12">Thirdly, for those of us protecting organizations, this can be a useful guide for finding these attacks by yourself, in the wild, in order to gain a deeper understanding of how they operate, and what relevant ways you can find to defend your organization, although there are certainly many reports written on the subject which would also come in handy. </div> <h1 style="text-align: left;">VT Tips (based on the success story) </h1> <div class="interval_12"><i>[In the words of VirusTotal…] </i></div> <div class="interval_12">The Acronis team’s investigation into FileFix, SideWinder, and ShadowVector is a goldmine of threat hunting techniques. Let’s move beyond the narrative and extract some advanced, practical methods you can apply to your own hunts for web-based threats and multi-stage payloads. </div> <h2 style="text-align: left;">Supercharge Your Web-Content YARA Rules </h2> <div class="interval_12">A simple YARA rule looking for clipboard commands and "powershell" is a good start, but attackers know this. You can significantly improve your detection rate by building rules that look for the context in which these commands appear. </div> <div class="interval_12">Instead of a generic search, try focusing on the obfuscation and page structure common in these attacks. For instance, attackers often hide their malicious script inside other functions or encoded strings. Your YARA rules can hunt for the combination of a clipboard command and indicators of de-obfuscation functions like <mark class="red">atob()</mark> (for Base64) or <mark class="red">String.fromCharCode</mark>. </div> <div class="interval_12">Combine content searches with URL metadata. The <mark class="red">content</mark> modifier is also available for URLs, when you set the entity to url you can use the content modifier to search for strings within the URL content. For example, the next <a href="https://www.virustotal.com/gui/search/entity%253Aurl%2520(content%253A%2522navigator%252Eclipboard%252EwriteText%2522%2520or%2520content%253A%2522document%252EexecCommand(%255C%2522copy%255C%2522)%2522)%2520(content%253A%2522String%252EfromCharCode%2522%2520or%2520content%253A%2522atob%2522)?type=urls" target="_blank">query</a> can be useful to identify potential ClickFix URLs combining some of the findings shared by Acronis and potential strings used to avoid detections. </div> <div class="interval_12"><pre>entity:url (content:"navigator.clipboard.writeText" or content:"document.execCommand(\"copy\")") (content:"String.fromCharCode" or content:"atob")</pre> </div> <h2 style="text-align: left;">Dissect Payloads with Advanced Content Queries </h2> <div class="interval_12">When you find a payload, as Acronis did within the FileFix site's source code, your job has just begun. The next step is to find related samples. Attackers often reuse code, and even when they obfuscate their scripts, unique strings or logic patterns can give them away. Isolate unique, non-generic parts of the script. Look for: </div> <div class="interval_12"><ul> <li>Custom function names</li> <li>Specific variable names</li> <li>Uncommon comments</li> <li>Unique sequences of commands or API calls</li> </ul> </div> <div class="interval_12">Focus on the unobfuscated parts of the code. In the FileFix payload, the attackers might obfuscate the C2 domain, but the PowerShell command structure used to decode and run it could be consistent across samples. Use that structure as your pivot. For example, if a payload uses a specific combination of <mark class="red">[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String(...))</mark>, you can build a <a href="https://www.virustotal.com/gui/search/behavior%253A%2522%255BSystem%252EText%252EEncoding%255D%253A%253AUTF8%252EGetString(%255BSystem%252EConvert%255D%253A%253AFromBase64String(%2522?type=files" target="_blank">query</a> to find other files using that exact deobfuscation chain. </div> <div class="interval_12"><pre>behavior:"[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String(" </pre> </div> <h2 style="text-align: left;">Don't forget about the infrastructure</h2> <div class="interval_12">Acronis has been tracking SideWinder in a very intelligent way. Their experience with VirusTotal is evident. Most of our users use VirusTotal primarily for file analysis, but sometimes we forget that there are powerful features for tracking <a href="https://docs.virustotal.com/docs/nethunt" target="_blank">infrastructure through livehunt</a>. </div> <div class="interval_12">In the SideWinder intrusions, there is a continuously monitored hash that corresponds to a <a href="https://www.virustotal.com/gui/file/1955c6914097477d5141f720c9e8fa44b4fe189e854da298d85090cbc338b35a/relations" target="_blank"> decoy file</a>, and this file is downloaded from different URLs. </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/9fJYoVj8Z4gIlMfs3GXovcOWsNc0jukZGNHCbfoCSGc/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VqTXVQNEV0aE1EeGRWSXg4TVhtTnJwOGxiUzZnYzQzY1FLX0pqQktNdU02bnlfWlRGSWpHR3d5cDZYQ3kyRUM3aVpuUXdOZTkzUHJocE0xZTFwV0FQRXNUeFhGV3FreTVjcW13d2EySkluYW9wcjlwb0FtNmJfQXZvNnRwNnVsX21sRHRRQkVzRFFZWXZGYi1JYTZVeGNZLTRDOTROYXNNNHBxMGh0UEpzY0dUX0FVNHlaVzFnekxlUU1wNnc"> </div> <div class="figures centrar-texto">ITW URLs means that these URLs were downloading the file being studied, in this case the RTF decoy file </div> <div class="interval_12">An interesting way to proactively identify new URLs quickly is by creating a YARA rule in livehunt for URLs, where the objective is to discover new URLs that are downloading that specific RTF decoy file. </div> <div class="interval_12"><pre>import "vt" rule URLs_Downloading_Decoy_RTF_SideWinder { meta: target_entity = "url" author = "Virustotal" description = "This YARA rule identify new URLs downloading the decoy file related to SideWinder" condition: vt.net.url.downloaded_file.sha256 == "1955c6914097477d5141f720c9e8fa44b4fe189e854da298d85090cbc338b35a" and vt.net.url.new_url }</pre> </div> <div class="interval_12">Another approach that could also be interesting is to directly query the <a href="https://gtidocs.virustotal.com/reference/file-object#relationships:~:text=IP%20addresses.-,itw_urls,-In%20the%20wild" target="_blank">itw_urls relationship</a> of the decoy file using the API. One use case could be creating a script that regularly (perhaps daily) calls the relationship API, retrieves the URLs, stores them in a database, and then repeats the call each day to identify new URLs. It's a simple, yet effective way to integrate with technology that any company might already have. </div> <div class="interval_12">The following code snippet can be executed in <a href="https://colab.sandbox.google.com/" target="_blank"> Google Colab</a> and once you establish the API Key, you will obtain all the itw_urls related to the decoy file in the <mark class="red">all_itw_urls</mark> variable. </div> <div class="interval_12"><pre>!pip install vt-py nest_asyncio import getpass, vt, json, nest_asyncio nest_asyncio.apply() cli = vt.Client(getpass.getpass('Introduce your VirusTotal API key: ')) FILEHASH = "1955c6914097477d5141f720c9e8fa44b4fe189e854da298d85090cbc338b35a" RELATIONS = "itw_urls" all_itw_urls = [] async for itemobj in cli.iterator(f'/files/{FILEHASH}/{RELATIONS}', limit=0): all_itw_urls.append(itemobj.to_dict())</pre> </div> <h2 style="text-align: left;">The great forgotten one: VT Diff </h2> <div class="interval_12">When we read researchs using VT Diff, we are pleased, as it is a tool that is truly good for creating YARA rules. </div> <div class="interval_12">When analyzing a set of related samples, use the VT Diff feature to spot commonalities and variations. This can help you identify patterns, such as repeated strings, hardcoded values, or metadata artifacts that indicate automated generation. </div> <div class="interval_12">As the Acronis team notes, <i>"We used the VT Diff functionality to compare variations between samples and quickly spot patterns, such as repeated words, hexadecimal values, URLs, or metadata tags that hinted at automated generation (i.e. the string “Generado Automaticamente”)"</i>. </div> <div class="interval_12">You can easily use VT Diff from multiple places: intelligence search results, collections, campaigns, reports, VT Graph… </div> <div class="central_box interval_12"><img src="https://imgproxy.citrusreader.com/Egt97lx8fYP2XZLgMRqpoIJbLiZ0Kny9ql5GPC2HHpM/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYS9BVnZYc0VnVzFmTFJmeGR3cGdKbUVYTU1UN045UFh2NzNwUE9WOWtDLVJkUTRqM2d1dWpWdXJuallTRlRfVTZFTlZlb1dIR0lXWHdvcFh6bnRhTTBncnJhMHY2eHNrS1hNQUJ5cXlmMElWU1Mtal9PUTEzdlk0cHc0bEREWlZWQU5PWUYtdmhCbFRJcUxTRXhTalZqeU0zNDFKTThTUWgxVTY1RkRpcm9PRElfeHhpR0pJdHJ1cWY1c2hLZ18tMUZlS2c"> </div> <div class="figures centrar-texto">Creation of VT Diff from a <a href="https://www.virustotal.com/gui/collection/report--2692fe1070152501a8b85deacf45fb68444c00b42e6447e69c5e301f75ad3e43/iocs" target="_blank">Report</a> </div> <h1 style="text-align: left;">Conclusion </h1> <div class="interval_12">The examples shared by the Acronis Threat Research Unit in tracking campaigns like FileFix, SideWinder, and Shadow Vector demonstrates the power of VT as a comprehensive threat intelligence and hunting platform. By leveraging a combination of proactive Livehunt rules, deep content analysis, and rich metadata pivoting, security researchers can effectively uncover and track elusive and evolving threats. </div> <div class="interval_12">These examples highlight that successful threat hunting is not just about having the right tools, but about applying creative and persistent investigation techniques. The ability to pivot from a simple YARA rule to a full-fledged campaign analysis, as Acronis did, is crucial to connecting the dots and revealing the full scope of an attack. From hunting for clipboard manipulation in web-based threats to tracking decade-old exploits and analyzing malicious SVG decoys, the Acronis team has demonstrated a deep understanding of modern threat hunting, and we appreciate them sharing their valuable insights with the community. </div> <div class="interval_12">We hope this blog have been insightful and will help you in your own threat-hunting endeavors. The fight against cybercrime is a collective effort, and the more we share our knowledge and experiences, the stronger we become as a community. </div> <div class="interval_12">If you have a success story of using VirusTotal that you would like to share with the community, <b>we would be delighted to hear from you</b>. Please reach out to us, and we will be happy to feature your story in a future blog post at <b>practitioners@virustotal.com</b>. </div> <div class="interval_12">Together, we can make the digital world a safer place. </div> <style> .my-code{ font-family: "Courier", sans-serif; font-size: medium; width: 100%; background: Black; color: White; /*padding: 24px;*/ border-collapse: collapse; } .my-yara-code{ font-family: "Courier", sans-serif; font-size: medium; width: 100%; background: #F7F9F9; color: Black; /*padding: 24px;*/ border-collapse: collapse; /*font-weight: bold;*/ } mark.green { color:#3cb371; background: none; } mark.gray { color:Gray; background: none; } mark.yellow { color:Yellow; background: none; } mark.orange { color:Orange; background: none; } mark.red { color:Red; background: none; } mark.blue { color:#33BEFF; background: none; } mark.dark-blue { color:Blue; background: none; } .table-fields { background: #86aaf9; } th:first-child { width: 24%; } th:first-child+th { width: 39%; } /* .table-container table td, .table-container table th { padding: 16px 32px; } */ table.no-spacing { border-spacing:0; /* Removes the cell spacing via CSS */ border-collapse: collapse; /* Optional - if you don't want to have double border where cells touch */ } .pmargin { margin: 0; } a { color: blue!important; } .central_box { /* Establece el ancho exacto del contenido (la imagen) */ width: fit-content; /* Centra el bloque .central_box en la página */ margin: 12px auto; /* Centra el TEXTO dentro de este contenedor (para el pie de foto) */ text-align: center; } /* 2. Para la imagen (opcional, si necesita ser un bloque) */ .central_img { display: block; /* Quitamos el margin: auto de aquí, ya lo hace el padre */ /* Quitamos el width/max-width de aquí, ya lo hace el padre */ } .central_img img { border: 1px solid #000000; } .central_img p { text-align: center; font-style: italic; } .width_10 { width: 10%; } .width_15 { width: 15%; } .width_20 { width: 20%; } .width_30 { width: 30%; } .width_40 { width: 40%; } .width_50 { width: 50%; } .width_60 { width: 60%; } .centrar-texto { text-align: center; } .width_80 { width: 80%; } pre { background: #f4f4f4; border: 1px solid #ddd; border-left: 3px solid #7ad3ff; color: #666; page-break-inside: avoid; font-family: monospace; font-size: 15px; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; /* --- CÓDIGO CLAVE PARA ELIMINAR SCROLL --- */ /* 1. Elimina el desplazamiento. */ overflow: hidden; /* 2. Permite que las líneas de código largas se rompan. */ white-space: pre-wrap; /* 3. Asegura que las palabras muy largas (como una URL) se rompan. */ word-break: break-all; /* --- RESTO DE TUS ESTILOS --- */ padding: 1em 1.5em; display: block; word-wrap: break-word; /* Esta es la versión antigua, se recomienda word-break */ } .width_90 { width: 90%; } .width_100 { width: 100%; } ul{ margin-bottom: 5px!important; } .figures { font-size: 11pt; } .interval_12{ margin-bottom: 12px!important; } </style>

2025/11/10
阅读更多

Reversing at Scale: AI-Powered Malware Detection for Apple’s Binaries

<p><b>TL;DR:</b> We ran our new AI-based Mach-O analysis pipeline in production, no metadata, no prior detections, just raw Apple binaries. On Oct 18, 2025, out of 9,981 first-seen samples, VT Code Insight surfaced multiple real Mac and iOS malware cases that had 0 antivirus detections at submission time, including a multi-stage AppleScript infostealer and an iOS credential-stealing tweak. It also helped identify 30 antivirus false positives, later confirmed and fixed. </p><p> <i>By Bernardo Quintero, Tom Bennett, and Paul Tarter</i> </p><p><b>The Challenge: Reversing at Scale</b></p> <p>The long-term goal of Code Insight is ambitious but simple to state: use AI to reason about every single file that reaches VirusTotal in real time. That’s more than two million samples a day, so scalability and efficiency aren’t nice-to-haves, they’re requirements.</p> <p>We started this journey in early 2023 by analyzing small PowerShell scripts under 25 KB, focusing on fast, context-limited reasoning. As Gemini’s token capacity grew, we expanded support to larger files and richer formats: Office documents with macros, PDFs containing embedded objects, and package types such as NPM, SWF, SVG, MCP, CRX, VSIX, etc. Each step pushed the boundaries of what Code Insight could interpret automatically.</p> <p>Eventually, we reached compiled binaries, by far the most challenging class due to their size, complexity, and low-level structure. Analyzing native code with large language models is not straightforward: Mach-O binaries can be massive, and full decompilation or disassembly often exceeds even the largest model contexts, while being too slow and expensive for a high-volume production pipeline.</p> <p>To make this feasible, we built a pruning-based summarization layer. Instead of feeding Gemini a full decompilation or noisy disassembly, we first extract the most informative elements: code entry points, key imports and exports, relevant strings, and selected function summaries, using <a href="https://binary.ninja/">Binary Ninja</a>’s High Level Intermediate Language (HLIL) for native code. The goal isn’t to reconstruct the full program logic, but to preserve just enough structure for meaningful reasoning.</p> <p>This distilled representation fits comfortably within Gemini’s 1M-token context window and allows us to generate a concise, human-readable analyst summary in a single LLM call, regardless of the binary’s size. It’s a pragmatic balance between depth and scalability, good enough to reason and perform a fast first-pass triage, yet efficient enough to keep up with the continuous flow of new files reaching VirusTotal every day.</p> <p><b>The 24-Hour Stress Test</b></p> <p>On October 18, 2025, VirusTotal received 9,981 unique Mach-O binaries never seen before by our platform. We ran every single one through our new Code Insight pipeline, using only the raw binary, no external metadata, no crowdsourced intelligence, and no previous antivirus results.</p> <p>Here’s how the AI’s fully independent analysis compared against the aggregate detections from more than 70 traditional antivirus engines on that same day: <ul> <li>Traditional AV Detections: 67 binaries flagged as malicious by one or more engines. </li><li>Code Insight Detections: 164 binaries identified as malicious. </li></ul> </p><p>The absolute numbers are interesting, but the real insight comes from the discrepancies between the two sets.</p> <p><b>Clearing the Fog: AI as a False Positive Filter</b></p> <p>Manual review confirmed that Code Insight’s explanations were accurate: <ul> <li>30 files were false positives from Microsoft’s engine. Once reported, Microsoft promptly reviewed the cases, confirmed the issue, and updated their signatures on October 31. We appreciate their quick response. </li><li>3 files were flagged by ClamAV with the signature <i>Macos.Trojan.CrackedTool</i>. While this label is technically correct within ClamAV’s detection policy (it flags software signed by alternative markets such as MacKed), Code Insight correctly identified that these binaries did not exhibit inherently malicious behavior. </li></ul> </p><p>In a Security Operations Center setting, even a single false alert like this could consume hours of analyst time before being cleared. While VirusTotal operates at global scale and aggregates samples from many independent sources, the same pattern applies within any organization’s network: unnecessary alerts create noise and drain resources. Code Insight demonstrated how AI reasoning can help triage these cases faster and more consistently, assisting rather than replacing human judgment.</p> <p><b>Finding the Needles: Zero-Day Detections</b></p> <p>Beyond filtering false positives, Code Insight also surfaced nearly 100 binaries that traditional engines had missed entirely at the time of analysis. Many of these were indeed suspicious, ranging from keygens and adware to grayware utilities with excessive privileges, such as certain developer e-learning tools or Roblox cheats often distributed outside the App Store.</p> <p>That said, not every “malicious” verdict was black and white. Because Code Insight analyzes binaries in isolation, without context about their surrounding environment or intended use, it can occasionally err on the side of caution. For instance, one <a href="https://www.virustotal.com/gui/file/d9fd8b1d80a1b4fadfb42fe3b7b21eb37944eb9dd9507d030139893cc769e960/detection">MCP component</a> from the Hopper decompiler was described accurately in terms of behavior (persistent XPC communication, JSON-based client–server protocol, API-like command handlers) but was ultimately benign within its legitimate application context, as an MCP server rather than a malicious persistent C2 channel. In this case, we had an accurate technical description but a false positive in the final verdict issued by Code Insight.</p> <p>These occasional gray-area cases are part of the natural learning curve for AI-based reasoning systems. Still, the vast majority of Code Insight’s findings were technically sound, and its detailed explanations allowed analysts to make quick, informed decisions based on actual capabilities rather than static signatures.</p> <p>Among those findings, we also identified several clear-cut cases of undetected malware, confirmed through manual reversing and reproducible behavior. Below we highlight two representative examples, one from macOS and another from iOS, both caught by AI yet completely invisible to traditional defenses on Day 0.</p> <p><b>1. Multi-stage macOS Dropper (0 Detections)</b></p> <p>SHA-256: <a href="https://www.virustotal.com/gui/file/9adef73a6255f6bcb203e84cbe9304d000f3c5354d3d7bf3fc3b2a0128b624c3/detection">9adef73a6255f6bcb203e84cbe9304d000f3c5354d3d7bf3fc3b2a0128b624c3</a></p> <p>Code Insight immediately recognized this binary's hostile intent, describing it as a multi-stage threat. It didn't just flag it, it mapped the attack chain:</p> <p><i>"The binary is a multi-stage malware that downloads and executes a second-stage AppleScript payload from a C2 server, and exfiltrates local data. It first connects to https://foggydoxz.xyz/dynamic to download an AppleScript, saves it to /tmp/test.scpt, and executes it using /usr/bin/osascript. Subsequently, it reads /tmp/osalogging.zip and exfiltrates it via a POST request to https://foggydoxz.xyz/gate. The malware also bypasses TLS certificate validation to secure its C2 communication."</i></p> <p>Manual reversing confirmed not only the verdict but every detail of this AI-generated assessment.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqo5-cIbmFj9l0gU03LCjGulPFGd9wy3CIQN2au03P0QBNC6NwkElrzYQFfPwThyphenhyphenE2llmXcPASTbrkoPJpslnHV_eNJtuf-mzNze6e3UABC3H14eUnFLz85OuzmMlc5Zu2yVtP6bexZY2ycEhNafcf4ZCsFV345luNZS6HSXVA4rZunx0Q5F9z1k6H1t0/s1600/9adef.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="1786" data-original-width="2171" src="https://imgproxy.citrusreader.com/6UhRgWg4hxXQ6rMbDpZWTbrjgxXgglfouJrjbO8_Xxs/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VpcW81LWNJYm1GajlsMGdVMDNMQ2pHdWxQRkdkOXd5M0NJUU4yYXUwM1AwUUJOQzZOd2tFbHJ6WVFGZlB3VGh5cGhlbmh5cGhlbkUybGxtWGNQQVNUYnJrb1BKcHNsbkhWX2VOSnR1Zi1tek56ZTZlM1VBQkMzSDE0ZVVuRkx6ODVPdXptTWxjNVp1MnlWdFA2YmV4WlkyeWNFaE5hZmNmNFpDc0ZWMzQ1bHVOWlM2SFNYVkE0clp1bngwUTVGOXoxazZIMXQwL3MxNjAwLzlhZGVmLnBuZw"></a></div> </center><br> <p>The screenshot above shows how detections for this sample evolved on VirusTotal over time. When it first arrived on October 18, no antivirus engine flagged it as malicious, yet Code Insight already identified it as a multi-stage macOS dropper. Over the following days, traditional detections gradually caught up: three engines marked it nine days later, and eleven by October 28. This pattern is common for truly novel threats: AI reasoning can expose suspicious behaviors before signatures or reputation systems are updated, offering analysts an early warning window that would otherwise not exist.</p> <p><b>2. iOS Jailbreak Tweak with a Phishing Twist (0 Detections)</b></p> <p>SHA-256: <a href="https://www.virustotal.com/gui/file/333913409c1e22b5da03c762cbb7d99a9d38ecdf0231cb9ac6db00efc6b3bd97/detection">333913409c1e22b5da03c762cbb7d99a9d38ecdf0231cb9ac6db00efc6b3bd97</a></p> <p>This sample masquerades as a dynamic library for jailbroken iOS devices, claiming to unlock premium features in Adobe Lightroom. Code Insight looked beyond the piracy functionality and uncovered a secondary payload focused on credential theft.</p> <p>The AI correctly identified that it used method swizzling / hooking not only to bypass subscription checks but also to inject a fake login prompt. It highlighted obfuscation mechanisms used to conceal the exfiltration channel, including a hardcoded, obfuscated Telegram Bot API token and custom cryptographic routines to hide command strings.</p> <p>Code Insight’s summary read:</p> <p><i>"This is an iOS dynamic library (tweak) for jailbroken devices, designed to be injected into the Adobe Lightroom application process. Its primary purpose is to modify the target application's functionality. It exhibits several malicious behaviors: it uses method swizzling (e.g., `sub_41e564`) to hook functions, displays a custom UI overlay on top of the running application, and employs extensive string obfuscation and custom cryptographic routines (e.g., `sub_433b0c`, `sub_415b68`) to hide its functionality. Key IOCs include the installation path `/Library/MobileSubstrate/DynamicLibraries/Lightroom.dylib` and a URL to a Telegram channel (`https://t[.]me/blatants]`), likely used for C2 or distribution. These characteristics are consistent with malware designed for piracy, credential theft, or phishing within the context of the compromised host application."</i></p> <p>A manual reverse-engineering review by an expert confirmed, and expanded on the AI’s assessment. The human analysis described the sample as a malicious dynamic library that functions as a dual-purpose tool: (1) it uses method hooking to bypass Lightroom’s premium-feature checks (by replacing subscription validation routines to always return success), and (2) it implements a phishing capability that displays a convincing fake login prompt to capture Adobe credentials. The stolen credentials are then exfiltrated via an obfuscated Telegram Bot API token and Chat ID, with string obfuscation and lightweight crypto used to hide the Telegram URL and tokens. In short: the manual review corroborated the AI’s technical description and confirmed the end-to-end exfiltration mechanism.</p> <center> <div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvz-lYBvPN2ZxmvRXerKJaYpLzQdVtGqtsUdtLUOgFP5Lp0tmoyltOA6CK-2pSk3Cw1eICjPT2Gv3znQI38huWVP0O5zaQ_6rByhRkTSsdSyDQAlA4G1Q8epHpIYg26F27qrcQW619QnUotzh_VnyQ8N8p3DS3Ybh4zGUKEQh3J9bFeochpmMsdz6WwAg/s1600/3339.png" style="display: block; padding: 1em 0; text-align: center; "><img alt border="0" data-original-height="1136" data-original-width="2098" src="https://imgproxy.citrusreader.com/S_NHIUGN0fsgL9ctnF9fOPBR8wtPqNXel3hJLO-CD8k/raw:1/aHR0cHM6Ly9ibG9nZ2VyLmdvb2dsZXVzZXJjb250ZW50LmNvbS9pbWcvYi9SMjl2WjJ4bC9BVnZYc0VqdnotbFlCdlBOMlp4bXZSWGVyS0phWXBMelFkVnRHcXRzVWR0TFVPZ0ZQNUxwMHRtb3lsdE9BNkNLLTJwU2szQ3cxZUlDalBUMkd2M3puUUkzOGh1V1ZQME81emFRXzZyQnloUmtUU3NkU3lEUUFsQTRHMVE4ZXBIcElZZzI2RjI3cXJjUVc2MTlRblVvdHpoX1ZueVE4TjhwM0RTM1liaDR6R1VLRVFoM0o5YkZlb2NocG1Nc2R6Nld3QWcvczE2MDAvMzMzOS5wbmc"></a></div> </center><br> <p>The VirusTotal report below shows the status of this sample not only at the time it was first analyzed on October 18, but also as of November 3, more than two weeks later. No antivirus engine has flagged it as malicious to date.</p> <p>Moreover, on the same day this sample was analyzed, Code Insight detected multiple other binaries using the same injection framework, suggesting an organized campaign rather than an isolated specimen.</p> <p>Further investigation of the Telegram channel referenced in the IOCs (https://t[.]me/blatants) revealed that it hosts a large-scale operation called Blatant’s iPA Library, boasting more than 38,000 subscribers. The group distributes automation bots (InjectBot, PatchBot, PaidAppScraper, and FileDownloader) that advertise the ability to inject .dylib payloads into iOS .ipa apps, patch premium features, and share modified packages. This infrastructure perfectly matches the behaviors described in the AI-generated report and confirmed through manual reversing: a dual-purpose ecosystem for app piracy and credential theft, powered by Telegram’s bot API.</p> <p>These examples illustrate both the power and practicality of AI-driven reversing. Even without context or prior knowledge, the model can reason through complex binaries, extract intent, and expose behaviors that remain invisible to static or signature-based methods.</p> <p><b>The Pragmatic Reality</b></p> <p>This work is not about replacing traditional detection engines, it’s about complementing them and covering their blind spots at a scale human teams simply can’t match.</p> <p>Until recently, reverse engineering and in-depth code analysis were tasks reserved for human analysts. Even in large-scale operations, fewer than 1% of new files ever underwent that level of scrutiny, simply because manual reversing doesn’t scale. Yet those are precisely the samples that tend to slip past signature or ML-based detections, the truly novel threats.</p> <p>By autonomously performing this kind of junior-analyst–level reasoning across millions of files daily, VT Code Insight brings that deeper layer of understanding to every new sample, not just the few that would normally reach a human analyst’s desk.</p> <p>It’s a pragmatic shift: AI reasoning where it scales, human expertise where it matters most, helping defenders see further, faster, and with greater context than ever before.</p>

2025/11/6
阅读更多

November is the Month of Searches: Explore, Learn, and Share with #MonthOfVTSearch

<div class="interval_12"> This November, we’re celebrating the power of <a href="https://www.virustotal.com/gui/intelligence-overview" target="_blank">VirusTotal Enterprise search</a>! <br> All <b>VirusTotal</b> customers will enjoy <b>uncapped searches through the GUI</b> — no quota consumption for the entire month so long as it is manual searches via the web interface. </div> <div class="interval_12"> Whether you’re investigating malware campaigns, analyzing infrastructure, or tracking threat actor activity, this is your chance to <b>search freely and explore advanced use cases</b> using <a href="https://www.virustotal.com/gui/intelligence-overview" target="_blank">VirusTotal Intelligence</a>. </div> <div class="interval_12"> Experiment with <b>powerful VT search modifiers</b> to uncover patterns, hunt for related samples, and pivot across <b>hashes, domains, IP addresses, or URLs</b> — without worrying about your quota. </div> <br> <h2 style="text-align: left;">What’s happening</h2> <div class="interval_12"> <ul> <li><b>No quota consumption</b> for all GUI searches during November (API interaction will continue to consume).</li> <li>Every day, we’ll share <b>interesting and creative search queries</b> on our <a href="https://www.linkedin.com/company/virustotal/posts/?feedView=all" target="_blank">LinkedIn</a> and <a href="https://x.com/virustotal" target="_blank">X</a> channels using the hashtag <b>#MonthOfVTSearch</b>.</li> <li>We invite you to <b>try these searches, interact with us</b>, and <b>share your own search tips and findings</b> with the community.</li> </ul> </div> <br> <h2 style="text-align: left;">Learn and level up</h2> <div class="interval_12">Make the most of this month to sharpen your threat-hunting skills: <ul> <li>📘 <a href="https://docs.virustotal.com/docs/virustotal-intelligence-introduction" target="_blank">VirusTotal Documentation</a></li> <li>🧾 <a href="https://storage.googleapis.com/vtpublic/reports/VTI%20Cheatsheet.pdf" target="_blank">VirusTotal Search Cheat Sheet</a></li> </ul> </div> <div class="interval_12">VT Intelligence Modifiers: <ul> <li><a href="https://gtidocs.virustotal.com/docs/file-search-modifiers" target="_blank">File Search Modifiers</a></li> <li><a href="https://gtidocs.virustotal.com/docs/url-search-modifiers" target="_blank">URL Search Modifiers</a></li> <li><a href="https://gtidocs.virustotal.com/docs/domain-search-modifiers" target="_blank">Domain Search Modifiers</a></li> <li><a href="https://gtidocs.virustotal.com/docs/ip-address-search-modifiers" target="_blank">IP Search Modifiers</a></li> </ul> </div> <br> <h2 style="text-align: left;">Example: Day 1 Search Query</h2> <div class="interval_12"> To kick off <b>#MonthOfVTSearch</b>, here’s the first advanced query we’re sharing with the community: </div> <div class="interval_12"> <a href="https://www.virustotal.com/gui/search/(behavior_processes%253A*%252Eru*%2520and%2520behavior_processes%253A*DavSetCookie*%2520and%2520behavior_processes%253A*http*)%2520and%2520(behavior_network%253A*%252Eru*%2520or%2520embedded_domain%253A*%252Eru*%2520or%2520embedded_url%253A*%252Eru*)%2520and%2520(type%253Adocument)?type=files" target="_blank">(type:document) and (behavior_processes:*.ru* and behavior_processes:*DavSetCookie* and behavior_processes:*http*) and (behavior_network:*.ru* or embedded_domain:*.ru* or embedded_url:*.ru*) </a> </div> <h4 style="text-align: left;">What this query does:</h4> <div class="interval_12">This search helps identify <b>document files</b> that, when executed in a sandbox environment, show behavior consistent with potential malicious activity involving <span class="green-text">.ru</span> infrastructure. It specifically looks for: <ul> <li><b>Documents (type:document)</b> that were uploaded to VT.</li> <li>During execution, they show <b>process behavior</b> containing:</li> <ul> <li>HTTP traffic (<span class="green-text">behavior_processes:*http*</span>)</li> <li>The string <span class="green-text">DavSetCookie</span> (often observed in HTTP request headers or custom cookie operations)</li> <li>And references to <span class="green-text">.ru</span> domains</li> </ul> <li>And additionally, they show <b>network or embedded indicators</b> related to .ru domains via:</li> <ul> <li>Behavior-based network connections (<span class="green-text">behavior_network:*.ru*</span>), or</li> <li>Embedded domains or URLs within the file (<span class="green-text">embedded_domain:*.ru*, embedded_url:*.ru*</span>)</li> </ul> </ul> </div> <br> <h4 style="text-align: left;">Join the community</h4> <div class="interval_12"> Let’s make November a month of discovery and collaboration! Tag your posts with <b>#MonthOfVTSearch</b>, share your favorite searches, and show the world how you use VirusTotal to explore and understand the threat landscape. </div> <div class="interval_12"> In the meantime, if you have any feedback <a href="https://www.virustotal.com/gui/contact-us" target="_blank">you can contact us</a>. </div> <style> .green-text { color: green; /* Sets the text color to red */ } .my-code{ font-family: "Courier", sans-serif; font-size: medium; width: 100%; background: Black; color: White; /*padding: 24px;*/ border-collapse: collapse; } mark.green { color:#3cb371; background: none; } mark.gray { color:Gray; background: none; } mark.yellow { color:Yellow; background: none; } mark.orange { color:Orange; background: none; } mark.red { color:Red; background: none; } mark.blue { color:#33BEFF; background: none; } .table-container { /*padding: 32px;*/ font-family: "Courier", sans-serif; font-size: medium; } .table-container table { width: 100%; background: #fff; color: #222; /*padding: 24px;*/ border-collapse: collapse; } .table-container table th { font-weight: bold!important; text-transform: none!important; } th:first-child { width: 24%; } th:first-child+th { width: 39%; } /* .table-container table td, .table-container table th { padding: 16px 32px; } */ .table-container table tr { border-bottom: 1px solid #eee; } @media (max-width: 580px) { .table-container table thead { display: none; } .table-container table td { display: block; } } a { color: blue!important; } .central_img { position: relative; display: block; margin-left: auto; margin-right: auto; } .central_img img { border: 1px solid #000000; } .central_img p { text-align: center; font-style: italic; } .width_15 { width: 15%; } .width_20 { width: 20%; } .width_40 { width: 40%; } .width_50 { width: 50%; } .width_60 { width: 60%; } .width_80 { width: 80%; } .width_100 { width: 100%; } ul{ margin-bottom: 5px!important; } .interval_12{ margin-bottom: 12px!important; } </style>

2025/11/3
阅读更多

推荐订阅