¿Cómo auditar el JavaScript escrito por otra persona antes de incluirlo en mi sitio?

4

Quiero incluir una función para agregar una función de clasificación en una tabla HTML de mi sitio, utilizando la tablesorter library .

Estaría usando esto en una parte del sitio que requiere un inicio de sesión para acceder a los datos. Pero me preocupa que la biblioteca pueda colarse en el malware o intentar filtrar los datos que se muestran en la tabla. ¿Qué debo buscar en el archivo JS para asegurarme de que no estoy haciendo vulnerables los datos del sitio al incluir este JS que alguien más ha escrito?

Estaría alojando el script en mis servidores y no estaría enlazando a un archivo de terceros.

    
pregunta Don85203 12.02.2018 - 18:12
fuente

3 respuestas

1

Para la biblioteca que has vinculado, puedes auditar el código mirándolo. El archivo que enlazaría dentro de las etiquetas <script> debería leerse. Recomendaría EN CONTRA usar el jquery-latest.js y en su lugar usar la versión de la página de inicio de jquery (ya que su versión está reducida).

Dicho esto, al mirar a través de jquery.tablesorter.js ... parece ser bastante benigno. Son aproximadamente 1.000 líneas de código bien documentado. Incluso si no conoce la sintaxis de javascript en sí ... si entiende la programación, debería poder revisar el código existente y comprender su flujo. Como Aria declaró, no debería contener direcciones IP o nombres de dominio a menos que estén en comentarios para documentar aún más el código (que aparece en este código).

    
respondido por el CaffeineAddiction 13.02.2018 - 13:24
fuente
5

Una solución imperfecta es confiar en la reputación. ¿La biblioteca tiene muchos usuarios? ¿Muchas descargas en GitHub o npm? ¿Una comunidad activa? ¿Los grandes actores establecidos lo usan? Ya se habría descubierto una puerta trasera en jQuery, pero una en una pequeña biblioteca oscura podría no.

Si eso no es lo suficientemente bueno para usted, el siguiente paso es revisar el código. Hay algunas heurísticas que puedes usar. El código ofuscado es una gran bandera roja. También lo son las solicitudes HTTP inesperadas que utilizan, por ejemplo, XHR o ir a buscar. Pero un atacante inteligente puede ocultar código para exfiltrar datos: una etiqueta de imagen de apariencia poco sospechosa podría usarse para realizar una solicitud HTTP, por ejemplo. Así que no esperes poder hacer esto con grep. Si tiene dudas, tal vez debería apuntar al menos a una comprensión superficial de todo el código base.

    
respondido por el Anders 13.02.2018 - 13:03
fuente
1

Debería estar buscando:

  • Contraseñas
  • Contraseñas cifradas como hashes
  • Código cifrado / codificado
  • Referencias a sitios web externos, como direcciones IP, nombres de dominio

Estos son signos comunes de backdoor en el código basado en web.

    
respondido por el Aria 12.02.2018 - 18:33
fuente

Lea otras preguntas en las etiquetas