← nitronium.dev
Agent .md dosyalarına gizlenmiş U+00AD soft hyphen: görünmez prompt injection
2026-06-09
AgentShield scan sonucunda iki agent dosyasında kritik bulgu çıktı:
`
● Hidden soft hyphen detected (1 occurrences)
agents/engineering-mobile-app-builder.md:440
Evidence: 1x soft hyphen
`
Nedir
U+00AD (soft hyphen) görünmez bir Unicode karakterdir. Editörlerde ve terminalde göremezsin, ama dil modeli okuyabilir. Bir kelimenin içine yerleştirilince:
- Pattern matching ve keyword filtreleri atlatılabilir (password → password gibi görünür, regex'e takılmaz)
- Model için anlam korunur (soft hyphen kelime anlamını bozmaz)
- Güvenlik scanner'ları gözden kaçırabilir
Bu teknik kasıtlı olarak yerleştirilen bir prompt injection vektörü.
Tespit
`bash
python3 -c "
import sys
path = sys.argv[1]
content = open(path, 'rb').read()
count = content.count(b'\xc2\xad')
print(f'{path}: {count} soft hyphen')
" ~/.claude/agents/benim-agent.md
`
Temizleme
`bash
python3 -c "
path = '/path/to/agent.md'
f = open(path, 'rb').read()
open(path, 'wb').write(f.replace(b'\xc2\xad', b''))
print('Temizlendi')
"
`
Nerede Oluşabilir
Özellikle harici kaynaklardan (GitHub, marketplace) indirilen agent/skill dosyalarında. Kendi yazdıklarında bu karakteri göremezsin — LLM'in ürettiği içeriklerde de nadiren ortaya çıkabilir.
AgentShield bu karakteri binary pattern eşleşmesiyle (0xC2 0xAD) buluyor.