Análisis estático de seguridad · JavaScript, TypeScript, Python, Java, PHP y Go

GraphSAST

Busca los lugares donde un dato que manda el usuario llega sin control a una operación peligrosa. Por ahí entran los ataques más comunes contra aplicaciones web:

  • Inyección SQL leer o borrar la base
  • Inyección de comandos ejecutar órdenes en el servidor
  • XSS robar sesiones ajenas
  • Inyección NoSQL leer o cambiar datos ajenos
  • Path traversal leer archivos del servidor
  • Inyección de código correr código en el servidor
Corre en tu navegador

1Elegí el código

Tu proyecto o un ejemplo: el análisis es el mismo.

Arrastrá una carpeta o archivos de código acá

El análisis corre en tu navegador: el código no se sube a ningún servidor. Con una dirección de GitHub, el navegador baja los archivos directo de GitHub. Solo si usás el chat de Resultado se envía el hallazgo que preguntás.

  1. GraphSAST lee los archivos JavaScript, TypeScript, Python, Java, PHP y Go de la carpeta y sus subcarpetas (salvo node_modules, dist y similares).
  2. Sigue cada dato que entra desde afuera (por ejemplo req.query) por variables, funciones y archivos.
  3. Si llega a una operación peligrosa sin pasar por un filtro, lo marca en el grafo (2) y lo explica en Resultado (3).
Opciones del análisis

Cualquier parámetro revisa más y avisa más: también marca funciones internas o de tests. Solo entradas web conocidas mira lo que llega en un pedido (req.query, req.body, @Body()...) y da menos avisos falsos.

2Recorrido del dato

Cada círculo es una parte del código; las flechas, por dónde pasa el dato.

Opciones del grafo
Flechas visibles
Entrada del usuario
Operación peligrosa
Camino del dato

Acá aparece el recorrido del dato

Elegí una carpeta, archivos o un ejemplo. Vas a ver en naranja el camino desde la entrada del usuario hasta la operación peligrosa.


        

Atajos: n/p hallazgo siguiente o anterior · f centrar · / buscar · h atenuar · t tema