window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(funktion () { var w = vindue if (w.LeadBooster) { console.warn('LeadBooster findes allerede') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Sikkerhed i Javascript-pakker - The Codest
Codest
  • Om os
  • Serviceydelser
    • Udvikling af software
      • Frontend-udvikling
      • Backend-udvikling
    • Staff Augmentation
      • Frontend-udviklere
      • Backend-udviklere
      • Dataingeniører
      • Cloud-ingeniører
      • QA-ingeniører
      • Andet
    • Det rådgivende
      • Revision og rådgivning
  • Industrier
    • Fintech og bankvirksomhed
    • E-commerce
    • Adtech
    • Sundhedsteknologi
    • Produktion
    • Logistik
    • Biler
    • IOT
  • Værdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leder af levering
  • Vores team
  • Casestudier
  • Ved hvordan
    • Blog
    • Møder
    • Webinarer
    • Ressourcer
Karriere Tag kontakt til os
  • Om os
  • Serviceydelser
    • Udvikling af software
      • Frontend-udvikling
      • Backend-udvikling
    • Staff Augmentation
      • Frontend-udviklere
      • Backend-udviklere
      • Dataingeniører
      • Cloud-ingeniører
      • QA-ingeniører
      • Andet
    • Det rådgivende
      • Revision og rådgivning
  • Værdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leder af levering
  • Vores team
  • Casestudier
  • Ved hvordan
    • Blog
    • Møder
    • Webinarer
    • Ressourcer
Karriere Tag kontakt til os
Pil tilbage GÅ TILBAGE
2019-03-26
Udvikling af software

Sikkerhed i Javascript-pakker

Daniel Grek

Hver eneste dag vokser mængden af Javascript-pakker. Det er resultatet af et samfunds aktivitet, som på den ene side kræver nye løsninger og på den anden side genererer dem som en form for selvudvikling eller realisering. En så stor vækst åbner nye døre og muligheder, men medfører også farer, som alle udviklere skal være opmærksomme på.

I slutningen af november 2018 rapporterede GitHub-fællesskabet om en alvorlig sårbarhed i begivenhedsstrøm - pakke, der hjælper med at arbejde med Knudepunkt begivenheder mere effektivt. Det var ret populært, da antallet af downloads i den specifikke periode nåede op på over 2,2 mio. om ugen (sammenlignet med React med 3,7 mio.). Event-stream og dets afhængigheder var afhængige af et andet bibliotek - fladkort-damp, der tilfældigvis var blevet opdateret med en crypto-pocket-malware. Den gjorde det muligt at stjæle private nøgler og andre oplysninger fra brugernes konti på maskiner, hvor pakken var samlet.

Til sidst blev flatmap-stream fjernet fra NPM, hvilket skabte tidsmæssige problemer med mange andre biblioteker. I maj samme år fandt fællesskabet en bagdør i getcookien pakke, som også var en del af mange andre afhængigheder. Sådanne eksempler kan multipliceres, hvilket viser, at det er vigtigt at være opmærksom på afhængigheder, der er installeret i en projektikke kun fra Javascript perspektiv, men også i en generel sammenhæng.

Stol på officielle løsninger og store fællesskaber

Det er vigtigt, at du så vidt muligt bruger officielle løsninger i dit projekt. De er ikke bare mindre sårbare på grund af en bedre udviklingsproces. Et stort fællesskab, som normalt kommer med et bedre brand, hjælper med at identificere problemer meget hurtigere og - hvad der er endnu vigtigere - finde gode løsninger.

Brug NPM-tendenser

Sikkerhed JavaScript

Fig. 1 Webpack NPM-trend.

Diagram

Fig. 2. Event-stream NPM-trend.

Nogle gange repræsenterer viden om en pakkes aktuelle tilstand måske ikke dens fortid. Et hurtigt kig på npm-trendsdiagrammet kan vise dig en faktisk pakkeudvikling. Det viser ikke kun store toppe, hvor der kan findes en sårbarhed, men den generelle tilstand for en given pakke (BEMÆRK: store toppe på google trends nær 24. - 30. december repræsenterer feriesæsonen, som ikke nødvendigvis repræsenterer et problem). Som et eksempel kan du se på figur 1 - en repræsentativ tendens for Webpack-download pr. uge. Du vil se en stabil vækst uden brudpunkter, hvilket kan tyde på, at Webpack er en stabil og sikker pakke at bruge. På den anden side finder du i figur 2 et stort fald i november, hvilket er et klart signal om, at der kan være sket noget forkert i den periode (hvilket vi allerede ved er sandt).

Revision af afhængighed

Den bedste og mest pålidelige måde at kontrollere dine afhængigheders tilstand på er at udføre en revision. Denne kommando er nu tilgængelig for både yarn og npm, selvom den kræver deres nyeste versioner. Den sender en liste over aktuelle afhængigheder til et korrekt endpoint og returnerer oplysninger, der indeholder deres aktuelle sårbarheder og andre detaljer om brug, herunder henvisning til dokumentation. (figur 3).

Interessante data

Fig. 3. Eksempel på resultat af npm audit-kommando. Kilde: https://docs.npmjs.com

Håndtering af afhængigheder i Javascript er ikke nogen nem opgave. Antallet af løsninger vokser hver dag, så husk at vælge dine afhængigheder med omhu og omtanke. Bliv ved med at gennemgå dit nuværende projekt, og opdater dine pakker regelmæssigt.

For at lære mere om javascript-afhængigheder, og hvordan man løser nogle af deres problemer, Tjek venligst denne artikel.

Kilde:

  1. https://github.com/dominictarr/event-stream/issues/116
  2. https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident
  3. https://blog.npmjs.org/post/173526807575/reported-malicious-module-getcookies
  4. https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities
  5. https://docs.npmjs.com/cli/audit
  6. https://yarnpkg.com/lang/en/docs/cli/audit/

Relaterede artikler

Udvikling af software

Byg fremtidssikrede webapps: Indsigt fra The Codest's ekspertteam

Oplev, hvordan The Codest udmærker sig ved at skabe skalerbare, interaktive webapplikationer med banebrydende teknologier, der leverer sømløse brugeroplevelser på tværs af alle platforme. Lær, hvordan vores ekspertise driver digital transformation og...

DENKODEST
Udvikling af software

Top 10 Letlands-baserede softwareudviklingsvirksomheder

Læs om Letlands bedste softwareudviklingsvirksomheder og deres innovative løsninger i vores seneste artikel. Find ud af, hvordan disse teknologiledere kan hjælpe med at løfte din virksomhed.

thecodest
Løsninger til virksomheder og scaleups

Grundlæggende om Java-softwareudvikling: En guide til succesfuld outsourcing

Udforsk denne vigtige guide til vellykket outsourcing af Java-softwareudvikling for at forbedre effektiviteten, få adgang til ekspertise og skabe projektsucces med The Codest.

thecodest
Udvikling af software

Den ultimative guide til outsourcing i Polen

Den voldsomme stigning i outsourcing i Polen er drevet af økonomiske, uddannelsesmæssige og teknologiske fremskridt, der fremmer it-vækst og et erhvervsvenligt klima.

TheCodest
Løsninger til virksomheder og scaleups

Den komplette guide til IT-revisionsværktøjer og -teknikker

IT-revisioner sikrer sikre, effektive og kompatible systemer. Lær mere om deres betydning ved at læse hele artiklen.

Codest
Jakub Jakubowicz CTO og medstifter

Tilmeld dig vores vidensbase, og hold dig opdateret om ekspertisen fra it-sektoren.

    Om os

    The Codest - International softwareudviklingsvirksomhed med tech-hubs i Polen.

    Storbritannien - Hovedkvarter

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale teknologiske knudepunkter

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Hjerneambassaden, Konstruktorska
      11, 02-673 Warszawa, Polen

      Codest

    • Hjem
    • Om os
    • Serviceydelser
    • Casestudier
    • Ved hvordan
    • Karriere
    • Ordbog

      Serviceydelser

    • Det rådgivende
    • Udvikling af software
    • Backend-udvikling
    • Frontend-udvikling
    • Staff Augmentation
    • Backend-udviklere
    • Cloud-ingeniører
    • Dataingeniører
    • Andet
    • QA-ingeniører

      Ressourcer

    • Fakta og myter om at samarbejde med en ekstern softwareudviklingspartner
    • Fra USA til Europa: Hvorfor beslutter amerikanske startups sig for at flytte til Europa?
    • Sammenligning af Tech Offshore-udviklingsknudepunkter: Tech Offshore Europa (Polen), ASEAN (Filippinerne), Eurasien (Tyrkiet)
    • Hvad er de største udfordringer for CTO'er og CIO'er?
    • Codest
    • Codest
    • Codest
    • Privacy policy
    • Vilkår for brug af hjemmesiden

    Copyright © 2025 af The Codest. Alle rettigheder forbeholdes.

    da_DKDanish
    en_USEnglish de_DEGerman sv_SESwedish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek da_DKDanish