Большой список нежелательных строк — это развивающийся список строк, которые с высокой вероятностью могут вызвать проблемы при использовании в качестве данных, вводимых пользователем. Это предназначено для использования в автоматизированном и ручном тестировании качества; полезно, когда ваш инженер по контролю качества заходит в бар.
Даже многомиллиардные компании с огромным количеством автоматизированного тестирования не могут обнаружить все неверные данные. Например, посмотрите, что происходит, когда вы пытаетесь написать в Твиттере пробел нулевой ширины (U+200B):
Хотя это не злонамеренная ошибка, и типичные пользователи не пишут в Твиттере странный юникод, «внутренняя ошибка сервера» из-за неожиданного ввода никогда не является положительным событием для пользователя и фактически может быть симптомом более глубоких проблем с проверкой строки. «Большой список непослушных струн» призван помочь выявить такие проблемы.
blns.txt
состоит из строк, разделенных символом новой строки, и комментариев, которым предшествует #
. Комментарии делят строки на разделы для удобства ручного чтения и копирования/вставки в формы ввода. Для тех, кто хочет получить доступ к строкам программным способом, предоставляется файл blns.json
содержащий массив со всеми удаленными комментариями (папка scripts
содержит сценарий Python, используемый для создания blns.json
).
Не стесняйтесь отправить запрос на включение, чтобы добавить больше строк или дополнительных разделов. Однако не отправляйте запросы на включение с очень длинными строками (более 255 символов), так как это значительно усложняет просмотр списка.
Аналогично, не отправляйте запросы на включение, которые ставят под угрозу удобство использования файла вручную . Сюда входит тестовая строка EICAR, которая может привести к пометке файла антивирусными сканерами, а также файлы, которые изменяют кодировку blns.txt
. Кроме того, не отправляйте строку нулевых символов (U+0000), так как она меняет формат файла на GitHub на двоичный и делает его нечитаемым в запросах на включение. Наконец, при добавлении или удалении строки обновите все файлы при выполнении запроса на включение.
Большой список нежелательных строк предназначен для использования с программным обеспечением, которым вы владеете и управляете . Некоторые из непослушных строк могут указывать на уязвимости безопасности, поэтому использование таких строк со сторонним программным обеспечением может быть преступлением. Разработчик не несет ответственности за любые негативные действия, возникшие в результате использования списка.
Кроме того, «Большой список нежелательных строк» не является полноценной заменой формального тестирования безопасности/на проникновение для вашего сервиса.
Различные реализации Большого списка непослушных строк попали в различные менеджеры пакетов. Они поддерживаются сторонними сторонами, но их можно найти здесь:
Библиотека | Связь |
---|---|
Узел | https://www.npmjs.com/package/blns |
Узел | https://www.npmjs.com/package/big-list-of-naughty-strings |
.СЕТЬ | https://github.com/SimonCropp/NaughtyStrings |
PHP | https://github.com/mattsparks/blns-php |
С++ | https://github.com/eliabieri/blnscpp |
Пожалуйста, откройте PR, чтобы перечислить других.
Макс Вульф (@minimaxir)
Массачусетский технологический институт