1 pontos por GN⁺ 2 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • A Obsidian Community foi lançada com um novo diretório e painel para desenvolvedores de plugins e temas, unificando o fluxo de envio, gestão, descoberta e uso
  • Desde a abertura da Obsidian API em 2020, a comunidade criou mais de 4.000 plugins e temas, e os downloads de plugins já passaram de 120 milhões
  • O novo diretório oferece navegação, busca, filtragem e ordenação, e mostra capturas de tela, detalhes e um boletim de segurança nas páginas dos projetos
  • A revisão automática passa a valer para todas as versões, verificando conformidade com as políticas para desenvolvedores, qualidade de código, vulnerabilidades conhecidas e possível malware
  • Os projetos existentes serão migrados para o novo sistema, e plugins e temas que não atenderem aos padrões atuais serão temporariamente excepcionados antes de serem removidos gradualmente do diretório oficial

Lançamento do Obsidian Community

  • O Obsidian Community foi lançado como um novo diretório e painel para desenvolvedores de plugins e temas do Obsidian
  • Desde a abertura da Obsidian API em 2020, a comunidade criou mais de 4.000 plugins e temas, e os plugins do Obsidian somam mais de 120 milhões de downloads
  • O objetivo é permitir que qualquer pessoa crie, distribua, descubra e use plugins e temas com mais facilidade e segurança
  • Este lançamento é o começo de um plano maior que introduz junto o site Community, o painel para desenvolvedores, a revisão automática, a segurança dos plugins e ferramentas para equipes

Site Community e painel para desenvolvedores

  • O novo site Community oferece navegação, busca, filtragem e ordenação para explorar plugins e temas
  • É possível encontrar plugins em dezenas de categorias, como Integrations, Bases, Charts e mais categorias
  • Os projetos podem ser ordenados por nome, número de downloads, popularidade, data de lançamento e data de atualização
  • Cada página de detalhes do projeto inclui capturas de tela, detalhes e um boletim de segurança
  • Plugins pagos e integrações oficiais exibem novos rótulos
  • Os autores podem adicionar opções de apoio, links para site e links de redes sociais na página de perfil
  • O site Obsidian Community oferece um novo painel para desenvolvedores no qual os autores podem enviar, gerenciar e acompanhar o status dos projetos
  • Todos os plugins, temas e envios pendentes que antes eram adicionados via GitHub foram migrados automaticamente para o novo site
  • Para reivindicar a propriedade de projetos existentes, é preciso fazer login no site Community e conectar a conta do GitHub
  • Ao conectar a conta do GitHub, é possível gerenciar projetos existentes, enviar novos projetos e editar a página de perfil

