Live data from Hacker News

I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye

paultendo.github.io

41–50 of 60 posts

Re: I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye

#41

An interesting attempt, Claude. However, your promot is missing an important step to measure effectiveness against humans: wait 40-60 years for your vision to degrade naturally, and check the confusables again, preferably on a small phone screen. Bonus points if you can find someone with visual disabilities from birth. Obviously most attacks aren't pixel-perfect, but that's not the point, all you need to confuse are…

Staring in keratoconus

Re: I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye

#44
> 82 pairs are pixel-identical

> a string like “аpple.com” with Cyrillic а (U+0430) is pixel-identical to “apple.com” in 40+ fonts. The user, the browser’s address bar, and any visual review process all see the same pixels. This is not theoretical. It is a measured property of the font files shipping on every Mac.

Current implementations of "Computer Use" Agentic AI tools mostly use visuals -- screenshotting of a computer screen and interpreting it.

These pixel-dentical character pairs will be a straight failure mode for those automations and could possibly be a threat vector if crafted well.

Re: I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye

#45

> 82 pairs are pixel-identical > a string like “аpple.com” with Cyrillic а (U+0430) is pixel-identical to “apple.com” in 40+ fonts. The user, the browser’s address bar, and any visual review process all see the same pixels. This is not theoretical. It is a measured property of the font files shipping on every Mac. Current implementations of "Computer Use" Agentic AI tools mostly use visuals -- screenshotting of a com…

I don’t think a human could tell the difference either. This will make phishing emails much more effective.

Re: I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye

#46
About 20 years ago I used Cyrillic confusables to watermark internal documentation that was being leaked by a disgruntled customer service employee. The document would dynamically render and include the employee ID based encoded as bits in the text. It survived copy/paste to plain text well.

I did run into some issues in early versions on when characters in Linux commands or visible web addresses were replaced. Fortunately the source docs were HTML, and it was easy to exclude code or pre nodes when rendering.

I thought this was so clever, but the leaker was never caught using it, to the best of my knowledge.

Re: I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye

#47
Good read (as is the next article in the series), but you can tell it hasn't been proofread due to "paypa׀.com" being described as a danger. Maybe in a different font than the website's, but in that case, maybe this should have been rendered out.

Re: I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye

#48
post #2

Maybe not at super large font sizes. But even lowercase i and l are easy enough to confuse at a glance mid-word in most sans-serif fonts, not to mention uppercase I and lowercase l. You don’t even need “confusable” glyphs to create a domain name that will stand up to a casual visual confirmation from a busy user in a phishing context.

we used to mess with our friends by making AIM screen names that looked identical, or super close to then. then messaging other friends in the group. Or going into chat and saying things like "im a big dumb idiot"

This was like 1998-2003, and non technical people were doing it too. I think I am the only one from that friend group who would even consider that as something to watch out for.

Re: I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye

#50
I think we'll have to start configuring our client tools (e.g. browser, email client, etc) to render domain names with annotations for different character classes. E.g. our native character set is a standard color (blue/black) and then other character sets would have to stand out (purple background?).
Post reply on HN