← Ко всем open source проектам

Big List of Naughty Strings

minimaxir/big-list-of-naughty-strings

Big List of Naughty Strings — набор строк, которые часто ломают ввод, кодировки, хранение данных и проверку пользовательских полей.

Форки 2,163
Автор minimaxir
Язык Python
Лицензия MIT
Обновлено 2026-06-10

Что это такое

Big List of Naughty Strings — набор строк, которые с высокой вероятностью вскрывают проблемы в обработке пользовательского ввода. Это unicode-краевые случаи, странные пробелы, кавычки, управляющие символы, SQL-похожие строки, HTML, длинные значения и другие данные, от которых формы и API иногда ведут себя неожиданно.

Репозиторий появился в 2015 году и стал практичным инструментом для QA и разработчиков. Его идея проста: даже крупные компании с автотестами пропускают странный ввод. Лучше иметь готовый список таких строк и прогонять их по полям, чем ждать ошибку от пользователя.

Что внутри репозитория

Внутри есть `blns.txt` для ручного чтения и вставки, `blns.json` для программного использования и скрипты генерации. Строки разбиты комментариями на разделы, чтобы тестировщик понимал, с каким типом проблемы работает.

Автотест с несколькими строками

Пример показывает, как использовать список в тестах: каждая строка отправляется в форму или API, а система должна отвечать предсказуемо, без падения и повреждения данных.

Язык: Python
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-аудит, но хорошо ловит ошибки устойчивости.