ESLint eta TSLint segurtasun pluginek kodeen segurtasun egiaztapenak eskaintzen dituzte, eslint-plugin-security eta tslint-config-security bezalako ahultasunenetan oinarritutakoak, hala nola, RegEx ez segurua eta eval()
erabilera ez segurua, eta literalak ez diren fitxategi izenak, aplikazio baten barruan fitxategi sistemara sartzeko erabiltzen direnak. pre-git moduan git giltzak erabiltzeak iturburuko kontrolari buruzko arauak gehiago betearaztea ahalbidetzen du urruneko kontroletara banatu aurretik, eta horietako bat izan daiteke egiaztatzea iturburuko kontrolari sekreturik gehitu ez zaiola.
eslint-plugin-security
k antzemandako erabilitako arau ez-seguruen adibide batzuk:
detect-pseudoRandomBytes
const insecure = crypto.pseudoRandomBytes(5);
detect-non-literal-fs-filename
const path = req.body.userinput;
fs.readFile(path);
detect-eval-with-expression
const userinput = req.body.userinput;
eval(userinput);
detect-non-literal-regexp
const unsafe = new RegExp('/(x+x+)+y/)');
eslint-plugin-security
erabiliz antzemandako praktika ez-seguruen adibide batzuk:
Adam Baldwinen blogetik hartua:
Garbitzailea (Linting) ez da zuriune, puntu eta koma edo eval enuntziatuei buruzko arau pedanteak betearazteko tresna soilik izan behar. ESLintek esparru indartsua eskaintzen du zure kodean arriskutsuak izan daitezkeen eredu ugari ezabatzeko (adierazpen erregularrak, sarrera balioztatzea, eta abar). Segurtasunaz arduratzen diren JavaScript garatzaileek kontuan hartu beharreko tresna indartsu berria eskaintzen duela uste dut.