Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/afine-com/glassworm-hunter
危害指标 (IOC) 管理静态分析漏洞扫描器代码分析取证分析恶意软件分析DevSecOps秘密检测威胁情报供应链安全学习与教育事件响应
3142个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
afine-com/glassworm-hunter

glassworm-hunter

通过扫描 VS Code 扩展、npm/PyPI 包和 Git 仓库中的不可见 Unicode 载荷、解码器模式、C2 标记以及已知恶意 IOC,检测 GlassWorm 供应链攻击载荷。

查看仓库

glassworm-hunter

Glassworm Hunter Logo

在你的机器上检测GlassWorm供应链攻击载荷。扫描VS Code扩展、npm包、Python包和git仓库。

该扫描器检测攻击技术本身——不可见的Unicode变体选择器载荷、GlassWorm解码器模式、C2指示器和凭据窃取代码。

安装

root@kitploit:~
pip install glassworm-hunter

或者使用pipx:

root@kitploit:~
pipx install glassworm-hunter

快速开始

扫描当前目录,但不扫描VS Code/Cursor扩展:

root@kitploit:~
glassworm-hunter scan --no-extensions

扫描特定项目:

root@kitploit:~
glassworm-hunter scan /path/to/project

它检测什么

技术检测(捕获未知变体)

  • 不可见的Unicode载荷 - 用于编码隐藏代码的变体选择器字符(U+FE00-FE0F, U+E0100-E01EF)。合法使用是1-2个字符用于表情符号。GlassWorm使用了数千个。
  • GlassWorm解码器模式 - 解码不可见载荷的codePointAt + 变体选择器范围算法
  • 双向覆盖字符 - Trojan Source攻击(CVE-2021-42574)
  • 韩文填充符 - 不可见的有效JavaScript标识符(U+3164)
  • eval/Function与动态内容 - 由解码字符串提供的执行槽
  • 凭据访问 - 读取.npmrc、.gitcredentials、SSH密钥、令牌环境变量的代码
  • C2通信模式 - Solana RPC调用、Google Calendar网址、WebRTC数据通道出现在意外上下文中

已知IOC匹配(补充)

  • 21个已知恶意VS Code/OpenVSX扩展ID(所有5波)
  • 4个已知恶意npm包
  • 14个已知C2 IP地址
  • 3个已知Solana C2钱包地址
  • 攻击者电子邮件和构建路径工件

严重级别

级别含义
CRITICAL检测到活跃的GlassWorm载荷(代码中的不可见Unicode簇,解码器模式)
HIGH匹配到已知恶意IOC(C2 IP、钱包、扩展依赖已知恶意软件)

CLI选项

root@kitploit:~
glassworm-hunter scan [OPTIONS] [PATHS...]

扫描期间会在stderr上显示Rich进度条。使用--quiet或--verbose时会自动抑制。扫描完成后,始终会在stderr上打印一行摘要(扫描的文件、发现项、输出路径)。

其他命令

root@kitploit:~
# List all detection rule IDs (for use with --disable-rule)
glassworm-hunter rules

# Update local IoC database from GitHub (default source:
# https://raw.githubusercontent.com/afine-com/glassworm-hunter/main/data/ioc.json)
glassworm-hunter update

# Update from a custom source (e.g. internal threat intelligence server)
glassworm-hunter update --source https://internal.corp/ioc.json

# Force overwrite existing local IoC database
glassworm-hunter update --force

# Print version
glassworm-hunter version

退出代码

代码含义
0无发现
1发现检测到
2扫描器错误

如果发现了什么

  1. 不要惊慌。 扫描器找到了一个指示器,而不是已确认的入侵。某些检测可能是误报,我们的团队正在持续努力减少误报并提高检测准确性。
  2. 不要执行标记的代码。 在解决之前,不要运行、构建或测试受影响的项目。
  3. 严重发现: 立即卸载扩展/包。轮换你机器上的NPM令牌、GitHub令牌、SSH密钥以及任何其他凭据。
  4. 高发现: 调查标记的文件。如果它位于你未明确安装的依赖中,将其移除。
  5. 中发现: 审查代码。这些模式可疑,但在某些上下文中可能是合法的。

