RIPS - A static source code analyser for vulnerabilities in PHP scripts

RIPS is the most popular static code analysis tool to automatically detect vulnerabilities in PHP applications. By tokenizing and parsing all source code files, RIPS is able to transform PHP source code into a program model and to detect sensitive sinks (potentially vulnerable functions) that can be tainted by userinput (influenced by a malicious user) during the program flow. Besides the structured output of found vulnerabilities, RIPS offers an integrated code audit framework.

NOTE: RIPS 0.5 development is abandoned since 2013 due to its fundamental limitations. A complete rebuilt solution is available from RIPS Technologies that overcomes these limitations and performs state-of-the-art security analysis.

Compared FeatureRIPS 0.5Next Generation
Supported PHP LanguagePHP 3-4, no OOPPHP 3-7
Static Code AnalysisOnly Token-basedFull
Analysis PrecisionLowVery High
PHP Version Specific AnalysisNoYes
Scales to Large CodesizesNoYes
API / CLI SupportNoYes
Continuous IntegrationNoYes
Compliance / StandardsNoYes
Store Analysis ResultsNoYes
Export Analysis ResultsNoYes
Issue Review SystemNoYes
Realtime ResultsNoYes
Vulnerability TrendsNoYes
Detects Latest RisksNoYes
Detects Complex VulnerabilitiesLimitedYes
Supported Vulnerability Types15>40
SpeedFastFast
vulnerabilities
  • Code Execution
  • Command Execution
  • Cross-Site Scripting
  • Header Injection
  • File Disclosure
  • File Inclusion
  • File Manipulation
  • LDAP Injection
  • SQL Injection
  • Unserialize with POP
  • XPath Injection
  • ... other
code audit interface
  • scan and vulnerability statistics
  • grouped vulnerable code lines (bottom up or top down)
  • vulnerability description with example code, PoC, patch
  • exploit creator
  • file list and graph (connected by includes)
  • function list and graph (connected by calls)
  • userinput list (application parameters)
  • source code viewer with highlighting
  • active jumping between function calls
  • search through code by regular expression
  • 8 syntax highlighting designs
  • ... much more
static code analysis
  • fast
  • tokenizing with PHP tokenizer extension
  • taint analysis for 232 sensitive sinks
  • inter- and intraprocedural analysis
  • handles very PHP-specific behaviour
  • handles user-defined securing
  • reconstruct file inclusions
  • detect blind/non-blind exploitation
  • detect backdoors
  • 5 verbosity levels
  • over 100 testcases
  • ... much more
  1. Install a local webserver parsing PHP files (should already be available if you develop PHP applications).
  2. Download the latest version here.
  3. Extract all files to your local webservers document root (e.g. /var/www/rips/)
  4. goto http://localhost/rips/ and start scanning.
Please write an email to johannes.dahse ät rub.de or follow @FluxReiners.