Executando verificação de segurança...
-2

Cara, a ideia é maravilhosa, mas esta com erros de segurança. Vi alguns trechos do código brevemente, e ja achei um problema no arquivo avelpress/src/Admin
/AdminManager.php, no trecho current_page = _GET[ page ]; esta passando parâmetros sem nenhuma sanitização, isso é bem grave (e infelizmente uma falha bem comum). Se vc estiver usando ia pra codar, pede pra sanitizar com funções do wp para sanitizacao.

Carregando publicação patrocinada...
7

Que bom que gostou, mas não, não há nenhuma brecha de segurança, você está errado e vou explicar o porque:

O sanitizer eu sempre uso em todos meu plugins, usando especificamente as funções disponibilizadas pelo próprio Wordpress para isso, inclusive o wordpress barra o seu plugin, se você tem dados não sanitizados corretamente.

O Sanitizer é usado para limpar dados que serão processados, exibidos ou persistidos, seja no banco de dados ou em outro local, ou mesmo sem persistir, exibindo ele para o usário seja em algum html, pdf, xml, json ou qualquer outro recurso. Ele remove ou transforma dados perigosos para torná-los seguros para uso, evita qualquer tipo de injection, seja SQL injection, Stored XSS etc... Mas veja que onde eu usei sem, Em nenhum momento processei o dado ou perssisti ele, ou mesmo repassei ele pra frente, só validei se ele é igual á algo, e então o descartei. Não há nenhuma brecha de segurança nisso, te dou um prêmio se conseguir aplicar alguma injection nesse dado, e usar um sanetizer nesse caso seria irrelevante. Eu poderia colocar apenas por hábito, mas em nenhum momento por segurança nesse caso, como você disse.

É bem comum que Programador sem muita experiência se confudam o que precisa e não precisa ser sanetizado, por esse motivo o wordpress recomenda sanetizar tudo por hábito, e isso evita que onde realmente precise o programador não esqueça.

Só pelo fato de você achar que existe uma brecha de segurança nesse trecho do código, diz muito sobre o seu conhecimento de programação ou segurança. Ou mesmo ter cogitado que eu uso IA para codar rs, se você usa, que bom!

Segue a baixo um trecho sobre isso:

Quando você NÃO precisa sanitizar

Se o valor vindo de $_GET

  • Não é salvo no banco de dados
  • Não é exibido (echo/HTML/output)
  • Não é usado para executar lógica (como carregar arquivos, fazer queries, chamar funções dinâmicas, etc.)
  • É apenas comparado com uma lista fixa de strings internas (in_array) ou comparado com uma condição

Então NÃO existe risco real de segurança, e sanitizar passa a ser apenas boa prática, não uma necessidade.

A função só compara:

if ( current_page === page ) {
return true;
}

Ela não imprime o valor, não salva, não usa para carregar nenhum recurso

Então usar ou não sanitização nesse caso não muda nada para segurança.

O motivo de muitos desenvolvedores sanitizarem nesse caso específico seria mais por hábito, e não por questões de segurança como você disse

E é muito curioso você falar isso, pois em um código seu onde você sim está usando o $_GET para exibir ou processar os dados:
https://github.com/gmasson/carne-de-pagamento/blob/master/capa.php

Você está usando addslashes achando que está sanetizando quando a própria deocumentação do PHP diz exatamente ao contrário, abaixo o trecho exato tirado da documentaçao do PHP:

"O método addslashes() às vezes é usado incorretamente para tentar impedir a injeção de SQL . Em vez disso, funções de escape específicas do banco de dados e/ou instruções preparadas devem ser usadas." (referencia: https://www.php.net/manual/en/function.addslashes.php)

Mas eu entendo, pois pelo modo que foi escrito o seu código, me parece que você é iniciante, de qualquer modo, se você quer fuçar mais no meu código, pode fuçar a vontade, e se encontrar algum bug ou problema pode fazer uma PR, provavelmente tenha, mas felizmente não era o que você disse que era.