RIPS

RIPS (Research and Innovation to Promote Security) is a static code analysis software, designed for automated detection of security vulnerabilities in PHP and Java applications. The initial tool was written by Johannes Dahse and released during the Month of PHP Security in May 2010 as open-source software. The open-source version is released under the GNU Lesser General Public License and was maintained until 2013.

In 2016, RIPS Technologies, a company based in Bochum, Germany, released a rewritten version of RIPS. The closed-source RIPS product was focused on industrial customers. Its analysis techniques were awarded, amongst others, the Internet Defense Prize by Facebook.

In 2020, RIPS Technologies was acquired by SonarSource. The RIPS tool is no longer available as a stand-alone product.

Open-Source Version (PHP)
The open-source version tokenizes PHP code (lexical analysis) based on PHP's tokenizer extension and performs semantic analysis to build a program model. Based on previously analyzed variable assignments, it performs backwards-directed inter-procedural taint analysis of sensitive sinks. This version or RIPS had the ability to scan PHP applications very fast for PHP-specific vulnerabilities. It supports the detection of 15 different vulnerability types, including Cross-Site Scripting, SQL Injection, Local File Inclusion, and others. Detected vulnerabilities are presented in a web interface with the minimum set of affected code lines as well as a vulnerability summary. For each vulnerability, an integrated code viewer can be opened in order to highlight the affected code lines in the original source code, which aids in easier remediation. Furthermore, aid is offered to understand the vulnerability and exploits can be generated automatically. The interface also offers a list of scanned PHP files, user-defined functions, and detected sources. The latest stable release version is 0.55, from 2017.

Commercial Version (Java, PHP, Node.js)
The commercial version supported analysis of PHP and Java code. In order to identify security vulnerabilities that are based on second-order data flows or misplaced security mechanisms, it used abstract syntax trees, control-flow graphs, and context-sensitive taint analysis It could automatically detect 200 different vulnerability types, code quality issues and misconfiguration weaknesses. The commercial version supported all versions of Java (up to 11), PHP (up to 7) and Node.js, industry standards such as OWASP Top 10, ASVS, CWE, SANS 25, and PCI-DSS. RIPS was available as on-premises software and as Software-as-a-Service.