Encontrou uma vulnerabilidade? Não abra uma issue pública.
Reporte de forma privada por um destes canais:
- Abra um Security Advisory privado no GitHub (preferido); ou
- Envie um e-mail diretamente ao mantenedor.
Inclua, se possível: uma descrição do problema, os passos para reproduzir, a versão afetada e o impacto esperado. Resposta inicial em até 7 dias úteis.
Esta política cobre o núcleo pawnpro-core e as crates publicadas com ele: o motor de análise (pawnpro-engine), o adaptador de depuração (pawnpro-dap-adapter), o protocolo de depuração (pawnpro-dbg-protocol) e o plugin de depuração que roda dentro do servidor do jogo (pawnpro-debug-plugin).
O que está no escopo:
- Execução de código, escalonamento de privilégios ou vazamento de dados a partir do núcleo, do motor, do adaptador ou do plugin.
- O soquete local por onde passam o LSP, a depuração e o plugin: quem consegue conectar, o que a saudação aceita e o que cada canal expõe.
- Manuseio de credenciais — em especial a senha de RCON, que o protocolo do servidor trafega em texto claro.
- A posse de processo: qualquer caminho que permita encerrar um processo que não seja o servidor do projeto e do mesmo usuário.
- Tratamento inseguro de arquivos do projeto, da configuração (
.pawnpro/), das listas.ban/.allow, do estado local e da entrada do compilador. - Os workflows deste repositório e o conteúdo publicado nas releases.
O que não está no escopo:
- Vulnerabilidades em dependências de terceiros — reporte aos respectivos mantenedores. As bibliotecas compiladas nos binários estão listadas nos arquivos
*-THIRD-PARTY.txtde cada release. - Comportamento do compilador
pawncc, do servidor SA-MP/open.mp ou de plugins de terceiros carregados por ele. - A extensão do editor, que tem política própria.
- Configurações inseguras feitas pelo próprio usuário (por exemplo, expor a porta de RCON publicamente).
- O uso do depurador num servidor de produção: ele é para desenvolvimento local, e pausar a máquina virtual do Pawn é o comportamento esperado dele.
Somente a versão mais recente recebe correções de segurança. Os binários são distribuídos nas Releases do GitHub e dentro do VSIX da extensão.
- As dependências de CI são fixadas por commit SHA, e as ferramentas instaladas no CI, por versão; o build usa o
Cargo.lockversionado e as dependências das docs são instaladas com hash (pip install --require-hashes). - Análise estática via CodeQL (
rusteactions), auditoria de dependências viacargo-audita cada push e PR, e avaliação de boas práticas via OpenSSF Scorecard. - Atualizações de dependências chegam pelo Dependabot, nos três ecossistemas do repositório.
- As licenças das bibliotecas compiladas são geradas no release pelo
cargo-about, e uma licença fora da lista aceita impede a publicação.