
RIPS - Un analyseur statique de code source pour les vulnérabilités dans les scripts PHP
Un analyseur statique de code source pour les vulnérabilités dans les scripts PHP
Suivez les instructions sur la page principale.
Consultez le formulaire HTML de scan php-rips d'origine (index.php) pour plus d'options.
php index.php [option=value]
Exemple : analyse récursive de ./code pour toutes les classes de vulnérabilités
php index.php loc=./code subdirs=1 vector=all verbosity=2
Remarque : en mode CLI, argv est analysé dans $_POST, ce qui vous permet de définir toutes les variables POST.
installez le plugin html publisher
configurez le(s) SCM pour cloner ce dépôt ainsi que la source à analyser dans des dossiers distincts
ajoutez une étape de build : exécuter un script shell
# config - remove this if you configure it via jenkins parameterized builds
PATH_RIPS=rips-scanner
PATH_REPORT=report
FILE_REPORT=report.html
PATH_TARGET=code
RIPS_RECURSE_SUBDIR=1
RIPS_VECTOR=all
RIPS_VERBOSITY=2
# copy dependencies
mkdir -p report
cp -r rips-scanner/css report
cp -r rips-scanner/js report
# run analysis
echo "========================================================="
echo "[**] running scan ... $PATH_TARGET"
echo "========================================================="
php $PATH_RIPS/index.php ignore_warning=1 loc=$PATH_TARGET subdirs=$RIPS_RECURSE_SUBDIR vector=$RIPS_VECTOR verbosity=$RIPS_VERBOSITY treestyle=1 stylesheet=ayti > $PATH_REPORT/$FILE_REPORT
echo "========================================================="
echo "[**] scan done ... check out $PATH_REPORT/$FILE_REPORT"
echo "========================================================="
ajoutez une étape de build : exécuter un script python
import os, sys
import rips_stats as rips
if __name__=="__main__":
report = os.path.join(os.environ.get("PATH_REPORT","report"),os.environ.get("FILE_REPORT","report.html"))
sys.exit(rips.main([report]))
ajoutez une étape post-build : publier le HTML, sélectionnez le dossier 'report' avec le nom 'vulnerability-report'. Une nouvelle icône d'action cliquable 'vulnerability-report' apparaîtra, pointant vers le résultat d'analyse archivé.
La branche community de RIPS est issue d'un fork de la version 0.55 et n'est pas officiellement prise en charge par RIPS Technologies.
Une solution entièrement reconstruite est disponible auprès de RIPS Technologies ; elle surmonte les limitations fondamentales de la version open source et effectue une analyse de sécurité de pointe.
En savoir plus sur la nouvelle génération de RIPS sur https://www.ripstech.com/product/datasheets/.
| Options | Valeur |
|---|
| loc | fichier/dossier cible à analyser |
| subdir | parcourir les sous-dossiers [0|1] |
| ignore_warning | [0|1] |
| vector | vecteurs d'analyse [all|...] |
| verbosity | niveau de verbosité des journaux [0-9] |
| treestyle | style de sortie HTML [0|1] |
| stylesheet | feuille de style de sortie HTML [ayti|...] |
| Fonctionnalité comparée | RIPS 0.5 | Nouvelle génération |
|---|
| Langage PHP pris en charge | PHP 3-4, pas d'OOP | tout, PHP 3-7 |
| Analyse statique de code | Uniquement basée sur les jetons | Complète |
| Précision de l'analyse | Faible | Très élevée |
| Analyse spécifique à la version PHP | Non | Oui |
| Passage à l'échelle pour les grands codes | Non | Oui |
| Prise en charge API / CLI | Non | Oui |
| Intégration continue | Non | Oui |
| Conformité / Normes | Non | Oui |
| Stockage des résultats d'analyse | Non | Oui |
| Export des résultats d'analyse | Non | Oui |
| Système de revue des problèmes | Non | Oui |
| Résultats en temps réel | Non | Oui |
| Tendances des vulnérabilités | Non | Oui |
| Détection des risques récents | Non | Oui |
| Détection des vulnérabilités complexes | Limitée | Oui |
| Types de problèmes pris en charge | 15 | >140 |
| Vitesse | Rapide | Rapide |