Revisão automática e segurança

  • A revisão automática foi introduzida para todos os projetos da comunidade
  • O novo sistema de revisão automática faz varreduras não apenas no envio inicial, mas em todas as versões, com base em critérios de segurança e qualidade de código
  • Antes, uma equipe pequena fazia revisão manual dos envios iniciais para verificar conformidade com as Developer Policies, mas, com o crescimento da popularidade do Obsidian, ficou difícil acompanhar o ritmo dos envios, e as versões posteriores não eram revisadas
  • Com agentes de codificação acelerando a criação de plugins, a fila de revisão ficou ainda maior, e ferramentas como o Obsidian CLI estão tornando a criação de plugins mais fácil
  • Quando um plugin ou tema é enviado, o sistema de revisão automática verifica conformidade com as políticas para desenvolvedores, aderência a boas práticas de código-fonte e ausência de vulnerabilidades conhecidas
  • Como os testes automáticos podem ser melhorados continuamente, isso cria uma base para elevar de forma mais abrangente a qualidade e a segurança do ecossistema Obsidian
  • A revisão manual continua. Com o novo sistema, a equipe pode concentrar capacidade em plugins que exigem análise mais profunda, como plugins populares, recomendados ou com problemas sinalizados pela comunidade
  • Plugins e temas existentes foram revisados novamente no novo sistema, e foram encontrados plugins e temas antigos que não atendem às diretrizes mais recentes
  • Projetos existentes que não passaram nos padrões atuais receberão exceções temporárias, mas todos os plugins e temas que não passarem no novo processo de revisão acabarão sendo removidos gradualmente do diretório oficial
  • Nos últimos dias, o novo sistema processou mais de 2.300 envios pendentes, e desenvolvedores que estavam aguardando a revisão de plugins podem fazer login no site Community para verificar o status atual
  • Varredura automática

    • Todas as versões passam automaticamente por verificações de qualidade de código e vulnerabilidades de segurança
    • Também inclui varredura de malware para detectar adições potencialmente maliciosas em plugins
    • No painel para desenvolvedores, é possível ver sugestões detalhadas, alertas e sinalizações de falha para cada projeto
  • Boletim

    • Usuários e desenvolvedores podem verificar o status das checagens automáticas no boletim de todos os projetos
    • O boletim continuará evoluindo para integrar informações públicas, rótulos de privacidade, comprovação de artefatos, resultados de revisão manual e adoção de recursos do app
  • Divulgação do escopo de acesso

    • Nos próximos meses, haverá mais transparência sobre plugins e autores
    • Os plugins passarão a declarar a que acessam, como rede, sistema de arquivos, área de transferência e outros recursos
    • Os usuários poderão consultar essas informações antes de instalar um plugin
  • Autores verificados

    • Um rótulo será adicionado a desenvolvedores confiáveis que passarem por etapas extras de verificação e mantiverem boa reputação
    • Usuários podem reportar diretamente problemas de segurança à equipe do Obsidian a qualquer momento

Equipes e mudanças no nível do app

  • Equipes que usam Obsidian já podem implantar controles de segurança para usuários
  • Nos próximos meses, as equipes poderão gerenciar com mais facilidade quais plugins da comunidade permitir e distribuir plugins privados aos membros da equipe
  • Equipes que distribuem plugins oficiais do Obsidian podem solicitar o selo Official no diretório Community
  • Se um plugin se qualificar, é possível entrar em contato
  • Junto com melhorias no diretório Community e no sistema de revisão automática, também haverá mudanças no app e na API do Obsidian para aumentar a descoberta e a segurança
  • O ecossistema da comunidade é uma das partes divertidas e poderosas do Obsidian, e a direção é fornecer a base necessária para que ele continue crescendo
  • O novo Obsidian Community receberá feedback

