cd /news/computer-vision/ghost-font-bypass-and-hardening · home topics computer-vision article
[ARTICLE · art-85385] src=github.com ↗ pub= topic=computer-vision verified=true sentiment=· neutral

Ghost Font Bypass and Hardening

A developer has published a bypass for the Ghost Font protection mechanism on Mixfont, using a non-machine-learning attack that achieves a 0.9077 IoU mask overlap and reads 'GHOST'. The same attack against a hardened version yields only 0.0761 IoU and returns 'W4 WZWJ W', demonstrating the effectiveness of the hardening. The attack and defense code are available in the repository, with browser and Python decoders provided.

read1 min views1 publishedAug 4, 2026
Ghost Font Bypass and Hardening
Image: source
Before After

I built this after discovering a way to bypass the protection mechanism by identifying, aligning and removing the moving black elements. The attack uses nine frames, a small vertical-shift search, frame subtraction, thresholding and connected component analysis. It does not use machine learning.

Open the Ghost Font page https://www.mixfont.com/ghost-font, open the developer console, paste code/ghost_font_browser_decoder.js

and press Enter. The script captures nine frames from the visible canvas and opens the recovered mask in an overlay.

Browser origin rules still apply. If the canvas cannot be read/download or record the animation and use the Python decoder.

Python 3.12 and a system ffmpeg

executable are required.

python -m pip install -r requirements.txt
python code/vulnerable_ghost_font_demo.py \
  --output attack/ghost-vulnerable.mp4 \
  --report attack/ghost-attack.json \
  --artifacts attack/artifacts

python code/recover_ghost_font.py \
  attack/ghost-vulnerable.mp4 \
  --output attack/recovered-red.png \
  --classical-ocr \
  --ocr-output attack/recovered.txt

The measured mask overlap is 0.9077

IoU. The template readout is GHOST

.

python code/hardened_ghost_font_demo.py \
  --output defense/ghost-hardened.mp4 \
  --report defense/ghost-defense.json \
  --artifacts defense/artifacts

The same attack reaches 0.0761

IoU and returns W4 WZWJ W

. This result is limited to the global vertical-registration attack implemented here.

python code/build_attack_figure.py --results attack --output figures
python code/build_defense_figure.py --results defense --output figures

Both figures are built from the videos and decoder outputs in this repository.

── more in #computer-vision 4 stories · sorted by recency
── more on @mixfont 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/ghost-font-bypass-an…] indexed:0 read:1min 2026-08-04 ·