2min

Tags in dit artikel

De JavaScript-securitytool npm audit heeft zijn beste tijd gehad en is rijp voor een fix. Dit stelt Dan Abramov, een softwareontwikkelaar van Facebook in een recente blogpost. Voornaamste kritiek: npm audit levert te veel valse alarmeringen op.

Softwareontwikkelaars die bepaalde securitytools een snel einde toewensen, worden niet vaak gehoord. Toch heeft onlangs Dan Abramov, een softwareontwikkelaar bij Facebook, in een blogpost harde kritiek geleverd op de security tool npm audit voor JavaScript.

Abramov gaat er met gestrekt been in. Volgens hem is de tool een vlek op het hele npm-ecosysteem, werkt het niet en had het nooit op deze manier mogen worden uitgebracht. “Het had al moeten worden gerepareerd voordat het als default werd uitgerold. Het beste wat de tool nu kan overkomen is een fix.” De softwareontwikkelaar richt vooral zijn pijlen op de vele valse alarmeringen die de security tool afgeeft, terwijl in 99 procent van de gevallen dit gewone gebruiksscenario’s zijn. Bij veel ontwikkelaars geeft dit irritatie.

Stortvloed aan alerts

De npm package manager is al meer dan tien jaar een tool voor JavaScript-applicaties. Vanaf versie 6 heeft deze tool ook een ingebouwde security-oplossing aan boord; ‘npm audit’. Met dit commando krijgen ontwikkelaars een complete analyse van de security van de ‘dependancy tree’ van hun projecten. Dit zijn de met elkaar verstrengelde libraries die in een project worden geïmporteerd. Hierdoor hoeven niet steeds weer bepaalde gezamenlijke functies te worden geschreven.

Het probleem van npm audit dat zich voordoet is echter dat het te veel correcties geeft. Npm draait de securitytool automatisch na ieder npm install-commando. Dit produceert een stortvloed van adviezen over mogelijke kwetsbaarheden die niet eenvoudig vallen op te lossen of misschien helemaal niet ter zake doen.

Het is dus juist deze stortvloed van alerts die Abramov tegen de borst stuit. Zeker als dit leidt tot 99 procent vals-positieven. Dit leidt volgens hem tot veel verwarring tijdens het programmeren en tot veel discussie tussen ontwikkelaars en securityspecialisten binnen bedrijven.

Steun van oorspronkelijke npm-ontwikkelaars

Abramov wordt gesteund door de oorspronkelijke ontwikkelaars van de npm package manager tool. Volgens deze experts, nu vaak bij Microsoft werkzaam, is de npm audit securitytool niet helemaal goed ontwikkeld vanwege interne beslissingen bij softwareontwikkelaar NPM in de periode 2018-2019.

De security-feature werd in snel tempo ontwikkeld en bezwaren van ontwikkelaars werden genegeerd. Daarna ging de focus naar andere producten en het winstgevend maken van het bedrijf, waardoor de aandacht voor de security tool verdween. Dit alles kwam de verdere ontwikkeling van npm audit niet ten goede en bleef die ontwikkeling dus uit.

Npm audit kan nog worden gerepareerd, maar wie dat moet doen en wanneer is onduidelijk. Abramov zelf gelooft er niet in, de tool is ‘broken by design’, en stopt het gebruik van de tool en roept andere ontwikkelaars op hetzelfde te doen.