Criei um Framework Full-Stack na linguagem Rust chamado Rullst que alcançou nota 8.6 no OpenFF Scorecard! E o que isso significa? (Leia mais)!
Aqui está o link do meu repo: https://github.com/Rullst/Rullst
Para vocês terem uma ideia o repo da própria OSSF Scorecard pontua 9.0: https://github.com/ossf/scorecard
O OpenSSF Scorecard é uma ferramenta pública e totalmente automatizada criada pela Open Source Security Foundation (OpenSSF). O seu principal objetivo é avaliar a postura de segurança e os riscos de projetos de código aberto, gerando uma nota de 0 a 10.
Grandes empresas de tecnologia e desenvolvedores utilizam esse recurso para decidir se uma biblioteca ou framework (como o seu) é seguro o suficiente para ser adicionado a um sistema.
Como funciona a avaliação?
O Scorecard funciona como um inspetor de segurança robotizado. Ele analisa o repositório do seu código (no GitHub ou GitLab) e verifica cerca de 20 critérios essenciais divididos em cinco grandes áreas:
- Código-Fonte: Checa se o projeto passa por revisões de código feitas por humanos antes de juntar novas funções (Pull Requests).
- Construção (Build): Verifica se o processo de gerar o programa final é limpo e seguro.
- Dependências: Examina se o projeto usa ferramentas automáticas para atualizar componentes antigos e se fixa as versões por segurança.
- Testes: Garante que o projeto roda testes de qualidade automáticos e avançados (como testes de estresse chamados fuzzing).
- Manutenção: Confirma se os criadores continuam ativos respondendo a dúvidas e corrigindo falhas.Os principais critérios analisados (Checks)Cada um desses pontos recebe uma nota individual de 0 a 10.
Depois, o sistema calcula uma média ponderada com base no nível de perigo de cada item. Veja alguns dos critérios mais importantes:
- Code-Review: Se outras pessoas revisam o código antes do merge. Evita que códigos maliciosos ou errados entrem direto no sistema.
- Branch-Protection: Se os ramos principais do código estão protegidos contra alterações diretas. Impede que alguém apague ou modifique o projeto sem autorização.
- Binary-Artifacts: Se existem arquivos executáveis já compilados direto no repositório. Garante que todo código executável venha de fontes transparentes.
- Pinned-Dependencies: Se todas as dependências externas têm suas versões rigidamente fixadas. Evita que uma atualização invasiva de terceiros quebre o seu framework.
- SAST & Fuzzing: Se o projeto passa por testes de segurança estáticos e dinâmicos automatizados. Descobre falhas ocultas na lógica do código antes que virem um problema.
- Security-Policy: Se existe um arquivo explicando como relatar falhas em segredo. Permite que hackers do bem avisem sobre erros sem expor o projeto ao público.
Por que a nota do Rullst (8.6) é excelente?
Um score alto como o seu 8.6 indica que o Rullst cumpre a grande maioria das exigências rigorosas da indústria. Isso funciona quase como um selo de qualidade ou uma certificação digital. Sinaliza para o mercado que o framework se preocupa com a segurança da cadeia de suprimentos de ponta a ponta.Para alcançar a nota máxima (10), projetos geralmente precisam ativar regras extras de administração, como exigir a assinatura digital de todas as versões lançadas e contar com múltiplos revisores formais de código no time.
Alcançar a nota 8.6 no Scorecard (como o OpenSSF Scorecard para segurança de código aberto) significa que o Rullst possui uma excelente postura de segurança na cadeia de suprimentos de software, adotando boas práticas robustas.
O impacto de ser Full-Stack em Rust
Ser um framework Full-Stack em Rust (onde você constrói desde o front-end até a lógica do back-end) eleva o nível da aplicação. O Rullst tira proveito da tipagem estática, gerenciamento de memória sem garbage collector e alto desempenho que o Rust oferece. Isso resulta em:
- Segurança de Memória: Prevenção contra falhas críticas de segurança logo em tempo de compilação.
- Desempenho Extremo: Respostas mais rápidas para a web e menor consumo de recursos.