Algo que al menos puede escanear un lote de archivos .js en busca de declaraciones de evaluación y otro código cuestionable. Tal vez solo un patrón de expresiones regulares lo haría, pero me gustaría encontrar una herramienta más sofisticada (y mantenida regularmente).¿Cuál es la mejor herramienta para la auditoría de seguridad de Javascript?
Respuesta
¿Has probado Douglas Crockford's JSLint? Aunque no analiza su código en busca de problemas de seguridad, sí lo alerta sobre las declaraciones "eval". OTOH, Predrag Tomasevic ha escrito un JavaScript Verifier based on JSLint que se puede integrar con Visual Studio (lea más sobre este here).
No conozco ninguna herramienta de código abierto que realice análisis estáticos de JavaScript.
Grepping for eval() probablemente no sirva para nada más que errores muy simples y muy obvios. Será aún más difícil analizar si la secuencia de comandos se ha minimizado u ofuscado porque será difícil determinar si el argumento se usa de forma segura o no.
Existen muchos problemas de seguridad en JavaScript que dependen de la interacción con el DOM. La expansión de eval() podría funcionar, pero perderá otros puntos de ejecución como hrefs o controladores de eventos que podrían ser atacados, p. href = javascript: xss o onFoo = xss. Realmente necesita una herramienta que se ocupe de JavaScript y el DOM, no solo una consola de JavaScript.
IBM/Watchfire publicó recientemente un documento sobre un JavaScript analyzer que han creado. El documento proporciona detalles sobre los resultados en lugar de la implementación. Puede que una herramienta comercial no sea la que usted desea, pero el documento debería ayudar a arrojar más luz sobre los desafíos de hacerlo bien.
+1 para el documento de IBM, va a marcar eso! – Anders
Esta herramienta de Facebook parece prometedora.
viejo tema, pero nueva herramienta: ScanJS, desarrollado por Mozilla con el fin de comprobar la seguridad de Firefox OS. https://github.com/mozilla/scanjs
- 1. ¿Cuál es la mejor herramienta de compresión/ofuscación de JavaScript?
- 2. ¿Cuál es la mejor herramienta de combinación visual para Git?
- 3. ¿Cuál es la mejor herramienta para analizar archivos de registro?
- 4. ¿Cuál es la mejor herramienta de instalación para Java?
- 5. ¿Cuál es la mejor herramienta de trabajo ágil para Qt?
- 6. ¿Cuál es la mejor herramienta para scrum en TFS
- 7. ¿Cuál es la mejor herramienta para crear archivos XSL?
- 8. ¿Cuál es la mejor manera de adaptar este sistema de seguridad para tratar la herencia múltiple?
- 9. cuál es la mejor herramienta para la prueba de regresión de rendimiento
- 10. ¿Graphviz es la mejor herramienta para este tipo de gráfico?
- 11. ¿Cuál es la mejor herramienta para pruebas funcionales de una aplicación web compleja?
- 12. ¿Cuál es la mejor manera de probar javascript?
- 13. ¿Cuál es la mejor manera de incluir Javascript?
- 14. ¿Cuál es actualmente la mejor configuración de HTML/CSS/Javascript?
- 15. ¿Cuál es la mejor y más fácil herramienta para probar unidades de aplicaciones de Android?
- 16. ¿Cuál es la mejor herramienta de automatización de fuente abierta para pruebas web funcionales?
- 17. ¿Cuál es la mejor manera de implementar params en JavaScript?
- 18. ¿Cuál es la mejor manera de recortar() en javascript
- 19. ¿Cuál es la mejor biblioteca de cliente JavaScript XML-RPC?
- 20. ¿Cuál es la mejor manera de hacer bucles en JavaScript
- 21. ¿La mejor herramienta para visualizar ontologías?
- 22. ¿Cuál es la mejor herramienta para la automatización de compilación para una tienda de software para un solo hombre?
- 23. ¿Cuál es la mejor herramienta para el desarrollo de aplicaciones Blackberry?
- 24. ¿Cuál es la mejor herramienta para encontrar errores en el código de Java?
- 25. ¿Cuál es la mejor herramienta para organizar o alfabetizar automáticamente tus propiedades de CSS?
- 26. ¿Cuál es la mejor manera de aprender sobre programación de temas relacionados con la seguridad? (PHP)
- 27. La mejor consola de JavaScript para Chrome
- 28. ¿Cuál es la mejor alternativa para la serialización de Java?
- 29. La mejor herramienta para compilar aplicaciones Sencha (Ext JS) es?
- 30. ¿Cuál es la mejor manera de perfilar la ejecución de javascript?
¿Por qué no vuelves a probar http://security.stackexchange.com/? – AviD
¿Hay un SE de seguridad ahora? Jesús, ¿cómo se espera que uno se mantenga al ritmo de esto? – Anders