「遺伝的アルゴリズム(Genetic Algorithm:以下、GA)」とは、生物が自然淘汰や交叉、突然変異を何世代にも渡って繰り返しながら(環境に適応するように)進化していく様をシミュレートするもので、様々なタスクにおける最適解の探索に利用されています。実用例としては、N700系新幹線における、空気抵抗が少ない先頭車両形状の計算、Fuzzer(American Fuzzy Lop)における、より多くのプログラムPathを通るFuzzの生成等があります。 今回は、このGAを脆弱性診断の領域に拡張し、Webアプリケーションの脆弱性を検出するための検査値を自動生成する検証を行いましたので、検証手順と結果を紹介します。なお、Webアプリケーションの脆弱性は多種多様ですが、今回は反射型のXSS(Reflected Cross site scripting:以下、XSS)をターゲットにしています。