Problema

Existe una serie de problemas muy comunes de seguridad de Javascript que son una amenaza frecuente en nuestras web.

Si quieres puedes defirnir esos estandares y revisarlos continuamente, mantenerlos actualizados y estar pendiente del cambio en la tecnología y por supuesto revisión del codigo.

O bien, verificarlos de forma automatizada.

Solución

Una forma de introducir revisiones de seguridad es automatizarla (por supuesto). Y una herramietna que nos permite hacer esto es Snyk CLI: usando el plan gratuito.

Aquí podeis ver una lista de vulnerabilidades con NPM.

Veamos como

Crea una aplicación de React y cambia este codigo en App.js

import logo from './logo.svg'
import './App.css'
function App () {
  return (
    <div className="App">
      <header className="App-header">
        <img src={logo} className="App-logo" alt="logo" />{' '}
        <p>
          Edit <code>src/App.js</code> and save to reload.
        </p>
        <div
          dangerouslySetInnerHTML={{ __html: '<p>This is a bad idea</p>' }}
        />
        <a
          className="App-link"
          href="https://reactjs.org"
          target="_blank"
          rel="xyz2"
        >
          Learn React
        </a>
      </header>
    </div>
  )
}
export default App

Y obtenemos el siguiente resultado:

Error ESlint

Esta herramienta tambien esta disponible para Visual Studio. U otras como SonarQube (SAST).