The Codest
  • O nás
  • Služby
    • Vývoj softwaru
      • Vývoj frontendů
      • Vývoj backendu
    • Staff Augmentation
      • Vývojáři frontendů
      • Vývojáři backendu
      • Datoví inženýři
      • Cloudoví inženýři
      • Inženýři QA
      • Další
    • To Advisory
      • Audit a poradenství
  • Odvětví
    • Fintech a bankovnictví
    • E-commerce
    • Adtech
    • Healthtech
    • Výroba
    • Logistika
    • Automobilový průmysl
    • IOT
  • Hodnota za
    • CEO
    • CTO
    • Manažer dodávek
  • Náš tým
  • Case Studies
  • Vědět jak
    • Blog
    • Setkání
    • Webové semináře
    • Zdroje
Kariéra Spojte se s námi
  • O nás
  • Služby
    • Vývoj softwaru
      • Vývoj frontendů
      • Vývoj backendu
    • Staff Augmentation
      • Vývojáři frontendů
      • Vývojáři backendu
      • Datoví inženýři
      • Cloudoví inženýři
      • Inženýři QA
      • Další
    • To Advisory
      • Audit a poradenství
  • Hodnota za
    • CEO
    • CTO
    • Manažer dodávek
  • Náš tým
  • Case Studies
  • Vědět jak
    • Blog
    • Setkání
    • Webové semináře
    • Zdroje
Kariéra Spojte se s námi
Šipka zpět ZPĚT
2019-03-26
Vývoj softwaru

Zabezpečení v balíčcích Javascript

Daniel Grek

Množství balíčků Javascript roste každým dnem. Je to výsledek aktivity komunity, která na jedné straně vyžaduje nová řešení, na druhé straně je generuje jako formu vlastního vývoje nebo realizace. Tak velký nárůst otevírá nové dveře a možnosti, ale přináší také nebezpečí, kterého si musí být každý vývojář vědom.

Koncem listopadu 2018 komunita GitHubu informovala o závažné zranitelnosti ve službě proud událostí - balíček, který pomáhá pracovat s uzel události efektivněji. Byl poměrně populární, protože počet stažení v tomto konkrétním období dosahoval více než 2,2 milionu za týden (ve srovnání s rokem 2010). React s 3,7 mlns). Event-stream, stejně jako jeho závislosti, byly závislé na jiné knihovně - flatmap-steam, který byl náhodou aktualizován malwarem typu crypto-pocket. Ten umožňoval krást soukromé klíče a další údaje z účtů uživatelů na počítačích, kde byl balíček přibalen.

Nakonec byl flatmap-stream z NPM odstraněn, což způsobilo časové problémy s mnoha dalšími knihovnami. V květnu téhož roku komunita našla zadní vrátka v rámci getcookie který byl součástí mnoha dalších závislostí. Takových příkladů může být více, což ukazuje, že je důležité věnovat pozornost závislostem instalovaným do projekt, a to nejen z Javascript ale také v obecném kontextu.

Spoléhat se na oficiální řešení a velké komunity

Je důležité, abyste se ve svém projektu pokud možno spoléhali na oficiální řešení. Nejenže jsou méně zranitelná kvůli lepšímu proces vývoje. Velká komunita, která obvykle přichází s lepší značkou, pomáhá mnohem rychleji identifikovat problémy, a co je důležitější - najít dobrá řešení.

Využití trendů NPM

Zabezpečení JavaScript

Obr. 1 Trend Webpack NPM.

Graf

Obr. 2. Trend NPM v proudu událostí.

Někdy znalost současného stavu balíčku nemusí odpovídat jeho minulosti. Rychlý pohled na graf trendů npm vám může ukázat aktuální trend balíčku. Ukáže nejen velké špičky, kde by se mohla nacházet nějaká zranitelnost, ale i celkový stav daného balíčku (POZNÁMKA: velké špičky v trendech google poblíž 24. - 30. prosince představují sváteční období, které nemusí nutně představovat problém). Jako příklad se podívejte na obrázek 1 - představuje trend stahování balíku Webpack za týden. Uvidíte stabilní růst bez zlomových bodů, což může naznačovat, že Webpack je stabilní a bezpečný balík k použití. Na obrázku 2 naopak najdete velký pokles v listopadu, což je jasný signál, že se v tomto období mohlo stát něco špatného (což už víme, že je pravda).

Audit závislosti

Nejlepším a nejspolehlivějším způsobem, jak ověřit stav závislostí, je provést kontrolu. audit. Tento příkaz je nyní k dispozici nativně pro yarn i npm, i když vyžaduje jejich nejnovější verze. Do příslušného koncového bodu odešle seznam aktuálních závislostí a vrátí informace obsahující jejich aktuální zranitelnosti a další podrobnosti o použití, včetně odkazu na dokumentaci. (obrázek3).

