Pixy is a Java program that performs automatic scans of PHP 4 source code, aimed at the detection of XSS and SQL injection vulnerabilities. Pixy takes a PHP program as input, and creates a report that lists possible vulnerable points in the program, together with additional information for understanding the vulnerability.
Lo probe bajo unos modulos propios para Joomla y trabaja a la perfeccion.

Quiero recalcar algo que dijo el Sr. Abelardo.
“esto es como tener todo en un mismo archivo fuente”
En scripts como Joomla y Wordpress esto es un dolor de cabeza, por algo se considera por muchos programadores el lenguaje más desordenado.
Por tal razón, creo que es muy, muy importante, siempre, usar herramientas (si no se posee el conocimiento para hacerlo manualmente) para testeo de seguridad dentro de toda la aplicación.
De: seguridad-softwar...@googlegroups.com
[mailto:seguridad-softwar...@googlegroups.com] En nombre de Jose
Sanchez
Enviado el: Viernes, 23 de Enero de 2009 08:07 a.m.
Para: seguridad-softwar...@googlegroups.com
Asunto: [Seguridad SL Nicaragua] Re: Programadores PHP, PHP website
admins.
Creo que PHP tiene muchas cosas interesantes, como por ejemplo el desempeño, algo con lo cual no podían competir otros lenguajes de programación en sus albores. Cabe señalar que ese desempeño se debe en gran medida a la caché del Webserver, que no necesariamente carga del disco un script en cada request para interpretarlo. Pero es un hecho que los lenguajes interpretados siempre tendrán una desventaja con relación a los lenguajes compilados.
> 74KViewDownload<br
Muy bien,
Ahora, como funciona la mayor parte de las herramientas?
Basadas en algoritmos de detención de secuencias erróneas de SQL y validación de varibales, lo que hace el mayor numero de típicos ataques de sql injection.
Por ej, el 97% de ataques que hay con éxito en Nicaragua incuyendo el de estesa, ibw e ideay (aunque este ultimo quien sabe si diga que lo atacaron), fue por “babosadas” de validación de variables usando sql injection.
Como dice Jose Matus, no se aun de alguna empresa que brinde servicios de seguridad informática en Nicaragua, ustedes?
De nuevo se desvió el tema.
De una aplicación para auditar codigo fuente de PHP pasó a discutir sobre la calidad de PHP.
Una pregunta?? Ya salió el release oficial de MVC para .NET, la última vez que lei sobre ello estaba en una versión beta.
OkMe voy a salir un poco del tema de seguridad para ir un poco más allá con lo que a testeo se refeire.Sin ánimo de causar polémica, creo que las buenas prácticas en programación no dependen del lenguaje en si, si no más bien de la madurez del programador que asuma codificar a consciencia, y aun así siempre habrá brechas por cubrir. Algunos framework ofrecen funcionalidades inherentes a la detección automática de brechas de seguridad (como Struts o .Net), eso no significa que el programador, solo por usar alguno de esos framework, sea mejor, o que su código esté libre de errores e incluso de brechas de seguridad.En general, el testeo y las buenas prácticas de programación ni siquiera están relacionadas con la posibilidad de que otro programador o usuario pueda hackear nuestro código. Les doy un ejemplo sencilo:"In the failure scenario, the primary technical causes are the Operand Error when converting the horizontal bias variable BH, and the lack of protection of this conversion which caused the SRI computer to stop."
Fíjense como un simple error de conversión de datos (overflow) hizo que la cosa fallara. Y estamos hablando de gente de la NASA. En resumen, un buen testeo no puede presuponer que dado que usamos un Framework estamos protegidos. Un framework, por ejemplo (y es bueno que hayan mencionado Rails... por Ruby on Rails), no garantiza que la integridad referencial de datos esté correcta (quienes conocen Ruby on Rails, saben que generalmente el framework maneja la integridad de datos, no la base de datos), entonces cualquier travieso puede entrar a la BD y crear registros huérfanos... por mucho que el framework pueda venir a "repararlos" después... en este escenario una integración de aplicaciones a nivel de base de datos será propensa a falla. Un framework tampoco detecta o previene race conditions, algo que muy posiblemente ocurra en aplicaciones Web, por la posibilidad de concurrecia de usuarios.En resumen, es un buen tema esto del testeo de las aplicaciones, independientemente del lenguaje de programación. Algo seguro es que no se puede delegar todo al software de testeo o a la fortaleza del framework, esto sería como escribir una carta confiado plenamente en el corrector automático de ortografía (para los que usamos MS-Word). La sintaxis podría estar correcta, pero la semántica.... eso es otra cosa.Les dejo un link interesante sobre los 25 errores más comunes en la programación:SaludosTitoPs. Gracias Noel por la bienvenida. Un gusto saludarles a todos.