junbjnnn/glassworm-poc

GitHub: junbjnnn/glassworm-poc

该项目提供了一个针对 Glassworm Unicode 混淆供应链攻击的教育性概念验证,集成了攻击演示代码与安全检测工具。

Stars: 0 | Forks: 0

# Glassworm POC ## 什么是 Glassworm? Glassworm 是一种供应链攻击,它将恶意代码隐藏在 **不可见的 Unicode 变体选择器字符**(U+FE00-FE0F, U+E0100-E01EF)中。这些字符在代码编辑器中渲染为零宽度,使得 payload 在代码审查期间不可见。 ## 项目结构 ``` glassworm-poc/ ├── attack/ — Attack demo (encoder + decoder + payload) │ ├── glassworm-encoder.js — Encode plaintext → invisible Unicode │ ├── glassworm-decoder.js — Decode invisible Unicode → plaintext │ ├── glassworm-runner.js — Decode + execute with safety wrapper │ └── payload-demo.js — Pre-encoded invisible payload ├── detector/ — Detection CLI tool │ ├── glassworm-detector-cli.js — CLI entry point │ ├── glassworm-unicode-scanner.js — Scan files for Unicode patterns │ ├── glassworm-npm-scanner.js — Scan node_modules │ ├── glassworm-detection-rules.js — Detection rules & signatures │ └── glassworm-detection-reporter.js — CLI colored + JSON output ├── samples/ — Test samples for detector validation └── test/ — Integration tests ``` ## 使用方法 ### 攻击演示 ``` # 将 payload 编码为不可见 Unicode node attack/glassworm-encoder.js --file payload.js --output attack/payload-demo.js # 运行(安全)演示 payload npm run decode ``` ### 检测工具 ``` # 扫描目录 npm run scan -- ./samples # 使用 JSON 输出进行扫描 npm run scan:json -- ./samples # 扫描包括 node_modules npm run scan -- ./my-project --include-deps ``` ### 测试 ``` npm test ``` ## 安全防护措施 - 所有文件均包含教育免责声明头 - 演示 payload 为只读(无网络访问、无文件写入、无持久化) - `package.json` 中设置了 `"private": true` 以防止 npm publish - Payload 仅读取 `~/.ssh/known_hosts` 并列出环境变量键名(不包含值)
标签:DNS 反向解析, JavaScript安全, MITM代理, Node.js安全, PFX证书, SQL查询, Unicode混淆, URL收集, 不可见字符, 代码混淆, 变体选择符, 攻击检测, 数据可视化, 文档安全, 概念验证, 漏洞演示, 网络安全教学, 自定义脚本, 隐写术, 静态扫描