Principais mudanças para usuários e desenvolvedores

  • Impacto para usuários

    • Agora é possível explorar plugins e temas no novo site Community
    • Como o tempo de revisão caiu bastante, pode diminuir a necessidade de instalar manualmente plugins de acesso antecipado
  • Envio de novos plugins ou temas

    • Faça login no site Community para acessar o novo painel para desenvolvedores
    • Conecte a conta do GitHub, escolha o repositório a enviar e conclua as etapas no painel
    • A revisão do projeto começa imediatamente após o envio, e normalmente é possível ver o resultado em poucos minutos
    • Se o projeto for aprovado, ele poderá ser pesquisado e baixado no app em até 24 horas
  • Reivindicar a propriedade de plugins e temas existentes

    • Faça login no site Community para acessar o novo painel para desenvolvedores
    • Ao conectar a conta do GitHub, é possível reivindicar a propriedade do plugin e atualizar título, descrição e capturas de tela
  • É possível atualizar sem usar o painel para desenvolvedores?

    • Continua sendo possível lançar novas versões via GitHub
    • Novas versões passam por revisão automática, e se não forem aprovadas será preciso verificar os detalhes no painel para desenvolvedores
  • Plugins e temas que falharem na revisão automática

    • Novos plugins e temas precisam passar na revisão automática antes de serem adicionados ao diretório e se tornarem pesquisáveis
    • Cada nova versão é escaneada, e se não passar na revisão será removida da busca em até 24 horas
    • Plugins e temas anteriormente aprovados continuarão utilizáveis por enquanto, mesmo se falharem na revisão automática
    • Plugins antigos também acabarão precisando atender aos novos padrões, mas ainda não há prazo definido, e a transição será definida junto com os desenvolvedores da comunidade
  • Executar a revisão automática sem enviar uma release

    • É possível verificar localmente um plugin do Obsidian de acordo com as diretrizes oficiais para desenvolvedores usando o eslint plugin
    • Também é possível executar uma varredura de prévia para qualquer branch, tag ou commit no painel para desenvolvedores
  • Co-mantenedores e repositórios de organização

    • No momento, no Obsidian Community apenas o proprietário do repositório no GitHub pode editar o projeto correspondente
    • Repositórios de organização podem ser reivindicados e editados se a associação à organização estiver pública
    • Suporte a vários colaboradores será adicionado em um futuro próximo
  • Plugins de código-fonte fechado

    • No momento, novos plugins de código-fonte fechado não são aceitos no diretório
    • Plugins de código-fonte fechado já existentes poderão continuar sendo usados até novo aviso
    • No futuro, será avaliada uma forma de adaptar o novo sistema de revisão a plugins de código-fonte fechado
  • Requisitos de conta e GitHub

    • É necessária uma conta Obsidian para acessar o novo painel para desenvolvedores
    • No momento, o uso do GitHub é obrigatório, e no futuro será avaliada a adição de outras plataformas de hospedagem de software
    • O login com GitHub compartilha o nome de usuário e a lista de repositórios públicos, e essas informações são usadas apenas para verificar a propriedade do repositório
  • Rótulos Paid e Optional payments

    • O Obsidian Community não é uma loja e não oferece solução de pagamento embutida
    • Desenvolvedores podem continuar usando mecanismos externos de pagamento, como chave de licença, chave de API e barreira de login
    • Os desenvolvedores devem classificar corretamente o plugin em uma de três categorias
    • Free significa um plugin sem qualquer forma de pagamento e sem qualquer vínculo com serviços pagos, embora links de doação e apoio sejam permitidos
    • Optional payments significa que o usuário pode optar por pagar para desbloquear recursos adicionais, ou que o plugin se conecta a um serviço pago
    • Se o plugin se conectar a um serviço ou API pagos, ele deve ser marcado como Optional payments, mesmo que esse serviço tenha camada gratuita
    • Paid significa que o usuário necessariamente precisa pagar para usar os recursos principais, mesmo que exista teste grátis
    • Esse rótulo indica o tipo de pagamento que o usuário deve esperar, e não se o desenvolvedor coleta pagamentos diretamente
  • Erros no boletim e contato

    • Como o boletim é um recurso novo, ele pode ter erros, incluindo falsos positivos e falsos negativos
    • Se encontrar algo incorreto, é preciso entrar em contato pelo canal #plugin-dev no servidor Discord do Obsidian
    • Em caso de dúvidas ou preocupações, também é possível entrar em contato pelo canal #plugin-dev no servidor Discord do Obsidian

