window.pipedriveLeadboosterConfig = { base: leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on juba olemas') } 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 }) }, } } })() Turvalisus Javascript-pakettides - The Codest
The Codest
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Tööstusharud
    • Fintech & pangandus
    • E-commerce
    • Adtech
    • Healthtech
    • Tootmine
    • Logistika
    • Autotööstus
    • IOT
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
Tagasi nool TAGASI
2019-03-26
Tarkvaraarendus

Turvalisus Javascript pakettides

Daniel Grek

Iga päev kasvab Javascript-pakettide hulk. See on kogukonna tegevuse tulemus, mis ühelt poolt nõuab uusi lahendusi, teiselt poolt - genereerib neid enesearengu või realiseerimise vormis. Selline suur kasv avab uusi uksi ja võimalusi, kuid toob kaasa ka ohu, mida iga arendaja peab teadvustama.

2018. aasta novembri lõpus teatas GitHubi kogukond tõsisest haavatavusest dokumendis event-stream - pakett, mis aitab töötada sõlme sündmused tõhusamalt. See oli üsna populaarne, kuna allalaadimiste arv ulatus sel konkreetsel perioodil üle 2,2 miljoni nädalas (võrreldes React 3,7 miljoniga). Event-stream, samuti selle sõltuvused, sõltusid teisest raamatukogust - flatmap-steam, mis juhtus olema uuendatud krüptotaskuse pahavara abil. See võimaldas varastada privaatseid võtmeid ja muid andmeid kasutajate kontodest masinatel, kuhu pakett oli komplekteeritud.

Lõpuks eemaldati flatmap-stream NPMist, mis tekitas ajalisi probleeme paljude teiste raamatukogudega. Sama aasta mais leidis kogukond tagaukse sees oleva getcookie pakett, mis oli osa ka paljudest teistest sõltuvustest. Selliseid näiteid võib korrutada, mis näitab, et oluline on pöörata tähelepanu sõltuvustele, mis on paigaldatud ühte projekt, mitte ainult alates Javascript perspektiivi, vaid ka üldises kontekstis.

Tugineda ametlikele lahendustele ja suurtele kogukondadele

Võimaluse korral on oluline, et teie projektis kasutataks võimalikult palju ametlikke lahendusi. Need ei ole lihtsalt vähem haavatavad parema arendusprotsessi tõttu. Suur kogukond, mis tavaliselt kaasneb parema kaubamärgiga, aitab probleeme palju kiiremini tuvastada ja - mis veelgi olulisem - leida häid lahendusi.

Kasutage NPM suundumusi

Turvalisus JavaScript

Joonis 1 Webpacki NPM-i suundumus.

Graafik

Joonis 2. Sündmuste voo NPM suundumus.

Mõnikord ei pruugi teadmised paketi praegusest seisust esindada nende minevikku. Kiire pilk npm trendid diagrammi võib näidata teile tegelikku paketi trendi. See näitab mitte ainult suuri piike, kus võiks olla mõni haavatavus, vaid ka antud paketi üldist seisundit (MÄRKUS: suured piigid google trends'is 24. - 30. detsembri läheduses tähistavad pühade hooaega, mis ei pruugi tingimata probleemi esindada). Näitena vaadake joonist 1, mis kujutab Webpacki allalaadimise trendi nädalas. Näete stabiilset kasvu ilma murdepunktideta, mis võib viidata sellele, et Webpack on stabiilne ja turvaline pakett, mida kasutada. Teisalt, joonisel 2 näete suurt langust novembris, mis on selge signaal, et sel perioodil võis juhtuda midagi valesti (mida me juba teame, et see on tõsi).

Sõltuvuse audit

Parim ja kõige usaldusväärsem viis oma sõltuvuste seisundi kontrollimiseks on teostada audit. See käsk on nüüd saadaval nii yarni kui ka npm-i jaoks, kuigi selleks on vaja nende viimaseid versioone. See saadab nimekirja praegustest sõltuvustest korralikku lõpp-punkti ja tagastab teabe, mis sisaldab nende praeguseid haavatavusi ja muid kasutuse üksikasju, sealhulgas viiteid dokumentatsioonile. (joonis3).

Huvitavad andmed

Joonis 3. Näide npm auditi käsu tulemusest. Allikas: https://docs.npmjs.com

Sõltuvuste haldamine Javascriptis ei ole lihtne ülesanne. Lahenduste arv kasvab iga päevaga, seega ärge unustage, et valige oma sõltuvused targalt ja hoolikalt. Kontrollige pidevalt oma jooksvat projekti ja uuendage oma pakette regulaarselt.

Lisateave javascripti sõltuvuste kohta ja kuidas lahendada mõningaid nende probleeme, palun vaadake seda artiklit.

Allikas:

  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/

Seotud artiklid

Tarkvaraarendus

Tulevikukindlate veebirakenduste loomine: The Codest ekspertide meeskonna ülevaade

Avastage, kuidas The Codest paistab skaleeritavate, interaktiivsete veebirakenduste loomisel silma tipptehnoloogiatega, mis pakuvad sujuvat kasutajakogemust kõigil platvormidel. Saate teada, kuidas meie eksperditeadmised aitavad kaasa digitaalsele ümberkujundamisele ja äritegevusele...

THECODEST
Tarkvaraarendus

Top 10 Lätis asuvat tarkvaraarendusettevõtet

Tutvu Läti parimate tarkvaraarendusettevõtete ja nende innovaatiliste lahendustega meie viimases artiklis. Avastage, kuidas need tehnoloogiajuhid saavad aidata teie äri edendada.

thecodest
Enterprise & Scaleups lahendused

Java tarkvaraarenduse põhitõed: A Guide to Outsourcing Successfully

Tutvuge selle olulise juhendiga, kuidas edukalt outsourcing Java tarkvara arendada, et suurendada tõhusust, pääseda ligi eksperditeadmistele ja edendada projekti edu The Codest abil.

thecodest
Tarkvaraarendus

Ülim juhend Poola allhanke kohta

outsourcing kasv Poolas on tingitud majanduslikust, hariduslikust ja tehnoloogilisest arengust, mis soodustab IT kasvu ja ettevõtlussõbralikku kliimat.

TheCodest
Enterprise & Scaleups lahendused

Täielik juhend IT-auditi vahendite ja tehnikate kohta

IT-auditid tagavad turvalised, tõhusad ja nõuetele vastavad süsteemid. Lisateavet nende tähtsuse kohta leiate kogu artiklist.

The Codest
Jakub Jakubowicz CTO & kaasasutajad

Tellige meie teadmistebaas ja jääge kursis IT-sektori eksperditeadmistega.

    Meie kohta

    The Codest - rahvusvaheline tarkvaraarendusettevõte, mille tehnoloogiakeskused asuvad Poolas.

    Ühendkuningriik - peakorter

    • Büroo 303B, 182-184 High Street North E6 2JA
      London, Inglismaa

    Poola - kohalikud tehnoloogiakeskused

    • Fabryczna büroopark, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varssavi, Poola

      The Codest

    • Kodu
    • Meie kohta
    • Teenused
    • Case Studies
    • Tea kuidas
    • Karjäärivõimalused
    • Sõnastik

      Teenused

    • See nõuandev
    • Tarkvaraarendus
    • Backend arendus
    • Frontend arendus
    • Staff Augmentation
    • Backend arendajad
    • Pilveinsenerid
    • Andmeinsenerid
    • Muud
    • QA insenerid

      Ressursid

    • Faktid ja müüdid koostööst välise tarkvaraarenduspartneriga
    • USAst Euroopasse: Miks otsustavad Ameerika idufirmad Euroopasse ümber asuda?
    • Tech Offshore arenduskeskuste võrdlus: Euroopa (Poola), ASEAN (Filipiinid), Euraasia (Türgi).
    • Millised on CTO ja CIOde peamised väljakutsed?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2025 by The Codest. Kõik õigused kaitstud.

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