token-smuggling

Detect token-smuggling and Unicode injection patterns in LLM prompts.

20|Updated Feb 27, 2026
One-click install
npx skills add https://github.com/thejefflarson/soundcheck --skill token-smuggling
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: token-smuggling
Source: https://github.com/thejefflarson/soundcheck/tree/main/.claude/skills/token-smuggling
Command: npx skills add https://github.com/thejefflarson/soundcheck --skill token-smuggling

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps detect and prevent token-smuggling and Unicode injection attacks in code that passes user input to LLMs, ensuring prompts cannot be manipulated through hidden characters or homoglyphs.

Core Features & Use Cases

  • Detects Unicode control and invisible formatting characters that can be used to tamper with prompts.
  • Enforces Unicode normalization and safety checks at the trust boundary to prevent bypass of filters.
  • Provides guidance for secure prompt construction and verification in software that integrates LLMs.

Quick Start

Normalize all user input with NFKC before it reaches any LLM prompt construction.

Frequently Asked Questions about token-smuggling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent Unicode injection attacks in LLM prompts?

Prevent Unicode injection attacks in LLM prompts by enforcing NFKC normalization on all user input, stripping invisible formatting characters, and running filter comparisons strictly on the normalized text.

What is token smuggling in prompt injection?

Token smuggling in prompt injection is the manipulation of LLM prompts using hidden Unicode control characters or homoglyphs to bypass security filters and alter prompt logic.

How do I normalize user input for secure LLM prompt construction?

Normalize user input for secure LLM prompt construction by applying NFKC Unicode normalization at the trust boundary before the data flows into any prompt assembly or LLM interaction pipeline.

What's the best way to secure a codebase against invisible Unicode characters?

The best way to secure a codebase against invisible Unicode characters is to implement a verification checklist that enforces input normalization, strips control characters, and validates all text comparisons.

Does NFKC normalization strip all dangerous Unicode control characters?

NFKC normalization standardizes Unicode representations but does not inherently strip control characters; you must explicitly filter invisible and control characters to ensure LLM input safety.

Why do LLM filters fail when checking raw user input?

LLM filters fail when checking raw user input because unnormalized text containing homoglyphs or invisible Unicode characters can bypass string comparisons, allowing malicious prompt injection to slip through.