Cybersecurity researchers have flagged a new typosquatting campaign targeting RubyGems users with a Windows-based information stealer.
OpenSourceMalware, which discovered the activity on August 15, 2026, is tracking the threat under the moniker StubMaker. The complete list of packages published as part of the campaign is below –
ubnuler
ubnlder
ri18nr
reaker
rakier
orakw
joxn
ise18n
ioe18n
ie18u
iai8n
i1l8n
i18om
activesupmport
brumdler
brundlef
“This new malware harvests browser credentials, cryptocurrency wallets, seed phrases, and Telegram data,” security researcher Paul McCarty said. “All of the malicious RubyGems packages appear to be typosquats of popular Ruby dependencies, but rather than the clever SEO-fueled typosquats we’ve seen from other threat actors (e.g., events-channel imitating the popular Node.js events module), they’re all clumsy typos.”
The 16 gems have been published by users named “mod8rz41mje” (aka Riley Miller) and “rbq95bwt6q” (aka Alex Davis). As of writing, the packages have been yanked from RubyGems.
In at least two cases – brumdler and brundlef – the threat actor has been found to take advantage of a known RubyGems behavior that makes a namespace available for anyone to claim once all versions of a gem have been yanked. In both instances, the packages were originally published by “gemlewqqhu1” (aka Taylor Moore) before they were reclaimed by the aforementioned two accounts.
Jenn Gile, co-founder of OpenSourceMalware, told The Hacker News that although the campaign was disrupted fairly early, it became more effective because of Ruby’s “poor design choices” via package name reuse and an unvalidated author field.
“When one of the malicious gems was yanked, the threat actor was able to spin up a new owner account and publish a new malicious version under the same package name,” Gile said. “What should have been forever dead was revived to compromise more people.”
“The attacker assigned a different ‘Author’ name for each gem in an attempt to make them look unrelated, even though they all came from the same owner account. This is because the Author field is a totally unvalidated plaintext field. It doesn’t have to match the Owner or anything else.”
The attack chain, at a high level, makes use of an “extconf.rb” hook to trigger the execution hook. Similar to npm’s lifecycle hooks, “extconf.rb” is run automatically when a user installs a gem. The file is typically used to configure native extensions written in C, C++, or Rust that are bundled inside a Ruby package within the “ext/” directory and compiled during installation of the gem.
In the case of StubMaker, the Ruby hook acts as a conduit to fetch a 22 MB Rust-based loader from a GitHub release, which, in turn, launches a Go-based stealer (“wincfg”) payload embedded into it. The GitHub account (“github[.]com/bebraz1”) is no longer accessible.
The stealer, for its part, incorporates a DLL payload (“abe_payload.dll”) that’s used to extract credentials from Chromium-based web browsers (i.e., Google Chrome, Microsoft Edge, Brave, Opera, Opera GX, Vivaldi, Yandex, Avast, AVG, and CCleaner Browser) by circumventing app-bound encryption (ABE) protections added by Google.
It also collects extension data, browsing history, and payment card numbers; searches for cryptocurrency wallets and seed phrases; extracts Telegram Desktop data; gathers system information; and makes an external request to “api.ipify[.]org” to obtain the victim’s public IP address.
Once the relevant data is captured, it’s uploaded to Gofile in the form of a password-protected ZIP archive and the resulting download link is sent to the threat actor (“dresslee.com”) over an unencrypted HTTP channel.
“StubMaker doesn’t build anything — it generates a Makefile with empty all, install, and clean targets, plus Unix and Windows stub scripts that do nothing but return success, so the extension phase reports a clean build while the real work (the platform beacon, the Windows loader fetch and execution) happens in the installer hook itself,” McCarty explained.
“The name points at that specific move: manufacturing a fake build toolchain to make a malicious install look like a routine one, rather than just describing another typosquatted RubyGems package.”
The disclosure coincides with the discovery of two software supply chain campaigns targeting npm –
A cluster of 21 npm packages that typosquatted CLI binary names exposed by Google’s scoped packages to deliver a minimal postinstall beacon. “The packages did not squat package names,” SafeDep said. “They targeted the bin field, the part of package.json that defines executable command names. Every scoped package that declares a bin entry creates an unscoped name that anyone can register. None of the standard dependency confusion mitigations (scoped publishing, registry allowlists, lockfile pinning) cover this gap.”
A cluster of Baileys npm forks that engage in a variety of malicious behaviors: covertly make the installer’s WhatsApp account follow channels the package author controls and inject the author’s advertising URL into every image and video the bot sends.
“Continuous monitoring of the npm registry records 4,250 package names that contain baileys and another 112 that contain libsignal-node,” SafeDep said, adding the malicious behavior has been observed in 70 package names built on Baileys across 343 versions and 15 libsignal-node impersonators across 38 versions.
📰 Original Source:TheHackerNews ✍️ Author: info@thehackernews.com (The Hacker News)
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Leave a Reply