CI/CD集成

用于自动化处理的JSON输出:

root@kitploit:~
glassworm-hunter scan . --format json --output report.json --no-extensions

用于GitHub代码扫描的SARIF:

root@kitploit:~
glassworm-hunter scan . --format sarif --output results.sarif --no-extensions

将SARIF上传到GitHub:

root@kitploit:~
- uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: results.sarif

在CI中使用退出代码:

root@kitploit:~
glassworm-hunter scan . --severity critical --no-extensions || exit 1

排除构建工件和供应商代码:

root@kitploit:~
glassworm-hunter scan . --exclude "dist/**" --exclude "*.min.js" --no-extensions

无网络访问

该扫描器默认完全离线。仅读取本地文件。无遥测、无回拨、无自动更新检查。IoC数据库已捆绑在包中。

唯一发出网络请求的命令是glassworm-hunter update,它从GitHub(或自定义的--source URL)获取最新的IoC数据库。永远不会自动调用。

配置文件

在项目根目录放置一个.glassworm.yml来设置默认值:

root@kitploit:~
exclude:
  - "*.min.js"
  - "vendor/**"
  - "dist/**"

disable_rules:
  - zero-width-chars

severity: medium

CLI标志会覆盖配置文件的值。

自定义IoC文件

使用--ioc-file从JSON文件加载额外的指示器。这对于团队特定或内部威胁情报很有用:

root@kitploit:~
glassworm-hunter scan /path --ioc-file /path/to/team_ioc.json

文件必须遵循与data/ioc.json相同的模式:

root@kitploit:~
{
  "schema_version": "1.0",
  "extensions": [{"id": "publisher.name"}],
  "npm_packages": [{"name": "pkg", "malicious_versions": "1.0.0"}],
  "c2_ips": [{"ip": "1.2.3.4"}],
  "c2_wallets": [{"address": "..."}],
  "attacker_artifacts": [{"type": "email", "value": "[email protected]"}]
}

自定义文件会合并到所有其他IoC层之上(硬编码 → 捆绑 → 用户~/.glassworm/ioc.json → --ioc-file)。

IoC数据库层

扫描器使用3+1层IoC系统(每一层会合并到上一层之上,从不移除):

  1. 硬编码 — 内置于Python源码中,始终可用
  2. 捆绑 — 随包分发的data/ioc.json
  3. 用户 — ~/.glassworm/ioc.json,通过glassworm-hunter update更新
  4. 自定义 — --ioc-file标志,最高优先级

致谢

  • Koi Security - GlassWorm的原始发现者(2025年10月),并对多波攻击进行持续追踪,包括OpenVSX/VSCode活动、Rust二进制切入点和macOS切入点。本扫描器中的IoC数据基于他们已发表的研究。
  • Aikido Security - 对2026年3月针对GitHub仓库和npm包的GlassWorm波的分析,与Socket、Step Security和OpenSourceMalware社区共同完成。
  • AFINE - 本扫描器。阅读完整研究:Hunting GlassWorm: Open-Source Detection for Invisible Supply Chain Payloads

Windows

扫描器可在Windows上运行。除非以提升的(管理员)命令提示符运行,否则有4项测试会失败。

License

MIT

下载工具
MEDIUM
值得审查的可疑模式(eval+动态内容、凭据访问、Trojan Source)
LOW信息性(异常的零宽度字符密度,可疑的安装脚本)
选项默认值描述
--extensions / --no-extensionson扫描VS Code/Cursor/Codium扩展
--npm-scan / --no-npm-scanon扫描node_modules
--pip-scan / --no-pip-scanoff扫描Python site-packages
--git / --no-giton扫描git仓库
--format [console|json|sarif]console输出格式
--output FILEstdout将报告写入文件
--severity [critical|high|medium|low]low报告的最低严重级别
--max-file-size SIZE10MB跳过大于此的文件
--include-hiddenoff扫描隐藏文件/目录
--quietoff抑制进度输出
--verboseoff显示每个正在扫描的文件
--exclude PATTERN—要排除的Glob模式(可重复)
--disable-rule RULE_ID—抑制特定检测规则(可重复)
--ioc-file FILE—从JSON文件加载额外的IoC指示器