Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ For testing. This generator repeats back the prompt it received.
|----------------------|-------------------------------------------------------------------------------------------------------------------------------|
| blank | A simple probe that always sends an empty prompt. |
| atkgen | Automated Attack Generation. A red-teaming LLM probes the target and reacts to it in an attempt to get toxic output. Prototype, mostly stateless, for now uses a simple GPT-2 [fine-tuned](https://huggingface.co/garak-llm/artgpt2tox) on the subset of hhrlhf attempts that yielded detectable toxicity (the only target currently supported for now). |
| badchars | Implements imperceptible Unicode perturbations (invisible characters, homoglyphs, reorderings, deletions) inspired by the [Bad Characters](https://arxiv.org/abs/2106.09898) paper. |
| av_spam_scanning | Probes that attempt to make the model output malicious content signatures |
| continuation | Probes that test if the model will continue a probably undesirable word |
| dan | Various [DAN](https://adguard.com/en/blog/chatgpt-dan-prompt-abuse.html) and DAN-like attacks |
Expand Down
9 changes: 9 additions & 0 deletions docs/source/garak.probes.badchars.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
garak.probes.badchars
=====================

.. automodule:: garak.probes.badchars
:members:
:undoc-members:
:show-inheritance:

.. show-asr::
1 change: 1 addition & 0 deletions docs/source/probes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,5 @@ For a detailed oversight into how a probe operates, see :doc:`garak.probes.base`
garak.probes.topic
garak.probes.visual_jailbreak
garak.probes.web_injection
garak.probes.badchars
garak.probes._tier
164 changes: 164 additions & 0 deletions garak/data/badchars/intentional.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
# intentional.txt
# Date: 2025-07-22, 05:49:36 GMT
# © 2025 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use and license, see https://www.unicode.org/terms_of_use.html
#
# Unicode Security Mechanisms for UTS #39
# Version: 17.0.0
#
# For documentation and usage, see https://www.unicode.org/reports/tr39
#
0021 ; 01C3 #* ( ! ~ ǃ ) EXCLAMATION MARK ~ LATIN LETTER RETROFLEX CLICK

0041 ; 0391 # ( A ~ Α ) LATIN CAPITAL LETTER A ~ GREEK CAPITAL LETTER ALPHA

0042 ; 0392 # ( B ~ Β ) LATIN CAPITAL LETTER B ~ GREEK CAPITAL LETTER BETA

0043 ; 0421 # ( C ~ С ) LATIN CAPITAL LETTER C ~ CYRILLIC CAPITAL LETTER ES

0045 ; 0395 # ( E ~ Ε ) LATIN CAPITAL LETTER E ~ GREEK CAPITAL LETTER EPSILON

0048 ; 0397 # ( H ~ Η ) LATIN CAPITAL LETTER H ~ GREEK CAPITAL LETTER ETA

0049 ; 0399 # ( I ~ Ι ) LATIN CAPITAL LETTER I ~ GREEK CAPITAL LETTER IOTA

004A ; 0408 # ( J ~ Ј ) LATIN CAPITAL LETTER J ~ CYRILLIC CAPITAL LETTER JE

004B ; 039A # ( K ~ Κ ) LATIN CAPITAL LETTER K ~ GREEK CAPITAL LETTER KAPPA

004D ; 039C # ( M ~ Μ ) LATIN CAPITAL LETTER M ~ GREEK CAPITAL LETTER MU

004E ; 039D # ( N ~ Ν ) LATIN CAPITAL LETTER N ~ GREEK CAPITAL LETTER NU

004F ; 039F # ( O ~ Ο ) LATIN CAPITAL LETTER O ~ GREEK CAPITAL LETTER OMICRON

0050 ; 03A1 # ( P ~ Ρ ) LATIN CAPITAL LETTER P ~ GREEK CAPITAL LETTER RHO

0053 ; 0405 # ( S ~ Ѕ ) LATIN CAPITAL LETTER S ~ CYRILLIC CAPITAL LETTER DZE

0054 ; 03A4 # ( T ~ Τ ) LATIN CAPITAL LETTER T ~ GREEK CAPITAL LETTER TAU

0058 ; 03A7 # ( X ~ Χ ) LATIN CAPITAL LETTER X ~ GREEK CAPITAL LETTER CHI

0059 ; 03A5 # ( Y ~ Υ ) LATIN CAPITAL LETTER Y ~ GREEK CAPITAL LETTER UPSILON

005A ; 0396 # ( Z ~ Ζ ) LATIN CAPITAL LETTER Z ~ GREEK CAPITAL LETTER ZETA

0061 ; 0430 # ( a ~ а ) LATIN SMALL LETTER A ~ CYRILLIC SMALL LETTER A

0063 ; 0441 # ( c ~ с ) LATIN SMALL LETTER C ~ CYRILLIC SMALL LETTER ES

0064 ; 0501 # ( d ~ ԁ ) LATIN SMALL LETTER D ~ CYRILLIC SMALL LETTER KOMI DE

0065 ; 0435 # ( e ~ е ) LATIN SMALL LETTER E ~ CYRILLIC SMALL LETTER IE

0068 ; 04BB # ( h ~ һ ) LATIN SMALL LETTER H ~ CYRILLIC SMALL LETTER SHHA

0069 ; 0456 # ( i ~ і ) LATIN SMALL LETTER I ~ CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I

006A ; 03F3 # ( j ~ ϳ ) LATIN SMALL LETTER J ~ GREEK LETTER YOT

006F ; 03BF # ( o ~ ο ) LATIN SMALL LETTER O ~ GREEK SMALL LETTER OMICRON

0070 ; 0440 # ( p ~ р ) LATIN SMALL LETTER P ~ CYRILLIC SMALL LETTER ER

0073 ; 0455 # ( s ~ ѕ ) LATIN SMALL LETTER S ~ CYRILLIC SMALL LETTER DZE

0078 ; 0445 # ( x ~ х ) LATIN SMALL LETTER X ~ CYRILLIC SMALL LETTER HA

0079 ; 0443 # ( y ~ у ) LATIN SMALL LETTER Y ~ CYRILLIC SMALL LETTER U

00C6 ; 04D4 # ( Æ ~ Ӕ ) LATIN CAPITAL LETTER AE ~ CYRILLIC CAPITAL LIGATURE A IE

00D0 ; 0110 # ( Ð ~ Đ ) LATIN CAPITAL LETTER ETH ~ LATIN CAPITAL LETTER D WITH STROKE

00E6 ; 04D5 # ( æ ~ ӕ ) LATIN SMALL LETTER AE ~ CYRILLIC SMALL LIGATURE A IE

0138 ; 043A # ( ĸ ~ к ) LATIN SMALL LETTER KRA ~ CYRILLIC SMALL LETTER KA

0182 ; 0411 # ( Ƃ ~ Б ) LATIN CAPITAL LETTER B WITH TOPBAR ~ CYRILLIC CAPITAL LETTER BE

018F ; 04D8 # ( Ə ~ Ә ) LATIN CAPITAL LETTER SCHWA ~ CYRILLIC CAPITAL LETTER SCHWA

019F ; 04E8 # ( Ɵ ~ Ө ) LATIN CAPITAL LETTER O WITH MIDDLE TILDE ~ CYRILLIC CAPITAL LETTER BARRED O

01A9 ; 03A3 # ( Ʃ ~ Σ ) LATIN CAPITAL LETTER ESH ~ GREEK CAPITAL LETTER SIGMA

01DD ; 0259 # ( ǝ ~ ə ) LATIN SMALL LETTER TURNED E ~ LATIN SMALL LETTER SCHWA

0245 ; 039B # ( Ʌ ~ Λ ) LATIN CAPITAL LETTER TURNED V ~ GREEK CAPITAL LETTER LAMDA

0259 ; 04D9 # ( ə ~ ә ) LATIN SMALL LETTER SCHWA ~ CYRILLIC SMALL LETTER SCHWA

025B ; 03B5 # ( ɛ ~ ε ) LATIN SMALL LETTER OPEN E ~ GREEK SMALL LETTER EPSILON

0269 ; 03B9 # ( ɩ ~ ι ) LATIN SMALL LETTER IOTA ~ GREEK SMALL LETTER IOTA

0275 ; 04E9 # ( ɵ ~ ө ) LATIN SMALL LETTER BARRED O ~ CYRILLIC SMALL LETTER BARRED O

0292 ; 04E1 # ( ʒ ~ ӡ ) LATIN SMALL LETTER EZH ~ CYRILLIC SMALL LETTER ABKHASIAN DZE

0299 ; 0432 # ( ʙ ~ в ) LATIN LETTER SMALL CAPITAL B ~ CYRILLIC SMALL LETTER VE

029C ; 043D # ( ʜ ~ н ) LATIN LETTER SMALL CAPITAL H ~ CYRILLIC SMALL LETTER EN

0393 ; 0413 # ( Γ ~ Г ) GREEK CAPITAL LETTER GAMMA ~ CYRILLIC CAPITAL LETTER GHE

03A0 ; 041F # ( Π ~ П ) GREEK CAPITAL LETTER PI ~ CYRILLIC CAPITAL LETTER PE

03B1 ; 237A # ( α ~ ⍺ ) GREEK SMALL LETTER ALPHA ~ APL FUNCTIONAL SYMBOL ALPHA

03B9 ; 2373 # ( ι ~ ⍳ ) GREEK SMALL LETTER IOTA ~ APL FUNCTIONAL SYMBOL IOTA

03C1 ; 2374 # ( ρ ~ ⍴ ) GREEK SMALL LETTER RHO ~ APL FUNCTIONAL SYMBOL RHO

03C9 ; 2375 # ( ω ~ ⍵ ) GREEK SMALL LETTER OMEGA ~ APL FUNCTIONAL SYMBOL OMEGA

0433 ; 1D26 # ( г ~ ᴦ ) CYRILLIC SMALL LETTER GHE ~ GREEK LETTER SMALL CAPITAL GAMMA

043B ; 1D2B # ( л ~ ᴫ ) CYRILLIC SMALL LETTER EL ~ CYRILLIC LETTER SMALL CAPITAL EL

043F ; 1D28 # ( п ~ ᴨ ) CYRILLIC SMALL LETTER PE ~ GREEK LETTER SMALL CAPITAL PI

101D ; 1040 # ( ဝ ~ ၀ ) MYANMAR LETTER WA ~ MYANMAR DIGIT ZERO

17A2 ; 17A3 # ( អ ~ ឣ ) KHMER LETTER QA ~ KHMER INDEPENDENT VOWEL QAQ

1835 ; 1855 # ( ᠵ ~ ᡕ ) MONGOLIAN LETTER JA ~ MONGOLIAN LETTER TODO YA

199E ; 19D0 # ( ᦞ ~ ᧐ ) NEW TAI LUE LETTER LOW VA ~ NEW TAI LUE DIGIT ZERO

19B1 ; 19D1 # ( ᦱ ~ ᧑ ) NEW TAI LUE VOWEL SIGN AA ~ NEW TAI LUE DIGIT ONE

1A45 ; 1A80 # ( ᩅ ~ ᪀ ) TAI THAM LETTER WA ~ TAI THAM HORA DIGIT ZERO
1A45 ; 1A90 # ( ᩅ ~ ᪐ ) TAI THAM LETTER WA ~ TAI THAM THAM DIGIT ZERO

1B0D ; 1B52 # ( ᬍ ~ ᭒ ) BALINESE LETTER LA LENGA ~ BALINESE DIGIT TWO

1B11 ; 1B53 # ( ᬑ ~ ᭓ ) BALINESE LETTER OKARA ~ BALINESE DIGIT THREE

1B28 ; 1B58 # ( ᬨ ~ ᭘ ) BALINESE LETTER PA KAPAL ~ BALINESE DIGIT EIGHT

1B50 ; 1B5C # ( ᭐ ~ ᭜ ) BALINESE DIGIT ZERO ~ BALINESE WINDU

1D0D ; 043C # ( ᴍ ~ м ) LATIN LETTER SMALL CAPITAL M ~ CYRILLIC SMALL LETTER EM

1D18 ; 1D29 # ( ᴘ ~ ᴩ ) LATIN LETTER SMALL CAPITAL P ~ GREEK LETTER SMALL CAPITAL RHO

1D1B ; 0442 # ( ᴛ ~ т ) LATIN LETTER SMALL CAPITAL T ~ CYRILLIC SMALL LETTER TE

2C67 ; 04A2 # ( Ⱨ ~ Ң ) LATIN CAPITAL LETTER H WITH DESCENDER ~ CYRILLIC CAPITAL LETTER EN WITH DESCENDER

2C69 ; 049A # ( Ⱪ ~ Қ ) LATIN CAPITAL LETTER K WITH DESCENDER ~ CYRILLIC CAPITAL LETTER KA WITH DESCENDER

A9D0 ; A9C6 # ( ꧐ ~ ꧆ ) JAVANESE DIGIT ZERO ~ JAVANESE PADA WINDU

10382 ; 103D1 # ( 𐎂 ~ 𐏑 ) UGARITIC LETTER GAMLA ~ OLD PERSIAN NUMBER ONE

10393 ; 103D3 # ( 𐎓 ~ 𐏓 ) UGARITIC LETTER AIN ~ OLD PERSIAN NUMBER TEN

1039A ; 12038 # ( 𐎚 ~ 𒀸 ) UGARITIC LETTER TO ~ CUNEIFORM SIGN ASH

10486 ; 104A0 # ( 𐒆 ~ 𐒠 ) OSMANYA LETTER DEEL ~ OSMANYA DIGIT ZERO

Loading