Populární témata
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Méně je bezpečnější: jak Obsidian snižuje riziko útoků na dodavatelské řetězce
Útoky na dodavatelský řetězec jsou škodlivé aktualizace, které se vplíží do otevřeného zdrojového kódu používaného mnoha aplikacemi. Zde je návod, jak navrhujeme Obsidian, abychom zajistili, že aplikace bude bezpečným a soukromým prostředím pro vaše myšlenky.
Méně je bezpečnější
Může to znít jako samozřejmost, ale primárním způsobem, jak snížit riziko útoků na dodavatelský řetězec, je vyhnout se závislosti na kódu třetích stran. Obsidian má ve srovnání s ostatními aplikacemi v naší kategorii nízký počet závislostí. Podívejte se na seznam knihoven s otevřeným zdrojovým kódem na naší stránce Poděkování.
Funkce jako Základy a Canvas byly implementovány od nuly namísto importu běžně dostupných knihoven. To nám dává plnou kontrolu nad tím, co běží v Obsidianu.
- U malých pomocných funkcí je téměř vždy znovu implementujeme do našeho kódu.
- U středních modulů je rozvětvujeme a ponecháváme v naší kódové základně, pokud to licence dovolují.
- U velkých knihoven, jako jsou pdf.js, Mermaid a MathJax, přidáváme známé funkční soubory s uzamčenou verzí a upgradujeme pouze příležitostně nebo když se objeví bezpečnostní opravy. Čteme poznámky k verzi, díváme se na změny v upstreamu a před přechodem důkladně testujeme.
Tento přístup udržuje náš graf závislostí mělký s několika dílčími závislostmi. Menší plocha snižuje pravděpodobnost proklouznutí škodlivé aktualizace.
Co se vlastně v aplikaci dodává
Součástí aplikace, kterou používáte, je pouze hrstka balíčků, např. Electron, CodeMirror moment.js. Ostatní balíčky nám pomáhají vytvořit aplikaci a nikdy se nedodávají uživatelům, např. esbuild nebo eslint.
Připínání verzí a soubory zámku
Všechny závislosti jsou striktně připnuty k verzi a potvrzeny pomocí souboru zámku. Soubor zámku je zdrojem pravdy pro sestavení, takže dostáváme deterministické instalace. To nám poskytuje přímou auditní stopu při kontrole změn.
Postinstalační skripty nespouštíme. Tím zabráníte balíčkům ve spouštění libovolného kódu během instalace.
Pomalé, záměrné upgrady
Když provádíme aktualizace závislostí, můžeme:
...

Top
Hodnocení
Oblíbené