window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versjon: 2, } ;(function () { var w = vindu if (w.LeadBooster) { console.warn('LeadBooster finnes 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 }) }, } } })() Sikkerhet i Javascript-pakker - The Codest
The Codest
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Industrier
    • Fintech og bankvirksomhet
    • E-commerce
    • Adtech
    • Helseteknologi
    • Produksjon
    • Logistikk
    • Bilindustrien
    • IOT
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
Pil tilbake GÅ TILBAKE
2019-03-26
Programvareutvikling

Sikkerhet i Javascript-pakker

Daniel Grek

Hver eneste dag vokser mengden av Javascript-pakker. Det er resultatet av et samfunns aktivitet, som på den ene siden krever nye løsninger, på den andre siden - genererer dem som en form for egenutvikling eller realisering. En slik stor vekst åpner nye dører og muligheter, men medfører også farer som alle utviklere må være oppmerksomme på.

I slutten av november 2018 rapporterte GitHub-fellesskapet om en alvorlig sårbarhet i hendelsesstrøm - pakke som hjelper deg med å jobbe med node arrangementer mer effektivt. Det var ganske populært, ettersom antall nedlastinger i den spesifikke perioden nådde over 2,2 millioner per uke (sammenlignet med React med 3,7 millioner). Event-stream, samt dets avhengigheter, var avhengig av et annet bibliotek - flatmap-steam, som tilfeldigvis hadde blitt oppdatert med en kryptolomme-skadevare. Den gjorde det mulig å stjele private nøkler og annen informasjon fra brukernes kontoer på maskiner der pakken var lagt inn.

Etter hvert ble flatmap-stream fjernet fra NPM, noe som skapte tidsmessige problemer med mange andre biblioteker. I mai samme år fant fellesskapet en bakdør i getcookie pakke, som også var en del av mange andre avhengigheter. Slike eksempler kan mangedobles, noe som viser at det er viktig å ta hensyn til avhengigheter som er installert i en prosjektikke bare fra Javascript perspektiv, men også i en generell sammenheng.

Stol på offisielle løsninger og store fellesskap

Så langt det er mulig, er det viktig å stole på offisielle løsninger i prosjektet ditt. De er ikke bare mindre sårbare på grunn av en bedre utviklingsprosess. Et stort fellesskap, som vanligvis kommer med et bedre varemerke, bidrar til å identifisere problemer mye raskere og - enda viktigere - finne gode løsninger.

Bruk NPM-trender

Sikkerhet JavaScript

Fig. 1 Webpack NPM-trend.

Diagram

Fig. 2. Event-stream NPM-trend.

Noen ganger kan det hende at kunnskap om en pakkes nåværende tilstand ikke representerer dens fortid. En rask titt på npm trends-diagrammet kan vise deg en faktisk pakketrend. Det vil ikke bare vise store topper, der det kan finnes en sårbarhet, men den generelle tilstanden til en gitt pakke (MERK: store topper på google-trender i nærheten av 24. - 30. desember representerer høytiden, noe som ikke nødvendigvis representerer et problem). Som et eksempel, ta en titt på figur 1 - en representativ trend for nedlasting av Webpack per uke. Du vil se en stabil vekst uten noen bruddpunkter, noe som kan tyde på at Webpack er en stabil og sikker pakke å bruke. På den annen side vil du i figur 2 finne et stort fall i november, noe som er et klart signal om at noe galt kan ha skjedd i den perioden (som vi allerede vet er sant).

Revisjon av avhengighetsforhold

Den beste og mest pålitelige måten å verifisere tilstanden til avhengighetene dine på, er å utføre en revisjon. Denne kommandoen er nå tilgjengelig både for yarn og npm, selv om den krever de nyeste versjonene. Den sender en liste over aktuelle avhengigheter til et riktig endepunkt og returnerer informasjon om aktuelle sårbarheter og andre detaljer om bruk, inkludert henvisning til dokumentasjon. (figur 3).

Interessante data

Fig. 3. Eksempel på resultatet av npm audit-kommandoen. Kilde: https://docs.npmjs.com

Det er ikke enkelt å håndtere avhengigheter i Javascript. Det finnes stadig flere løsninger, så husk å velge avhengigheter med omhu. Fortsett å revidere ditt nåværende prosjekt og oppdater pakkene dine regelmessig.

For å lære mer om javascript-avhengigheter og hvordan du kan løse noen av problemene med dem, vennligst sjekk denne artikkelen.

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/

Relaterte artikler

Programvareutvikling

Bygg fremtidssikre webapper: Innsikt fra The Codests ekspertteam

Oppdag hvordan The Codest utmerker seg når det gjelder å skape skalerbare, interaktive webapplikasjoner med banebrytende teknologi som gir sømløse brukeropplevelser på tvers av alle plattformer. Finn ut hvordan ekspertisen vår driver digital transformasjon og...

THECODEST
Programvareutvikling

Topp 10 Latvia-baserte programvareutviklingsselskaper

I vår nyeste artikkel kan du lese mer om Latvias beste programvareutviklingsselskaper og deres innovative løsninger. Oppdag hvordan disse teknologilederne kan bidra til å løfte virksomheten din.

thecodest
Løsninger for bedrifter og oppskalering

Grunnleggende om Java-programvareutvikling: En guide til vellykket outsourcing

Utforsk denne viktige veiledningen om vellykket outsourcing av Java-programvareutvikling for å øke effektiviteten, få tilgang til ekspertise og drive frem prosjektsuksess med The Codest.

thecodest
Programvareutvikling

Den ultimate guiden til outsourcing i Polen

Den kraftige økningen i outsourcing i Polen er drevet av økonomiske, utdanningsmessige og teknologiske fremskritt, noe som fremmer IT-vekst og et forretningsvennlig klima.

TheCodest
Løsninger for bedrifter og oppskalering

Den komplette guiden til verktøy og teknikker for IT-revisjon

IT-revisjoner sørger for sikre, effektive og kompatible systemer. Les hele artikkelen for å lære mer om viktigheten av dem.

The Codest
Jakub Jakubowicz CTO og medgrunnlegger

Abonner på vår kunnskapsbase og hold deg oppdatert på ekspertisen fra IT-sektoren.

    Om oss

    The Codest - Internasjonalt programvareutviklingsselskap med teknologisentre i Polen.

    Storbritannia - Hovedkvarter

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

    Polen - Lokale teknologisentre

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

      The Codest

    • Hjem
    • Om oss
    • Tjenester
    • Casestudier
    • Vet hvordan
    • Karriere
    • Ordbok

      Tjenester

    • Det rådgivende
    • Programvareutvikling
    • Backend-utvikling
    • Frontend-utvikling
    • Staff Augmentation
    • Backend-utviklere
    • Ingeniører i skyen
    • Dataingeniører
    • Annet
    • QA-ingeniører

      Ressurser

    • Fakta og myter om samarbeid med en ekstern programvareutviklingspartner
    • Fra USA til Europa: Hvorfor velger amerikanske oppstartsbedrifter å flytte til Europa?
    • Sammenligning av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinene), Eurasia (Tyrkia)
    • Hva er de største utfordringene for CTO-er og CIO-er?
    • The Codest
    • The Codest
    • The Codest
    • Retningslinjer for personver
    • Vilkår for bruk av nettstedet

    Opphavsrett © 2025 av The Codest. Alle rettigheter forbeholdt.

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