1 comentários

 
GN⁺ 2 시간 전
Comentários do Hacker News
  • Sou o CEO da Obsidian. Estamos trabalhando há quase 1 ano para lançar o novo site da Community e sistema de reviews, e embora eu esteja muito animado com esta primeira versão, ainda há muito para melhorar
    Tentei colocar o máximo possível no post do blog, no FAQ e até nos próximos passos do roadmap, mas provavelmente deixei passar algumas coisas, então fiquem à vontade para perguntar
    Como somos uma equipe de apenas 7 pessoas lidando com milhares de desenvolvedores de plugins e milhões de usuários, foi muito difícil equilibrar prioridades conflitantes
    O novo sistema precisava ser fácil de adotar, manter a compatibilidade retroativa, melhorar bastante em relação ao modelo anterior sem quebrar completamente o fluxo de trabalho existente, e também permitir aumentar gradualmente a segurança e a descobribilidade dos plugins
    Gostaria que isso fosse visto como um trabalho ainda em andamento; vamos ouvir ideias e reclamações e continuar iterando
    • Já adicionei plugins a vários projetos e já pensei em introduzir uma estrutura em que o projeto marque certas versões como revisadas e confiáveis
      Um dos motivos para eu hesitar não era só o enorme investimento de tempo, mas também o medo de que, depois que as pessoas passassem a depender desse processo de revisão, a responsabilidade recaísse sobre o projeto se um código malicioso ofuscado conseguisse passar e depois houvesse um ataque
      Tenho curiosidade sobre como vocês enxergam isso
      Para mim, isso parece a diferença entre o modelo Debian/Ubuntu, que revisa rigorosamente tudo no repositório, e o modelo PyPI/npm, que não oferece garantia alguma de revisão
    • Gosto do fato de que, ao clicar em “o plugin pode fazer requisições para 1 domínio externo” nas informações públicas, aparece o domínio real, github.com
      Dá para ver o exemplo em https://community.obsidian.md/plugins/zotlit
    • Tenho curiosidade se o sistema de varredura automática sinaliza ampliação de escopo de permissões ou mudanças no acesso a domínios de rede para revisão interna/humana
      Por exemplo, se um plugin de resumo por IA inicialmente acessa url="api.openai.com"+path usando uma chave OpenAI fornecida pelo usuário, isso seria um formato bem comum, e estou animado com o que a comunidade pode criar a partir daí
      Mas, se depois de uma atualização o usuário puder escolher qualquer endpoint para uma API compatível com OpenAI, como vocês podem garantir que isso não seja uma atualização que explora essa flexibilidade para criar um canal de exfiltração de rede que drible a varredura, além de discretamente pré-preencher um endpoint malicioso?
    • A equipe da Obsidian fez um ótimo trabalho. Pretendo continuar usando o Obsidian Sync e espero poder usar plugins da comunidade com mais tranquilidade
    • Finalmente saiu
      Quando experimentei o Obsidian, descobri que o recurso de tabela de dados não vinha embutido, mas era um plugin com acesso total, e apaguei o app na hora
      Dito isso, estou surpreso que a equipe tenha só 7 pessoas
  • Para quem não sabe, até agora era quase impossível enviar plugins novos por causa da revisão manual. Também houve o efeito de IA ter tornado a criação de plugins mais fácil e divertida
    A insatisfação na comunidade de desenvolvedores só vinha crescendo, e a equipe também estava ficando esgotada com a carga
    Então parabéns para o time. Isso basicamente remove um enorme gargalo de escalabilidade, e é bem legal ver como eles estão construindo e ampliando isso
    • Tem algum plugin legal que você recomendaria? Estou vindo do OneNote e só agora, depois de configurar a sincronização, estou começando a me sentir à vontade
  • Eu não uso Obsidian, mas quando vi o título achei que seria uma tentativa de limitar tudo a um pequeno conjunto de plugins aprovados pela empresa
    Quando uma empresa de software usa um título como “o futuro de XYZ”, normalmente isso faz a gente esperar que esteja se preparando para restringir pesadamente o XYZ ou encerrá-lo
    • Fiquei me perguntando em que momento a enshittificação ia aparecer
  • Não tenho certeza de que seja possível determinar de forma confiável, só com verificação automática, se um plugin é malicioso
    Na minha visão, a melhor — e talvez única — forma de resolver o problema de segurança de plugins é um sandbox com API explícita e sistema de permissões
    • Além de “é preciso um sandbox com API explícita e sistema de permissões”, eu diria que especialmente meus dados pessoais precisam ficar fora de alcance. Mas o problema é que a própria essência dos plugins do Obsidian é ler e escrever documentos
      Por outro lado, se eles não puderem se comunicar com a internet, talvez isso nem seja um grande problema
      E, olhando mais a fundo, por causa da estrutura de JavaScript e Electron, parece que plugins do Obsidian são apenas blocos de JavaScript executados no escopo global, capazes de ler e gravar o sistema de arquivos inteiro dentro do que as permissões do usuário permitirem, além de fazer requisições HTTP. Alguém pode confirmar se é isso mesmo?
    • Isso não impede código malicioso por si só, mas pode ajudar bastante a verificar se as dependências estão atualizadas e se incluem CVEs conhecidas. É parecido com o que o Trivy faz ou com a forma como o Artifacthub destaca isso
      Ainda assim, tenho curiosidade sobre o quão bem isso realmente funciona neste ecossistema. Pela minha experiência, varreduras amplas tendem a gerar muitos falsos positivos, ou seja, há uma CVE, mas ela não se aplica de fato ao contexto de uso
      Então é preciso conhecimento para interpretar corretamente o resultado da varredura, o que pode acabar virando uma carga considerável para os mantenedores
    • Basta ler o post do blog. Além da varredura automática e dos controles para a equipe, também está planejado um sistema de permissões
      Permissões sozinhas não conseguem impedir certos comportamentos maliciosos, então tudo isso é necessário
      Basta olhar alguns dos placares no site da Community para perceber rapidamente que alguns alertas não podem ser tratados por sistema de permissões nem por sandboxing
      O post do blog traz detalhes sobre a forma de lançamento, e como isso exige mudanças na API de plugins, será implementado de forma gradual
    • Claro que isso não será compatível com os plugins existentes, então eu separaria os plugins legados dos novos, colocaria bastante atrito na instalação dos plugins legados e depois os descontinuaria em algum momento
    • Podman/Linux também têm API e sistema de permissões, e mesmo assim houve o Copy Fail: https://garrido.io/notes/podman-rootless-containers-copy-fai...
      Segurança e concessão de permissões simplesmente são difíceis, e ao projetar uma plataforma em algum momento você precisa se perguntar se vale a pena aceitar esse risco em troca de flexibilidade
      Planejar um sistema perfeitamente seguro é uma causa perdida
  • Muito interessante. Isso é uma prova no mundo real de que review automática de plugins é viável mesmo com equipes pequenas
    Algum dia eu provavelmente deveria aprender a implementar um sistema parecido no meu próprio projeto
    • Talvez seja melhor observar como isso evolui primeiro. Isso é um jogo de gato e rato, e aqui os ratos são muito mais inteligentes
      Exfiltração de dados acontece em silêncio
  • Do ponto de vista do consumidor, não entendo como nem por que eu deveria olhar o placar
    Se ele mostra uma lista enorme de erros e avisos de linter, o que exatamente eu devo fazer com isso?
    Tenho curiosidade sobre qual seria o fluxo ideal para o usuário. O placar parece ótimo do lado do desenvolvedor
  • Fico feliz de ver uma atualização assim
    Gerenciar esse tipo de contribuição da comunidade é difícil, e isso parece um grande avanço
  • Parece bom, desde que a disponibilidade dos plugins não piore, especialmente no meu caso com selfhosted-livesync
    Também me pergunto se a IA pode ter algum papel nessa review automática. Parece um caso de uso bem promissor
  • Muito legal. Só é uma pena que o site seja somente modo escuro, o que torna a leitura ainda mais difícil para quem tem astigmatismo
    • O modo de leitura do Firefox mostra fundo branco com texto escuro com um clique. Imagino que outros navegadores tenham algo parecido
    • É porque o Obsidian é preto. Mesmo assim, há planos de adicionar um modo claro em um futuro próximo
    • Isso quer dizer um tipo muito raro de astigmatismo? Tenho astigmatismo há mais de 30 anos, mas consigo ler este site perfeitamente sem esforço algum
  • Seria bom se fosse mais fácil instalar plugins localmente. Deveria mesmo ser só copiar e colar numa pasta
    Se o Obsidian não fosse software proprietário, eu mesmo teria mudado isso
    Já passou da hora de alguém fazer um clone compatível
    • Já funciona exatamente assim. Um plugin é só uma pasta que você pode copiar para .obsidian/plugins dentro do vault
    • Literalmente basta colar no diretório .obsidian/plugins/