Zajímavé údaje

Obr. 3. Příklad výsledku příkazu npm audit. Zdroj: https://docs.npmjs.com

Správa závislostí v jazyce Javascript není snadný úkol. Počet řešení roste každým dnem, proto nezapomeňte vybírat závislosti s rozvahou a pečlivě. Neustále kontrolujte svůj aktuální projekt a pravidelně aktualizujte své balíčky.

Další informace o závislostech javascriptu a o tom, jak vyřešit některé jejich problémy, podívejte se prosím na tento článek.

Zdroj:

  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/

Související články

Ilustrace zdravotnické aplikace pro chytré telefony s ikonou srdce a rostoucím zdravotním grafem, označená logem The Codest, která představuje digitální zdraví a řešení HealthTech.
Vývoj softwaru

Softwarové vybavení pro zdravotnictví: a případy použití

Nástroje, na které se dnes zdravotnické organizace spoléhají, se v ničem nepodobají papírovým kartám z doby před desítkami let. zdravotnický software dnes podporuje zdravotnické systémy, péči o pacienty a moderní poskytování zdravotní péče v klinických a...

NEJKRÁSNĚJŠÍ
Abstraktní ilustrace klesajícího sloupcového grafu se stoupající šipkou a zlatou mincí symbolizující efektivitu nákladů nebo úspory. V levém horním rohu se zobrazuje logo The Codest se sloganem "In Code We Trust" na světle šedém pozadí.
Vývoj softwaru

Jak rozšířit tým vývojářů bez ztráty kvality produktu

Zvětšujete svůj vývojový tým? Zjistěte, jak růst, aniž byste museli obětovat kvalitu produktu. Tento průvodce se zabývá příznaky, že je čas na škálování, strukturou týmu, najímáním zaměstnanců, vedením a nástroji - a také tím, jak může The Codest...

NEJKRÁSNĚJŠÍ
Vývoj softwaru

Vytváření webových aplikací odolných vůči budoucnosti: postřehy týmu odborníků The Codest

Zjistěte, jak společnost The Codest vyniká při vytváření škálovatelných, interaktivních webových aplikací pomocí nejmodernějších technologií, které poskytují bezproblémové uživatelské prostředí na všech platformách. Zjistěte, jak naše odborné znalosti podporují digitální transformaci a obchodní...

NEJKRÁSNĚJŠÍ
Vývoj softwaru

10 nejlepších lotyšských společností zabývajících se vývojem softwaru

V našem nejnovějším článku se dozvíte o nejlepších lotyšských společnostech zabývajících se vývojem softwaru a jejich inovativních řešeních. Zjistěte, jak mohou tito technologičtí lídři pomoci pozvednout vaše podnikání.

thecodest
Podniková a škálovací řešení

Základy vývoje softwaru v jazyce Java: A Guide to Outsourcing Successfully

Prozkoumejte tuto základní příručku o úspěšném vývoji softwaru outsourcing Java, abyste zvýšili efektivitu, získali přístup k odborným znalostem a dosáhli úspěchu projektu s The Codest.

thecodest

Přihlaste se k odběru naší znalostní databáze a získejte aktuální informace o odborných znalostech z oblasti IT.

    O nás

    The Codest - Mezinárodní společnost zabývající se vývojem softwaru s technologickými centry v Polsku.

    Spojené království - ústředí

    • Kancelář 303B, 182-184 High Street North E6 2JA
      Londýn, Anglie

    Polsko - Místní technologická centra

    • Kancelářský park Fabryczna, Aleja
      Pokoju 18, 31-564 Krakov
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polsko

      The Codest

    • Home
    • O nás
    • Služby
    • Case Studies
    • Vědět jak
    • Kariéra
    • Slovník

      Služby

    • To Advisory
    • Vývoj softwaru
    • Vývoj backendu
    • Vývoj frontendů
    • Staff Augmentation
    • Vývojáři backendu
    • Cloudoví inženýři
    • Datoví inženýři
    • Další
    • Inženýři QA

      Zdroje

    • Fakta a mýty o spolupráci s externím partnerem pro vývoj softwaru
    • Z USA do Evropy: Proč se americké startupy rozhodly přesídlit do Evropy?
    • Srovnání technických vývojových center v zahraničí: Tech Offshore Evropa (Polsko), ASEAN (Filipíny), Eurasie (Turecko)
    • Jaké jsou hlavní výzvy CTO a CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2026 by The Codest. Všechna práva vyhrazena.

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