PHPのソースコードから脆弱性をチェックするツールの洗い出しを行ってみた
なぜか唐突にPHPのソースコードから良い感じに脆弱性を検出できるようなツールがないか調べたくなったので、軽く調査しました。 ひとまず、どんなものがあるか洗い出しまで。
やりたいこと
- タイトルの通り、PHPのソースコードから脆弱性を検出できるようにしたい。
- 最終的には、CIなどで継続的に検出しコード修正時に把握できるようにしたい。
- ついでに、品質チェックもできれば、なおgood。
- 有償のツールが多いが、ひとまず継続的に脆弱性を検出できるようにしたいと思っているので、最初は無償/OSSのツールを導入してみる。
選定するツールのイメージ
- Brakeman(ruby)
ずばりこれの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
- PHP-Sat
- RATS(Rought Auditing Tool for Security)
- phpvulhunter
- Parse: A PHP Security Scanner
- VisualCodeGrepper
- Eir
- PHP-Reaper
- TaintPHP
- Side Channel Analyzer
- XSS code sniffer
- Pixy
- SonarQube
・・・いっぱいある。
このうち、以下は除外
RIPS
PHP-Sat
- 安定版なし、更新されていない
phpvulhunter
- 更新が4年前から止まっている
- ドキュメントが中国語で読めない
VisualCodeGrepper, Eir
PHP-Reaper, Side Channel Analyzer, XSS code sniffer
- 一部の脆弱性に特化したツールなので、今回の選定基準とは異なる
TaintPHP, RATS(Rought Auditing Tool for Security
- あまり活発ではない様子
今日はここまで、何かおすすめのツールがあれば教えてください。