La défaite des clones...

Présentation

PhpSecAudit est le clone écrit en php de RATS.
C'est un outil d'audit de code plus particulièrement accès sur la sécurité.
Cependant, Au contraire de RATS, PhpSecAudit ne permet pas d'auditer des programmes écrits avec d'autre langage que le PHP.

Installation et configuration

L'installation et la configuration se résume au téléchargement et à la décompression d'une archive zip.

Utilisation

PhpSecAudit s'utilise en ligne de commande.
Une fois l'analyse effectuée, il génére soit un rapport au format texte, soit au format html, au choix.
Les rapports html générés sont clairs et lisibles.

PhpSecAudit a été testé à l'aide des applications/scripts suivants :

  1. Joomla
  2. dotclear
  3. Jelix

Les tests ont été effectués sur un ordinateur portable Acer Aspire 5720Z (Core Duo T2310 à 1.46 GHz, 2 Go de RAM DDR2 667 MHz) sous système d'exploitation FreeBSD 6.3 Release.

Joomla

L'éxécution de PhpSecAudit sur le répertoire /libraries de joomla a nécéssité 25 secondes pour un volume de code de 4,2Mo.
PhpSecAudit a essentiellement généré des avertissements sans fondement à propos de toutes les fonctions permettant d'envoyer des courriers électronique, de manipuler le système de fichier ou bien des ressources réseaux.
A noter que des lignes de code contenant uniquement le caractè '{' ou des appels à des fonctions de log ont été présentées par PhpSecAudit comme des appels à des fonctions pouvant poser des problèmes.

dotclear

L'éxécution de PhpSecAudit sur le répertoire /inc de dotclear a nécéssité 6 secondes pour un volume de code de 770Ko.
PhpSecAudit a essentiellement généré des avertissements sans fondement à propos de toutes les fonctions permettant d'envoyer des courriers électronique, de manipuler le système de fichier ou bien des ressources réseaux.
A noter que des lignes de code contenant uniquement le caractè '{' ou des appels à des fonctions de log ont été présentées par PhpSecAudit comme des appels à des fonctions pouvant poser des problèmes.

Jelix

L'éxécution de PhpSecAudit sur Jelix a nécéssité 14 secondes pour un volume de code de 3,5Mo.
PhpSecAudit a essentiellement généré des avertissements sans fondement à propos de toutes les fonctions permettant d'envoyer des courriers électronique, de manipuler le système de fichier ou bien des ressources réseaux.
A noter que des lignes de code contenant uniquement le caractè '{' ou des appels à des fonctions de log ont été présentées par PhpSecAudit comme des appels à des fonctions pouvant poser des problèmes.

Conclusion

L'intérêt de PhpSecAudit est relativement limité, car tout comme RATS, qui lui a servi de modèle, il se contente de dresser le catalogue des fonctions pouvant éntuellement poser problème, sans réel analyse du code.
Pire encore, son catalogue peut être faux.

Site web
http://developer.spikesource.com/wiki/index.php/Projects:phpsecaudit
Auteur
Spike
Language
Licence
Open Software