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

RIPS is a 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 also offers an integrated code audit framework for further manual analysis.

NOTE: RIPS 0.5 development is abandoned due to its fundamental limitations. A complete new version is available from RIPS Technologies.

Compared FeatureRIPS 0.5New Version
Supported PHP LanguagePHP 4, no OOPFull
Static Code AnalysisOnly Token-basedFull
Analysis PrecisionLowHigh
Scales to Large CodesizesNoYes
API / CLI SupportNoYes
Store Analysis ResultsNoYes
Issue Review SystemNoYes
Realtime ResultsNoYes
Detection of Complex VulnerabilitiesLimitedYes
Supported Vulnerability Types1536
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.