Что это такое
Big List of Naughty Strings — набор строк, которые с высокой вероятностью вскрывают проблемы в обработке пользовательского ввода. Это unicode-краевые случаи, странные пробелы, кавычки, управляющие символы, SQL-похожие строки, HTML, длинные значения и другие данные, от которых формы и API иногда ведут себя неожиданно.
Репозиторий появился в 2015 году и стал практичным инструментом для QA и разработчиков. Его идея проста: даже крупные компании с автотестами пропускают странный ввод. Лучше иметь готовый список таких строк и прогонять их по полям, чем ждать ошибку от пользователя.
Что внутри репозитория
Внутри есть `blns.txt` для ручного чтения и вставки, `blns.json` для программного использования и скрипты генерации. Строки разбиты комментариями на разделы, чтобы тестировщик понимал, с каким типом проблемы работает.
Автотест с несколькими строками
Пример показывает, как использовать список в тестах: каждая строка отправляется в форму или API, а система должна отвечать предсказуемо, без падения и повреждения данных.
naughty_strings = ["<script>alert(1)</script>", "\u200b", "Robert'); DROP TABLE students;--"]
for value in naughty_strings:
response = client.post("/profile", json={"name": value})
assert response.status_code in (200, 400)
Где полезен
Список полезен для форм регистрации, профилей, поиска, импорта CSV, комментариев, платежных полей и любых мест, где пользовательский текст проходит через несколько слоев системы. Он помогает проверять кодировки, сериализацию, базу данных, шаблоны и журналы.
Сильные стороны и ограничения
Некоторые строки похожи на вредоносный ввод, поэтому их нужно использовать только на системах, которыми вы владеете или которые вам разрешено тестировать. Список не заменяет полноценный security-аудит, но хорошо ловит ошибки устойчивости.