Popular Go Decimal Library Targeted by Long-Running Typosquat with DNS Backdoor
A typosquatting campaign impersonated the popular shopspring/decimal Go library by publishing a similarly named malicious package (shopsprint/decimal). Active since 2017, the package was benign until August 2023 when it introduced a malicious init() function that creates a DNS TXT record-based command and control channel. This backdoor polls every five minutes to receive and execute arbitrary commands. Although the malicious GitHub repository and account have been deleted, the compromised module remains cached and accessible via Go's module proxy system, posing an ongoing supply chain risk to developers who mistype the package name.
AI Analysis
Technical Summary
This threat involves a long-running typosquatting campaign targeting the Go ecosystem by publishing a malicious package named shopsprint/decimal, differing by one character from the legitimate shopspring/decimal library. Initially benign, the package was weaponized in August 2023 by adding a malicious init() function that automatically executes on import. This function establishes a command and control channel using DNS TXT records from dnslog-cdn-images.freemyip.com, polling every five minutes to receive and execute arbitrary commands. Despite the takedown of the GitHub repository and owner account, the malicious module remains cached and accessible through Go's module proxy system, continuing to pose a supply chain threat to developers who mistakenly import it.
Potential Impact
The malicious package enables remote attackers to execute arbitrary commands on systems that import the compromised module, via a DNS-based command and control channel. This can lead to unauthorized code execution and potential system compromise. The persistence of the malicious module in Go's module proxy cache means that developers who mistype the package name may unknowingly introduce this backdoor into their projects, creating a supply chain risk.
Mitigation Recommendations
No official patch or fix is available since this is a malicious typosquatting package rather than a vulnerability in legitimate software. The malicious GitHub repository and owner account have been deleted, but the module remains cached in Go's module proxy system. Developers should verify package names carefully before importing and avoid using similarly named or untrusted packages. Consider clearing or bypassing the Go module proxy cache if the malicious module is suspected to be cached. Monitor dependency lists for suspicious or unexpected packages. There is no vendor advisory indicating an official fix or mitigation.
Indicators of Compromise
- domain: dnslog-cdn-images.freemyip.com
- hash: 2f0ee073c6f29d66188a845592029c9b52528f04
- hash: dd9c0268c8944e6ddf90d4d0c81aa843785b7a9ee965faa635841ed9fc0ba086
- hash: 387d7ea5ca733b1e7219c943f4b461877a8df0148adfef42b1538b6c398fbb41
- hash: fd26f4ca4746ee390e22043a5e19ebf2b7fcd1f9
- hash: e3c6ce0440d9acd0f1cef1f0da3cdb5d
Popular Go Decimal Library Targeted by Long-Running Typosquat with DNS Backdoor
Description
A typosquatting campaign impersonated the popular shopspring/decimal Go library by publishing a similarly named malicious package (shopsprint/decimal). Active since 2017, the package was benign until August 2023 when it introduced a malicious init() function that creates a DNS TXT record-based command and control channel. This backdoor polls every five minutes to receive and execute arbitrary commands. Although the malicious GitHub repository and account have been deleted, the compromised module remains cached and accessible via Go's module proxy system, posing an ongoing supply chain risk to developers who mistype the package name.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
This threat involves a long-running typosquatting campaign targeting the Go ecosystem by publishing a malicious package named shopsprint/decimal, differing by one character from the legitimate shopspring/decimal library. Initially benign, the package was weaponized in August 2023 by adding a malicious init() function that automatically executes on import. This function establishes a command and control channel using DNS TXT records from dnslog-cdn-images.freemyip.com, polling every five minutes to receive and execute arbitrary commands. Despite the takedown of the GitHub repository and owner account, the malicious module remains cached and accessible through Go's module proxy system, continuing to pose a supply chain threat to developers who mistakenly import it.
Potential Impact
The malicious package enables remote attackers to execute arbitrary commands on systems that import the compromised module, via a DNS-based command and control channel. This can lead to unauthorized code execution and potential system compromise. The persistence of the malicious module in Go's module proxy cache means that developers who mistype the package name may unknowingly introduce this backdoor into their projects, creating a supply chain risk.
Mitigation Recommendations
No official patch or fix is available since this is a malicious typosquatting package rather than a vulnerability in legitimate software. The malicious GitHub repository and owner account have been deleted, but the module remains cached in Go's module proxy system. Developers should verify package names carefully before importing and avoid using similarly named or untrusted packages. Consider clearing or bypassing the Go module proxy cache if the malicious module is suspected to be cached. Monitor dependency lists for suspicious or unexpected packages. There is no vendor advisory indicating an official fix or mitigation.
Technical Details
- Author
- AlienVault
- Tlp
- white
- References
- ["https://socket.dev/blog/popular-go-decimal-library-typosquat-dns-backdoor"]
- Adversary
- null
- Pulse Id
- 6a0d278a6320921cb57f8b69
- Threat Score
- null
Indicators of Compromise
Domain
| Value | Description | Copy |
|---|---|---|
domaindnslog-cdn-images.freemyip.com | — |
Hash
| Value | Description | Copy |
|---|---|---|
hash2f0ee073c6f29d66188a845592029c9b52528f04 | — | |
hashdd9c0268c8944e6ddf90d4d0c81aa843785b7a9ee965faa635841ed9fc0ba086 | — | |
hash387d7ea5ca733b1e7219c943f4b461877a8df0148adfef42b1538b6c398fbb41 | — | |
hashfd26f4ca4746ee390e22043a5e19ebf2b7fcd1f9 | — | |
hashe3c6ce0440d9acd0f1cef1f0da3cdb5d | — |
Threat ID: 6a0e52dcba1db47362ca4f63
Added to database: 5/21/2026, 12:33:32 AM
Last enriched: 5/21/2026, 12:48:50 AM
Last updated: 5/21/2026, 4:47:44 AM
Views: 24
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.