news 2026/2/26 23:53:31

利用零宽度字符的隐形JavaScript混淆工具InvisibleJS浮出水面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
利用零宽度字符的隐形JavaScript混淆工具InvisibleJS浮出水面

InvisibleJS是一款利用不可见零宽度Unicode字符隐藏JavaScript代码的新型开源工具,其潜在恶意用途已引发安全警报。该工具由开发者oscarmine托管在GitHub上,采用隐写术技术将源代码嵌入看似空白的文件中。

工作原理

该工具将JavaScript转换为二进制字符串,其中0映射为零宽度空格(U+200B),1映射为零宽度非连接符(U+200C)。运行时,一个小型引导加载程序会解码并执行隐藏的有效载荷,使得代码在VS Code等编辑器中肉眼不可见。

针对不同环境的两个版本

代码库提供两个版本:

  • 版本1(经典eval版):专为CommonJS和传统Node.js环境设计,原生支持require和module.exports
  • 版本2(现代import版):面向ES模块,使用动态await import()实现顶层await和exports,但需要.mjs文件或"type": module配置

通过CLI隐藏代码非常简单:

  • 版本1:node hideV1.mjs -i input.js -o hidden.js
  • 版本2:node hideV2.mjs -i input.js -o hidden.js

执行时只需运行node hidden.js,虽然文件看似空白,但能正常输出结果。

版本特性对比

特性版本1(eval)版本2(import)
隐形效果100%100%
CommonJS支持原生有限
ESM支持完整
顶层await不支持支持
执行方式同步异步
解码器长度

安全威胁分析

这种技术呼应了2018年以来的零宽度JS概念验证,现已被武器化用于网络钓鱼攻击。攻击者曾滥用类似的Unicode混淆技术(如使用韩文字符表示二进制)来隐藏脚本中的有效载荷,并通过反调试检查规避扫描器。

InvisibleJS可能加剧此类威胁,使攻击者能够在Node.js环境或Web应用中部署隐形恶意软件加载器,大大增加威胁检测难度。随着混淆工具的激增,安全团队必须加强支持Unicode的扫描和行为分析能力。虽然InvisibleJS目前仅作为实验性项目发布,但它凸显了编码创新在网络安全领域的双重用途特性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 11:18:38

并发,并行与异步

我发现一个普遍的困惑点浮现出来,其根源在于混淆了“并发”、“并行”与“异步”,特别是下意识地将异步等同于利用多核CPU进行并行处理。 为了彻底澄清这些基础但至关重要的概念,我们深入剖析理论原则并且同时抛开我们日常使用的现代框架&am…

作者头像 李华
网站建设 2026/2/27 5:34:10

2026论文写作AI工具实测:全流程提效不踩坑

2026年,AI工具早已深度融入学术写作场景,成为科研人、学生提升效率的重要助力。但市面上论文类AI工具鱼龙混杂,宣传噱头远大于实用价值的产品不在少数。究竟哪些工具能真正解决选题迷茫、格式混乱、文献难寻、排版耗时等核心痛点?…

作者头像 李华
网站建设 2026/2/23 17:11:23

可观察的到底是个啥?前端老铁速看,别再被 RxJS 整懵了!

可观察的到底是个啥?前端老铁速看,别再被 RxJS 整懵了! 可观察的到底是个啥?前端老铁速看,别再被 RxJS 整懵了!先别急着关页面,我不是来背概念的Promise 咋就不够用了?我踩过的坑你别…

作者头像 李华
网站建设 2026/2/26 23:07:45

《UVA11181 条件概率 Probability|Given》

题目描述 PDF 输入格式 输出格式 隐藏翻译 题意翻译 有 n 个人要去买东西,第 i 个人买到东西的概率为 pi​。现在已知恰好有 r 个人买了东西,在这种条件下,求每个人买到东西的概率。 本题有多组数据,满足测试数据组数不超过 5…

作者头像 李华