confusable-vision
收藏github2026-02-28 更新2026-03-01 收录
下载链接:
https://github.com/paultendo/confusable-vision
下载链接
链接失效反馈官方服务:
资源简介:
confusable-vision是一个关于Unicode易混淆字符的视觉相似性评分数据集。它在230种系统字体中渲染字符对,测量结构相似性(SSIM),并生成评分的JSON文件,准确告诉你两个字符在哪些字体中易混淆以及置信度。数据集包含793个未在Unicode TR39中列出的易混淆对,以及563个非拉丁脚本之间的视觉易混淆对,填补了现有数据集的空白。
confusable-vision is a visual similarity scoring dataset focused on Unicode confusable characters. It renders character pairs across 230 system fonts, measures their structural similarity (SSIM), and generates scored JSON files that accurately specify in which fonts two given characters are confusable along with the corresponding confidence scores. This dataset includes 793 confusable character pairs not listed in Unicode TR39, as well as 563 visual confusable pairs between non-Latin scripts, filling the gaps of existing datasets.
创建时间:
2026-02-25
原始信息汇总
数据集概述
数据集基本信息
- 数据集名称: confusable-vision
- 核心目标: 为Unicode易混淆字符提供基于经验的视觉相似性评分。
- 主要方法: 在230种系统字体中渲染字符对,测量结构相似性(SSIM),并生成带有评分的JSON文件,精确描述两个字符的混淆程度、涉及的字体以及置信度。
关键发现与规模
基于对22,000多个字符、12种书写系统进行的2650万次SSIM比较,主要发现如下:
1. 未被标准收录的易混淆对
- 数量: 793对。
- 描述: 这些字符在屏幕上看起来像拉丁字母,但未收录在Unicode官方的
confusables.txt中。 - 风险: 其中74.5%目前可在包名和域名中有效使用。
2. 首创的跨文字易混淆数据集
- 数量: 563对。
- 描述: 涵盖了非拉丁文字之间(如西里尔文与希腊文、韩文与汉字、天城文与泰文)的视觉易混淆对,这是此前公开数据集未覆盖的。
3. 字体感知的置信度评分
- 特点: 使用测量的SSIM值替代二元列表,量化混淆程度及具体字体。
- 对比: 96.5%的TR39易混淆对SSIM评分低于0.7;而危险的3.5%评分高于0.95。
数据内容与输出文件
已提交文件(CC-BY-4.0许可)
| 文件 | 描述 |
|---|---|
data/output/confusable-discoveries.json |
110个具有高SSIM(>= 0.7)或像素完全相同的TR39易混淆对。 |
data/output/candidate-discoveries.json |
793个未收录于TR39的新发现易混淆对,平均SSIM >= 0.7。 |
data/output/confusable-weights.json |
包含1,397个带权重的边,用于集成到namespace-guard中。 |
生成文件(需运行流水线重新生成)
| 文件 | 描述 |
|---|---|
data/output/render-index/ |
11,370个渲染PNG文件及索引。 |
data/output/candidate-index/ |
89,478个渲染PNG文件及索引。 |
data/output/confusable-scores.json |
完整的评分结果(63 MB)。 |
data/output/candidate-scores.json |
完整的评分结果(573 MB)。 |
data/output/report-stats.txt |
用于REPORT.md的详细统计数据。 |
技术方法
- 渲染流水线: 使用
build-index脚本将源字符和目标字符渲染为48x48灰度PNG图像,每个字符仅在其原生支持的字体中渲染。 - 评分计算: 使用
score-all-pairs和score-candidates脚本,以两种模式计算每个有效源/目标组合的SSIM:同字体模式和跨字体模式。 - 结果提取: 使用
extract-discoveries脚本过滤出高评分对(平均SSIM >= 0.7),并生成紧凑的JSON文件。 - 设计选择: 采用灰度渲染、无图像增强、使用SSIM而非学习嵌入、通过Fontconfig进行针对性渲染。
字体覆盖
自动发现所有包含拉丁字母a-z覆盖的系统字体,共计230种,分为以下几类:
- 标准字体: 74种(如Arial, Menlo, Georgia, Helvetica)。
- 文字字体: 49种(包含拉丁字形的中文、印度文、泰文字体)。
- Noto字体: 103种(用于非拉丁文字的Noto Sans变体)。
- 数学字体: 3种。
- 符号字体: 1种。
应用与集成
- 主要应用: 输出文件
confusable-weights.json可直接输入到namespace-guard(https://github.com/paultendo/namespace-guard),用于在包名、域名和标识符中进行运行时易混淆检测。 - 字体查询: 提供脚本查询特定字体存在的易混淆对,支持按阈值过滤和比较不同字体的SSIM差异。
许可信息
- 代码(src/, scripts/): MIT 许可证。
- 生成的数据(data/output/): CC-BY-4.0 许可证(https://creativecommons.org/licenses/by/4.0/),可自由使用、分享和改编,包括商业用途,需注明出处。
- 署名: Paul Wood FRSA (@paultendo), confusable-vision。
搜集汇总
数据集介绍
构建方式
在字形相似性研究领域,confusable-vision数据集通过创新的向量轮廓射线投射技术构建而成。该方法绕过了传统的光栅化过程,直接对245种系统字体中的Unicode易混淆字符对进行渲染,并利用五层射线签名捕捉字形结构细节。构建过程采用三级过滤级联策略,首先基于字符宽度差异剔除63%的候选对,随后通过射线比较阈值进一步筛选,最终仅保留3.3%的高质量发现,从而在31分钟内高效完成了5260万对字符比较。
特点
该数据集的核心特征在于其提供的连续距离评分机制,而非传统的二元判定列表。每个字符对在每种字体下均拥有精确的射线距离测量值,为下游安全工具提供了字体感知的置信度依据。数据集覆盖12种书写系统的22,581个字符,不仅包含249,976个独特单字符易混淆对,还扩展至252万多个多字符组合,其中拉丁双字母“oy”与西里尔字母“ѹ”的跨文字发现尤为突出。与传统的符号距离场方法相比,其发现量提升了305%,且计算效率提高了29%。
使用方法
数据集的使用遵循模块化流程,用户需首先通过npm安装依赖并构建射线签名库。单字符发现模块可针对12种文字系统进行扫描,多字符发现则专注于双字母组合的相似性分析。输出结果以结构化JSON格式呈现,包含严格、标准与探索性三级操作阈值,可直接集成至namespace-guard等安全工具中,用于域名注册验证、软件包名称检测等实际场景。此外,专用字体查询脚本支持按字体筛选易混淆对,为字体设计与安全评估提供细粒度分析能力。
背景与挑战
背景概述
在数字安全与多语言计算领域,字形混淆问题长期构成严峻挑战,尤其是Unicode字符集中视觉相似的字符可能被恶意用于域名、软件包名称等标识符的欺骗攻击。confusable-vision数据集由Paul Wood等人于近期构建,旨在通过向量轮廓射线投射技术,对跨越245种系统字体、12种书写体系的字符对进行结构相似性量化评估。该数据集摒弃了传统的栅格化方法,直接从字体轮廓提取五层射线签名,实现了超过5200万次单字符与1.9亿次多字符对比,显著扩展了现有混淆字符对的发现规模与精度,为安全工具提供了基于字体感知的连续距离评分,有力推动了Unicode安全检测从二元判断向概率化度量的演进。
当前挑战
该数据集致力于解决Unicode视觉混淆字符检测这一核心领域问题,其挑战在于如何高效且准确地量化跨字体、跨书写系统的字形相似性,以应对日益复杂的标识符欺骗攻击。在构建过程中,研究团队面临多重技术障碍:首先,需设计一种能够捕捉字形细微结构差异的度量方法,避免因字体渲染差异或尺寸比例导致的误判;其次,处理海量字符对的穷举比较需要极高的计算效率,团队通过三级过滤级联与预计算签名库将数千万次对比压缩至单线程31分钟内完成;此外,确保发现的混淆对在真实安全场景中具有低误报率,需精心校准距离阈值,区分严格、标准与探索性操作层级,以平衡覆盖范围与精确性。
常用场景
经典使用场景
在网络安全与字体设计领域,confusable-vision数据集通过向量轮廓射线投射技术,系统评估了Unicode字符间的视觉相似性。该数据集在245种系统字体上渲染字符对,生成连续距离分数,为识别混淆字符提供了量化依据。其经典应用场景在于构建自动化检测工具,用于验证域名、软件包名称等标识符的视觉唯一性,防止恶意攻击者利用字形相似性进行欺骗。
衍生相关工作
基于confusable-vision数据集衍生的经典工作包括namespace-guard工具,它利用数据集的加权边缘分数实现动态混淆检测。学术上,该数据集启发了对跨书写系统混淆字符的深入探索,如拉丁与西里尔字母间的视觉等价性研究。相关博客文章系统阐述了射线空间方法学,推动了字形相似性检测从图像相似性比较向向量轮廓分析的演进,为后续研究提供了可复现的基准与开源框架。
数据集最近研究
最新研究方向
在网络安全与字符识别领域,confusable-vision数据集通过向量轮廓射线投射技术,为字形相似性评估提供了量化依据。该数据集覆盖245种系统字体,跨越12种书写系统,揭示了大量跨脚本混淆字符对,如拉丁字母与西里尔字母之间的视觉相似性。前沿研究聚焦于利用其连续距离分数,增强域名注册、软件包命名等场景下的安全检测工具,防范基于视觉混淆的网络攻击。同时,数据集支持多字符混淆对发现,如“rn”与“m”的相似性分析,为自然语言处理模型对抗样本的构建提供了新视角,推动了字形相似性在人工智能安全领域的应用探索。
以上内容由遇见数据集搜集并总结生成



