(Last Updated On: 2018年8月13日)
PHPスクリプトを分析するツールをまとめたページの紹介です。
PHPのコードを分析して脆弱性を見つける為のツールから、PHPソースコードを整形するツール、PHPスクリプトの内容の分析をするツールなど色々あり、よくまとまっています。
https://github.com/exakat/php-static-analysis-tools
ここに載っていない物でいつも利用している物に3v4l.orgがあります。PHPソースコード/スクリプトの解析ツールといっても良い物で、ちょっとしたコードをチェックするにはオススメです。簡単に機能を紹介します。
- 現在のリリース版からサポートが終了したPHP4まで含めた複数のPHP実行環境でPHPスクリプトを実行し結果を比較
- 複数のPHP実行環境でのスクリプト実行時間の比較
- OPコードの表示(PHPバイトコードのダンプ – PHPのマシン語のような物)
- 利用した関数のマニュアルページリンク一覧
- クラッシュがあった場合のバックトレース
- HHVMのOPコードの表示
- RFCブランチ(PHPへの変更/追加提案)のPHP版での実行
3v4lは便利なのでいつも利用させてもらっています。
現時点(2016/10/20)でStatic Ayalisys tools for PHPのリストは「バグを見つける物」に分類した物だけでも以下のようになっています。知らない物が沢山あります。
Bugs finders
Tools that reports issues in the code that are or lead to bugs.
- Eir – Eir is a static vulnerability analysis tool for PHP applications written in C#
- Exakat – Smart static analysis for PHP
- Mondrian – A code analysis tool using Graph Theory.
- php-analysis – PHP Analysis in Rascal (PHP AiR).
- PHP Assumption – Finds weak assumptions in the code, suggest to turn them into stronger validations.
- PhpCodeAnalyzer – finds usage of non-built-in extensions in your php code.
- PHPCodeFixer – finds usage of deprecated functions, variables and ini directives in your php code.
- php7mar – PHP 7 Migration Assistant Report.
- phpcallgraph – PHP 7 Migration Assistant Report.
- PHPCPD – phpcpd spots copy/pasted code, and help enforcing DRY rule.
- Phan – The static analyzer by Rasmus.
- PHP Inspection – Static analysis for phpstorm.
- PHP lint – PHP itself, able to detect syntax error from command line.
- PHPlint – PHPLint is a validator and documentator for PHP 5 programs
- PHP Mess Detector – PHPMD takes a given PHP source code base and look for several potential problems within that source.
- PHP Reaper – PHP tool to scan ADOdb code for SQL Injections
- PHP SA – PHPSA is a development tool aimed at bringing complex analysis for PHP applications and libraries.
- PHP Stan – “PHPStan focuses on finding errors in your code without actually running it. “
- PHP Unlocker – “PHP-Unlocker is a static analysis tool that detects potential, unintended DB table locks for PHP applications using ADOdb.”
- PHP vuln hunter – A tool that can scan php vulnerabilities automatically using static analysis methods
- RIPS – A static source code analyser for vulnerabilities in PHP scripts
- psecio:parse – Parse : A PHP Security Scanner
- SonarQube – An open platform to manage code quality. It covers PHP code.
- Side Channel Analyzer – Search for side-channel vulnerable code.
- TaintPHP – Static Taint Analysis for PHP web applications.
- Tuli – A static analysis engine
- 17eyes – “PHP static analyzer written in Haskell”
Leave a Comment