トークン操作とは
トークン操作とは、LLMのトークナイゼーション処理の特性を悪用して、セキュリティフィルターを回避する攻撃手法です。モデルがテキストをトークンに分割する際の挙動の不整合を利用し、禁止された内容をフィルターに検出されない形で入力します。
| ひとことで言うと | トークン分割の癖を悪用して、フィルタをすり抜けさせる攻撃。 |
|---|---|
| どんな手口か | 特殊文字の挿入、見た目が似た別文字への置換、符号化による偽装。 |
| 注意点 | 文字列の単純一致によるフィルタは回避されやすい。正規化してから検査する。 |
攻撃の手法
トークン操作には複数の手法があります。文字の分割や結合(「危」「険」のように文字を分けて入力)、Unicode文字の悪用(視覚的に同じだがコードが異なる文字の使用)、特殊トークンの挿入、意図的なスペルミスやレート表記の利用などがあります。これらの手法は、テキストベースの入力フィルターがトークン単位ではなく文字列単位でパターンマッチングを行っている場合に特に効果的です。
1禁止語をフィルタ文字列一致で検出
▶
2似た文字に置換見た目は同じ
▶
3フィルタをすり抜け一致しないため通る
▶
4AIは意味を理解人と同様に読める
▶
5対策:正規化統一してから検査
対策
トークン操作への対策は、フィルタリングをトークン化後の段階でも実施することが有効です。テキストの正規化処理(Unicode正規化、ホモグリフの統一)をフィルタリング前に適用し、意味レベルでのコンテンツ分析を行うセマンティックフィルターの導入も推奨されます。多層フィルタリング戦略を採用し、文字列レベル・トークンレベル・意味レベルの複数段階でチェックを行うことで、防御の堅牢性が向上します。