Política de segurança
Como relatar uma vulnerabilidade#
Relate-a de forma privada, por um destes dois caminhos:
- Relato privado de vulnerabilidades do GitHub — o botão Report a vulnerability na aba Security do repositório. O relato fica visível apenas para os mantenedores, e uma correção pode ser preparada em um fork privado e publicada como um GitHub Security Advisory.
- E-mail — contact@ashforde.org, com detalhes e passos para reprodução.
Por favor, não abra uma issue pública para relatos sensíveis do ponto de vista da segurança. Nosso objetivo é confirmar o recebimento em alguns dias úteis.
Versões com suporte#
Pré-1.0: somente a versão marcada mais recente tem suporte.
Segurança de memória#
O crate da biblioteca declara #![forbid(unsafe_code)] na raiz do crate (src/lib.rs); assim, um bloco unsafe, fn, impl ou extern em qualquer ponto da biblioteca é um erro de compilação, e não algo que um revisor precise perceber. O atributo não está atrás de um cfg, de modo que vale para todas as configurações em que a biblioteca é distribuída, e as três compilam sem problemas com ele: a compilação Rust padrão, o módulo de extensão Python (--features python) e o módulo WebAssembly (--features wasm).
Escopo, declarado com precisão, porque forbid vale por crate:
- Ele rege apenas o crate da biblioteca. O binário da CLI (
src/main.rs), os binários auxiliares emsrc/bin/, o cratekshana-mcppublicado separadamente e os crates de validação cruzadaxval/, excluídos do workspace, são raízes de crate distintas e não são cobertos por ele. Nenhum deles contémunsafehoje, mas isso é disciplina, não uma propriedade imposta pelo compilador. - Ele não diz nada sobre dependências. Estas são controladas separadamente por
cargo deny check advisories licenses bans sourcesna CI — para o crate raiz e, como um job próprio, para o crate do servidor MCP excluído do workspace — e monitoradas por alertas do Dependabot e por atualizações de segurança no repositório.
Nota sobre controle de exportação / uso dual#
A resiliência de PNT e a detecção quântica podem se enquadrar em controles de exportação de uso dual. Este repositório público limita-se a modelos e métodos genéricos e publicados. Não contribua aqui com detalhes de resiliência ou de antispoofing sensíveis do ponto de vista da exportação; eles pertencem a uma camada privada. Em caso de dúvida, envie primeiro um e-mail.