Soy el desarrollador principal de una biblioteca de código abierto de JavaScript. Esa biblioteca se utiliza en la empresa para la que trabajo, para varios clientes. De vez en cuando hay un cliente que se siente paranoico con respecto a la implementación de una biblioteca de la que nunca ha oído hablar y me pregunta por qué debería confiar en este código.
Entiendo la preocupación y generalmente los apunto a un repositorio de github donde se encuentra la biblioteca y muestro otros proyectos y clientes que están usando la misma biblioteca. A veces revisan el código en github, y todo funciona sin problemas después de eso.
Pero esta vez el cliente es un poco más paranoico. Me preguntó qué tipo de verificación de seguridad ha tenido la biblioteca y me dijo que sus sistemas están "validados con los 10 mejores controles / exploraciones de OWASP".
Después de algunas investigaciones, lo más cercano que encontré es este documento que enumera las 10 principales vulnerabilidades en aplicaciones web en 2010, por OWASP .
Creo que no se aplican todos estos, ya que no estoy proporcionando una aplicación web, sino solo una biblioteca de JavaScript. Y tengo entendido que la mayoría de las veces, estas vulnerabilidades deben ser revisadas manualmente por un especialista en seguridad en lugar de un análisis automatizado.
Ahora a mis preguntas:
- ¿Hay alguna forma en que pueda hacer valer los estándares de seguridad en una biblioteca de JavaScript?
- ¿Existe alguna herramienta que pueda escanear JavaScript en busca de amenazas de seguridad?
ACTUALIZACIÓN 1
Aunque no soy un experto en seguridad, soy un desarrollador web y entiendo las fallas comunes que pueden causar vulnerabilidades en las aplicaciones web. Lo que necesito es alguna forma de probar especialmente para una persona no técnica que esta biblioteca ha sido revisada al menos para detectar amenazas y vulnerabilidades mínimas y, de hecho, es segura para ser utilizada en su sitio web.
Lo que me viene a la mente es tal vez una compañía neutral o un consultor especializado en seguridad web que puede revisar el código y certificar su calidad. ¿Es esta una práctica común?
ACTUALIZACIÓN 2
Imagina que alguien te entrega un archivo javascript grande para incluirlo en tu sitio como parte de una integración. Ese script se ejecutará dentro de su sitio y. Probablemente quiera asegurarse de dónde viene ese archivo y quién fue el desarrollador que lo creó. Imagine que algún desarrollador malintencionado en Facebook decidió inyectar un código malicioso dentro del script del botón "Me gusta" para robar datos o cookies de los sitios donde se ejecuta.
Cuando se incluyen bibliotecas de empresas bien conocidas o proyectos de código abierto que son revisados por varias personas (como jQuery), este es un caso muy poco probable. Pero cuando incluyes un script de una pequeña empresa o un desarrollador en solitario, puedo verlo como una preocupación.
No quiero buscar exploits en mi biblioteca porque sé que no he incluido ninguno. Solo quiero demostrar de alguna manera que el código es seguro, por lo que los usuarios no tienen este tipo de preocupación cuando lo usan.