Big List of Naughty Strings は、ユーザー入力データとして使用すると問題を引き起こす可能性が高い文字列の進化するリストです。これは、自動および手動の両方の QA テストを支援するために使用することを目的としています。 QA エンジニアがバーに入るときに便利です。
膨大な量の自動テストを導入している数十億ドル規模の企業であっても、すべての悪い入力を見つけることはできません。たとえば、Twitter で幅ゼロのスペース (U+200B) をツイートしようとするとどうなるかを見てみましょう。
これは悪意のあるエラーではなく、一般的なユーザーは奇妙な Unicode をツイートすることはありませんが、予期しない入力に対する「内部サーバー エラー」はユーザーにとって決して良い経験ではなく、実際にはより深い文字列検証の問題の症状である可能性があります。 Big List of Naughty Strings は、そのような問題を明らかにすることを目的としています。
blns.txt
、改行区切りの文字列と#
で始まるコメントで構成されます。コメントによって文字列がセクションに分割され、手動で読みやすく、入力フォームにコピー/ペーストできるようになります。プログラムで文字列にアクセスしたい場合は、すべてのコメントが取り除かれた配列を含むblns.json
ファイルが提供されます ( scripts
フォルダーには、 blns.json
生成に使用される Python スクリプトが含まれています)。
文字列やセクションを追加するには、お気軽にプル リクエストを送信してください。ただし、リストが非常に見づらくなるため、非常に長い文字列 (255 文字以上) を含むプル リクエストを送信しないでください。
同様に、ファイルの手動によるユーザビリティを損なうようなプル リクエストを送信しないでください。これには、ウイルス対策スキャナーによってファイルにフラグが付けられる可能性がある EICAR テスト文字列や、 blns.txt
のエンコーディングを変更するファイルが含まれます。また、Null 文字 (U+0000) 文字列を送信しないでください。GitHub 上のファイル形式がバイナリに変更され、プル リクエストで読み取れなくなります。最後に、文字列を追加または削除する場合は、プル リクエストを実行するときにすべてのファイルを更新してください。
いたずら文字列の大きなリストは、あなたが所有および管理するソフトウェアに使用することを目的としています。いたずらな文字列の中にはセキュリティの脆弱性を示すものがあるため、そのような文字列をサードパーティ ソフトウェアで使用すると犯罪となる可能性があります。管理者は、リストの使用から生じるいかなる否定的な行為についても責任を負いません。
さらに、不正な文字列のビッグ リストは、サービスの正式なセキュリティ/侵入テストに代わる完全に包括的なものではありません。
Big List of Naughty Strings のさまざまな実装が、さまざまなパッケージ マネージャーに提供されています。これらは外部の関係者によって維持されていますが、ここで見つけることができます。
図書館 | リンク |
---|---|
ノード | 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 |
C++ | https://github.com/eliabieri/blnscpp |
他のリストをリストするには PR を開いてください。
マックス・ウルフ (@minimaxir)
マサチューセッツ工科大学