Malicious pull request infects VS Code extension
A VS Code extension for Ethereum smart contract development, ETHcode, was compromised through a GitHub pull request. The attacker, using a newly created account, submitted a PR that introduced a malicious dependency and code to execute it. The compromise was subtle, involving only two lines of code changes among thousands. The malicious code downloads and runs a batch script from a public file-hosting service, potentially to steal crypto assets or compromise Ethereum contracts. The extension, with nearly 6,000 installs, was removed from the marketplace after discovery. This incident highlights the importance of carefully reviewing contributions, especially from new accounts, and scrutinizing package dependencies in software development workflows.
AI Analysis
Technical Summary
The security threat involves a supply chain attack targeting a Visual Studio Code (VS Code) extension named ETHcode, which is used for Ethereum smart contract development. The attacker exploited the open-source development workflow by submitting a malicious pull request (PR) via a newly created GitHub account. This PR introduced a subtle compromise, modifying only two lines of code among thousands, which added a malicious dependency and code to execute it. The malicious code downloads and executes a batch script hosted on a public file-hosting service. This script likely aims to steal cryptocurrency assets or compromise Ethereum smart contracts managed or developed using the extension. The attack leverages JavaScript obfuscation techniques to evade detection and uses multiple tactics such as supply chain compromise (T1195.001), user execution (T1204.002), code injection (T1059.001 and T1059.003), and obfuscated files or information (T1027). The extension had approximately 6,000 installs before it was removed from the marketplace upon discovery. This incident underscores the risks inherent in open-source software development, especially when contributions from new or unverified accounts are accepted without thorough review. It also highlights the importance of scrutinizing package dependencies and monitoring for unusual behavior in development tools, particularly those related to blockchain and cryptocurrency ecosystems.
Potential Impact
For European organizations, especially those involved in blockchain development, cryptocurrency trading, or smart contract deployment, this threat poses significant risks. Compromise of the ETHcode extension could lead to theft of crypto assets, unauthorized transactions, or manipulation of smart contracts, potentially resulting in financial losses and reputational damage. Organizations relying on this extension for development or auditing of Ethereum contracts might unknowingly introduce backdoors or vulnerabilities into their codebase. Additionally, the supply chain nature of the attack means that even well-secured environments could be affected if developers use compromised tools. This could impact fintech companies, blockchain startups, and enterprises integrating Ethereum-based solutions across Europe. The subtlety of the code change and use of obfuscation complicate detection, increasing the risk of prolonged exposure. Furthermore, regulatory compliance concerns arise if sensitive financial data or assets are compromised, potentially triggering GDPR and financial regulatory scrutiny.
Mitigation Recommendations
European organizations should implement multi-layered mitigation strategies beyond generic advice: 1) Enforce strict code review policies that include verification of contributor identities, especially for new or unknown accounts, to prevent malicious PRs from being merged. 2) Employ automated static and dynamic analysis tools capable of detecting obfuscated code and suspicious dependencies in extensions and libraries. 3) Maintain an allowlist of trusted dependencies and regularly audit third-party packages for integrity and provenance. 4) Use sandboxing or isolated environments to test new or updated extensions before deployment in production or development workflows. 5) Monitor network activity from development tools for unusual outbound connections, particularly to public file-hosting services. 6) Educate developers on supply chain risks and encourage reporting of suspicious behavior or anomalies in development tools. 7) Establish incident response plans specific to supply chain compromises, including rapid removal and replacement of affected tools. 8) Collaborate with open-source communities to promote security best practices and timely disclosure of vulnerabilities.
Affected Countries
Germany, United Kingdom, France, Netherlands, Switzerland, Estonia
Indicators of Compromise
- hash: 0a9b47d707e167af384403af7c466eb43d46f343
- hash: 17802c834861bb983a248234b0a5d17a62fe4474
- hash: 351a25bd647587aaf76bd8a303a687bb6ad79f8f
- hash: 442cac64cd5e7783503970c446a1d0d0a0dab69d
- hash: 8f93077e8193996fc096de359401a8e9aa6ffc7f
- hash: 933967db50602a058bd1764c44fc98305866e89e
- hash: e37adafde5e03001172663256cf3d480e3765b91
Malicious pull request infects VS Code extension
Description
A VS Code extension for Ethereum smart contract development, ETHcode, was compromised through a GitHub pull request. The attacker, using a newly created account, submitted a PR that introduced a malicious dependency and code to execute it. The compromise was subtle, involving only two lines of code changes among thousands. The malicious code downloads and runs a batch script from a public file-hosting service, potentially to steal crypto assets or compromise Ethereum contracts. The extension, with nearly 6,000 installs, was removed from the marketplace after discovery. This incident highlights the importance of carefully reviewing contributions, especially from new accounts, and scrutinizing package dependencies in software development workflows.
AI-Powered Analysis
Technical Analysis
The security threat involves a supply chain attack targeting a Visual Studio Code (VS Code) extension named ETHcode, which is used for Ethereum smart contract development. The attacker exploited the open-source development workflow by submitting a malicious pull request (PR) via a newly created GitHub account. This PR introduced a subtle compromise, modifying only two lines of code among thousands, which added a malicious dependency and code to execute it. The malicious code downloads and executes a batch script hosted on a public file-hosting service. This script likely aims to steal cryptocurrency assets or compromise Ethereum smart contracts managed or developed using the extension. The attack leverages JavaScript obfuscation techniques to evade detection and uses multiple tactics such as supply chain compromise (T1195.001), user execution (T1204.002), code injection (T1059.001 and T1059.003), and obfuscated files or information (T1027). The extension had approximately 6,000 installs before it was removed from the marketplace upon discovery. This incident underscores the risks inherent in open-source software development, especially when contributions from new or unverified accounts are accepted without thorough review. It also highlights the importance of scrutinizing package dependencies and monitoring for unusual behavior in development tools, particularly those related to blockchain and cryptocurrency ecosystems.
Potential Impact
For European organizations, especially those involved in blockchain development, cryptocurrency trading, or smart contract deployment, this threat poses significant risks. Compromise of the ETHcode extension could lead to theft of crypto assets, unauthorized transactions, or manipulation of smart contracts, potentially resulting in financial losses and reputational damage. Organizations relying on this extension for development or auditing of Ethereum contracts might unknowingly introduce backdoors or vulnerabilities into their codebase. Additionally, the supply chain nature of the attack means that even well-secured environments could be affected if developers use compromised tools. This could impact fintech companies, blockchain startups, and enterprises integrating Ethereum-based solutions across Europe. The subtlety of the code change and use of obfuscation complicate detection, increasing the risk of prolonged exposure. Furthermore, regulatory compliance concerns arise if sensitive financial data or assets are compromised, potentially triggering GDPR and financial regulatory scrutiny.
Mitigation Recommendations
European organizations should implement multi-layered mitigation strategies beyond generic advice: 1) Enforce strict code review policies that include verification of contributor identities, especially for new or unknown accounts, to prevent malicious PRs from being merged. 2) Employ automated static and dynamic analysis tools capable of detecting obfuscated code and suspicious dependencies in extensions and libraries. 3) Maintain an allowlist of trusted dependencies and regularly audit third-party packages for integrity and provenance. 4) Use sandboxing or isolated environments to test new or updated extensions before deployment in production or development workflows. 5) Monitor network activity from development tools for unusual outbound connections, particularly to public file-hosting services. 6) Educate developers on supply chain risks and encourage reporting of suspicious behavior or anomalies in development tools. 7) Establish incident response plans specific to supply chain compromises, including rapid removal and replacement of affected tools. 8) Collaborate with open-source communities to promote security best practices and timely disclosure of vulnerabilities.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Author
- AlienVault
- Tlp
- white
- References
- ["https://www.reversinglabs.com/blog/malicious-pull-request-infects-vscode-extension"]
- Adversary
- null
- Pulse Id
- 686e735ad79ecba7fdb7c152
- Threat Score
- null
Indicators of Compromise
Hash
Value | Description | Copy |
---|---|---|
hash0a9b47d707e167af384403af7c466eb43d46f343 | — | |
hash17802c834861bb983a248234b0a5d17a62fe4474 | — | |
hash351a25bd647587aaf76bd8a303a687bb6ad79f8f | — | |
hash442cac64cd5e7783503970c446a1d0d0a0dab69d | — | |
hash8f93077e8193996fc096de359401a8e9aa6ffc7f | — | |
hash933967db50602a058bd1764c44fc98305866e89e | — | |
hashe37adafde5e03001172663256cf3d480e3765b91 | — |
Threat ID: 686ec58d6f40f0eb7206fd19
Added to database: 7/9/2025, 7:39:57 PM
Last enriched: 7/9/2025, 7:54:42 PM
Last updated: 8/13/2025, 4:55:16 AM
Views: 22
Related Threats
A Mega Malware Analysis Tutorial Featuring Donut-Generated Shellcode
MediumMalicious JavaScript Injects Fullscreen Iframe On a WordPress Website
MediumCoordinated Brute Force Campaign Targets Fortinet SSL VPN
MediumSilent Watcher: Dissecting Cmimai Stealer's VBS Payload
MediumCastleLoader Analysis
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.