PHPのソースコードから脆弱性をチェックするツールの洗い出しを行ってみた

なぜか唐突にPHPソースコードから良い感じに脆弱性を検出できるようなツールがないか調べたくなったので、軽く調査しました。 ひとまず、どんなものがあるか洗い出しまで。

やりたいこと

  • タイトルの通り、PHPソースコードから脆弱性を検出できるようにしたい。
  • 最終的には、CIなどで継続的に検出しコード修正時に把握できるようにしたい。
  • ついでに、品質チェックもできれば、なおgood。
  • 有償のツールが多いが、ひとまず継続的に脆弱性を検出できるようにしたいと思っているので、最初は無償/OSSのツールを導入してみる。

選定するツールのイメージ

ずばりこれのPHP版のようなもののイメージ

https://blog.ohgaki.net/security-check-tool-for-rails-brakeman

インターネットを使って洗い出してみる

ちょっと古そうなものもあるが、このあたりを参考にしてみる

参考:

https://www.ipa.go.jp/security/technicalwatch/20140306.html http://algo13.net/php/tips/security-check.html http://kiban.nict.go.jp/annual_report/report/report20/20-20-03.pdf https://www.sonarqube.org/ https://blog.ohgaki.net/php-script-analyzers

・・・いっぱいある。

このうち、以下は除外

RIPS

  • OSS版(RIPS 0.55)は開発終了
  • また、OSS版はPHP 3, 4しかサポートしていない

PHP-Sat

  • 安定版なし、更新されていない

phpvulhunter

  • 更新が4年前から止まっている
  • ドキュメントが中国語で読めない

VisualCodeGrepper, Eir

  • 使用言語が、VB, C#ということで、Windows環境でないとダメそう

PHP-Reaper, Side Channel Analyzer, XSS code sniffer

  • 一部の脆弱性に特化したツールなので、今回の選定基準とは異なる

TaintPHP, RATS(Rought Auditing Tool for Security

  • あまり活発ではない様子

今日はここまで、何かおすすめのツールがあれば教えてください。