Závislosti¶
Táto stránka popisuje inventár závislostí, monitorovanie zraniteľností, triedenie závislostí a skenovanie zraniteľností kontajnerov. Pre publikované artefakty vydaní, SBOM, podpisy a osvedčenia o pôvode pozri Artefakty vydaní a overenie.
Inventár závislostí¶
Informácie o závislostiach Weblate sa udržiavajú v niekoľkých súboroch repozitára:
Závislosti Pythonu sú deklarované v
pyproject.tomla riešené vuv.lock.Závislosti frontendu sú deklarované v
client/package.jsona riešené vclient/yarn.lock.Predávané knižnice frontendu a generované licenčné údaje sú zdokumentované v Podprojekty a vložený kód.
SBOM vydaní sú publikované pre vydania Weblate, ako je popísané v Softvérový zoznam materiálov (SBOM).
Závislosti obrazov Docker a grafov Helm sa udržiavajú v repozitároch Docker a Helm vlastnených spoločnosťou Weblate, ktoré sú uvedené v Inventár artefaktov vydaní.
Rozsahy závislostí v pyproject.toml opisujú podporované požiadavky behového prostredia. Uzamykacie súbory opisujú testovanú sadu závislostí používanú CI a automatizáciou vydaní.
Sledovanie závislostí pre zraniteľnosti¶
Bezpečnostné problémy v závislostiach Weblate sa monitorujú pomocou Renovate, kontroly závislostí GitHub, FOSSA, SBOM vydaní a skenovania zraniteľností kontajnerov.
Repozitáre Weblate rozširujú zdieľanú predvoľbu Renovate z WeblateOrg/meta. Táto predvoľba povoľuje dashboard závislostí, upozornenia na zraniteľnosti OSV, upozornenia na zraniteľnosti platformy, sémantické zápisy závislostí a vlastné manažéry Renovate pre GitHub Actions, Dockerfiles, verzie aplikácií grafov Helm a iné pripnuté verzie nástrojov. Tiež konfiguruje vybrané zoskupovanie balíkov, plány a správanie automatického zlúčenia.
Tento repozitár pridáva main a stable ako základné vetvy Renovate. Všeobecné aktualizácie závislostí a údržba uzamykacích súborov sú na vetve stable zakázané; pokrytie bezpečnostných aktualizácií pre vydania Weblate je popísané v Bezpečnostné aktualizácie.
Kontrola závislostí GitHub sa spúšťa pri požiadavkách na stiahnutie, aby zobrazila zmeny závislostí pred ich zlúčením. FOSSA sa spúšťa pri pushoch do main a zaznamenáva výsledky skenovania a testovania politík v službe FOSSA.
Triedenie zraniteľností závislostí¶
Keď je zraniteľnosť závislosti nahlásená nástrojom Renovate, kontrolou závislostí GitHub, FOSSA, recenziou SBOM vydania, skenovaním kontajnera alebo hlásením o zraniteľnosti, správcovia vyhodnotia, či ovplyvňuje Weblate. Kontroly triedenia zahŕňajú:
či je dotknutá závislosť a verzia používaná systémom Weblate, publikovaným artefaktom vydania alebo udržiavaným artefaktom nasadenia;
či je zraniteľná cesta kódu dosiahnuteľná prostredníctvom podporovanej funkcionality Weblate alebo podporovaných režimov nasadenia;
či je problém v použití závislosti systémom Weblate, alebo by mal byť nahlásený upstream projektu;
či je potrebná aktualizácia závislosti, zmena konfigurácie, zmiernenie, poradenstvo alebo bezpečnostná aktualizácia Weblate.
Rada
Môžu existovať zraniteľnosti v knižniciach tretích strán, ktoré neovplyvňujú Weblate, takže sa neriešia vydaním opravných verzií Weblate.
Údržba závislostí a uzamykacích súborov¶
Renovate maintains the Python lock file. The uv lock update workflow
verifies it on pushes and checks dependency installation on pull requests. The
frontend dependency lock file and vendored frontend files are maintained by
the yarn update workflow.
Generated changes from the other maintenance workflows are passed through the
Apply maintenance patch workflow. That workflow applies only validated
patch artifacts and limits the paths that each workflow is allowed to update.
Bezpečnosť Docker kontajnerov¶
Docker kontajnery Weblate a Weblate Client sa skenujú na bezpečnostné zraniteľnosti v CI. To nám umožňuje včas odhaliť zraniteľnosti a rýchlo vydať vylepšenia.
Kontrolované pracovné postupy Weblate Docker a Weblate Client skenujú zostavené obrazy kontajnerov pomocou Anchore a Trivy. Výsledky sa nahrávajú do skenovania kódu GitHub ako údaje SARIF. Kontrolované pracovné postupy tiež ukladajú artefakty Trivy SARIF a pracovný postup Weblate Client ukladá artefakty Anchore SARIF.
Známe podrobnosti externých politík¶
Niektoré podrobnosti o správe závislostí a zraniteľností sa udržiavajú mimo tejto dokumentácie:
kompletné správanie Renovate je definované v zdieľanej predvoľbe WeblateOrg/meta a nastaveniach platformy repozitára;
Graf závislostí GitHub, upozornenie Dependabot a stav ochrany vetiev sú konfiguráciou platformy GitHub;
História výsledkov FOSSA a prahové hodnoty politík sú uložené v FOSSA;
výstup skenera je uložený v skenovaní kódu GitHub a artefaktoch pracovného postupu.