🔐 Segurança
Este é um blog pessoal estático. Divulgação coordenada de vulnerabilidades é bem-vinda — segue o que realmente importa, para ninguém perder tempo dos dois lados.
O que é este site
- Site estático em Quartz 4, build com Node e publicado no GitHub Pages via GitHub Actions.
- Sem contas, sem login, sem banco de dados, sem conteúdo enviado por terceiros, sem cookies. Analytics é o Plausible — sem cookies e agregado.
- Não existe painel administrativo, ambiente de staging nem área privada neste domínio.
Isso define o modelo de ameaça: não há sessão para roubar, registro para consultar nem privilégio para escalar. O que sobra é o conteúdo e o pipeline de build.
No escopo
Se você encontrar qualquer um destes, eu quero saber:
- Injeção de conteúdo / XSS — um post, nota ou tag que renderize script controlado por terceiros. O conteúdo é escrito por mim, então isso significa um bug no gerador do site, em um plugin ou no pipeline de markdown/syntax highlighting.
- Supply chain — uma dependência ou action de build que seja comprometida e entregue código malicioso no site publicado.
- Segredos vazados — token, chave ou credencial commitada no repositório do blog ou exposta no build final.
- Subdomain takeover — algum host sob
calebe.dev.brcom registro DNS ou CNAME pendurado. - Falha de controle de acesso na camada de hospedagem — algo realmente não público sendo servido.
O relato precisa de uma prova de conceito mínima: a URL exata, os passos, o esperado versus o observado. Relato sem PoC reproduzível é fechado.
Fora do escopo
Tudo abaixo é propriedade conhecida e intencional desta configuração. Relatos sobre isso são fechados sem correção:
robots.txt,sitemap.xml,index.xml(RSS) ou/.well-known/serem publicamente legíveis. Eles existem exatamente para isso. Toda URL do meu sitemap é uma página pública linkada no índice do blog, e todo o conteúdo-fonte está em repositório público — o sitemap não revela nada que já não esteja publicado.- Headers de segurança ausentes (CSP, X-Frame-Options, Permissions-Policy, HSTS e afins) que o GitHub Pages não me deixa definir. Não existe ação sensível que mude estado aqui, então clickjacking de um artigo estático não é achado.
- Banner de servidor, versão de framework, configuração de TLS e qualquer outro botão controlado pelo GitHub Pages, não por este site.
- Saída de scanner automatizado sem impacto demonstrado — “risco médio”, “sensitive path disclosed”, “information disclosure” sem apontar nenhum path nomeado e verificável é o exemplo clássico.
- Rate limiting, brute force e denial of service. Não há login para quebrar nem endpoint dinâmico que valha estressar.
- Problemas de autenticação de e-mail (SPF/DKIM/DMARC) em domínios alheios, e qualquer coisa em outro subdomínio
*.calebe.dev.brou em infraestrutura que não é minha — relate ao provedor responsável. - Engenharia social, acesso físico, ou qualquer coisa que exija acesso a uma caixa
@calebe.dev.br. - Self-XSS, tabnabbing e problemas que exigem a vítima colar código no próprio console.
Recompensas
Não existe programa de bug bounty e não há recompensa financeira para este site — é um blog pessoal que eu pago do meu bolso. Se o achado for real e estiver no escopo, eu credito você nesta página e agradeço publicamente.
Relatos que exigem pagamento, ameaçam divulgação ou são claramente templates disparados para vários sites são ignorados.
Como relatar
- E-mail: [email protected] com
[SECURITY]no assunto. - Política legível por máquina:
.well-known/security.txt(RFC 9116). - Eu toco isso sozinho, então espere resposta em melhor esforço — normalmente em até uma semana, sem SLA. Se o problema for válido, eu corrijo e aviso quando estiver no ar.
