Obsah

Bezpečnosť pri inštalácii balíkov Python

Čo treba mať na pamäti pri inštalácii balíkov pomocou pip

Vždy by ste mali myslieť na bezpečnosť. Najmä pri písaní kódu. A dvakrát viac, keď používate kód iných ľudí. Ušetrí to veľa času a úsilia. Ale môže to viesť aj k problémom, najmä ak nepoužívate aspoň zdravý rozum.

Moduly

Pri programovaní môžete ukladať často používané triedy, objekty a funkcie do modulov. Toto je oficiálny názov pre súbory s príponou .py. Zvyčajne sa modul od bežného programu v jazyku Python odlišuje tým, že program je určený na spúšťanie a vykonávanie, zatiaľ čo modul je určený na ukladanie často používaných konštrukcií a ich import do iných programov.

Balíky

Balík v jazyku Python je adresár obsahujúci ďalšie adresáre a moduly, ako aj špeciálne súbory. Balíky sa používajú na vytvorenie menného priestoru, ktorý umožňuje používať rôzne moduly, ktoré spravidla spája spoločná téma.

Úložisko

Najznámejším úložiskom takýchto balíkov je PyPI alebo Python Package Index. V PyPI môžete nájsť a nainštalovať balíky takmer na akúkoľvek tému. V roku 2022 sa tam nachádzalo viac ako 370 000 rôznych balíkov.

Zaujímalo ma, aké bezpečnostné opatrenia prijímajú ostatní vývojári, aby sa uistili, že z PyPI nestiahnu nič škodlivé. Veď svoj balík tam môže nahrať ktokoľvek a samotné PyPi zatiaľ nevykonáva žiadne bezpečnostné kontroly ani preventívne opatrenia.

Tipy

Niekoľko užitočných tipov na túto tému:

  1. Ak tomu rozumiete, pozrite si zdrojový kód balíka ešte pred jeho inštaláciou.
  2. Inštalujte len softvér od renomovaných vývojárov. Na stránke balíka si pozrite aspoň štatistiky GitHubu - počet hviezdičiek a forkov. Čím viac ich je, tým viac ľudí balík používa a tým menšia je pravdepodobnosť, že sa k nemu dostane zlý kód.
  3. Prečítajte si Python Security doc o balíkoch a PyPi.
  4. Venujte pozornosť balíku Safety. Kontroluje nainštalované balíky na prítomnosť známych zraniteľností.
  5. Použite Safety DB - databázu známych bezpečnostných chýb v balíkoch Python na ich identifikáciu v nainštalovaných balíkoch.

Dobré správy

Koncom decembra 2019 Python Software Foundation oznámila, že získala grant od Facebooku a začne pracovať na pridaní “pokročilých bezpečnostných funkcií” do Python Package Index.

Medzi funkcie, ktoré plánujú pridať, bude patriť overiteľné kryptografické podpisovanie artefaktov a automatická detekcia škodlivých súborov na stiahnutie.

Nech sú váš kód a vaše moduly vždy v bezpečí! :)