Tópicos em alta
#
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.
Menos é mais seguro: como a Obsidian reduz o risco de ataques à cadeia de suprimentos
Os ataques à cadeia de suprimentos são atualizações maliciosas que se infiltram no código-fonte aberto usado por muitos aplicativos. Veja como projetamos o Obsidian para garantir que o aplicativo seja um ambiente seguro e privado para seus pensamentos.
Menos é mais seguro
Pode parecer óbvio, mas a principal maneira de reduzir o risco de ataques à cadeia de suprimentos é evitar depender de códigos de terceiros. O Obsidian tem um baixo número de dependências em comparação com outros aplicativos em nossa categoria. Veja uma lista de bibliotecas de código aberto em nossa página de créditos.
Recursos como Bases e Canvas foram implementados do zero, em vez de importar bibliotecas prontas para uso. Isso nos dá controle total sobre o que é executado em Obsidian.
- Para pequenas funções utilitárias, quase sempre as reimplementamos em nosso código.
- Para módulos médios, nós os bifurcamos e os mantemos dentro de nossa base de código, se as licenças permitirem.
- Para bibliotecas grandes como pdf.js, Mermaid e MathJax, incluímos arquivos com bloqueio de versão em boas condições e atualizamos apenas ocasionalmente ou quando as correções de segurança chegam. Lemos as notas de versão, analisamos as alterações upstream e testamos minuciosamente antes de mudar.
Essa abordagem mantém nosso gráfico de dependências superficial com poucas subdependências. Uma área de superfície menor reduz a chance de uma atualização maliciosa escapar.
O que realmente é enviado no aplicativo
Apenas alguns pacotes fazem parte do aplicativo que você executa, por exemplo, Electron, CodeMirror moment.js. Os outros pacotes nos ajudam a criar o aplicativo e nunca enviam para os usuários, por exemplo, esbuild ou eslint.
Fixação de versão e arquivos de bloqueio
Todas as dependências são estritamente fixadas na versão e confirmadas com um arquivo de bloqueio. O arquivo de bloqueio é a fonte da verdade para compilações, portanto, obtemos instalações determinísticas. Isso nos dá uma trilha de auditoria direta ao revisar as alterações.
Não executamos scripts de pós-instalação. Isso impede que os pacotes executem código arbitrário durante a instalação.
Atualizações lentas e deliberadas
Quando fazemos atualizações de dependência, nós:
...

Melhores
Classificação
Favoritos