Voltar

Projetos

Ferramentas de segurança e privacidade que escrevi. Quase todas rodam na sua própria máquina, sem conta e sem mandar dados para fora. O código de cada uma está no GitHub.

escalint

Mapeia quem consegue virar administrador numa conta AWS a partir de um snapshot somente leitura.

Quase ninguém tem AdministratorAccess direto numa conta AWS. O risco está na combinação: iam:PassRole com lambda:CreateFunction, ou uma role cuja trust policy o próprio usuário consegue reescrever. Nenhuma política parece perigosa sozinha. O escalint lê um snapshot IAM de uma ou mais contas, avalia as políticas do jeito que a AWS avalia e monta o grafo de quem consegue agir como quem até chegar em admin.

  • 39 regras, cada uma ligada à documentação da AWS e ao catálogo do pathfinding.cloud
  • Mostra o statement exato que libera cada passo e o que o CloudTrail registraria
  • Calcula o menor conjunto de mudanças que fecha todos os caminhos
  • Saída em texto, JSON e SARIF para CI, e uma interface web com nove visões
Atlas do escalint: grafo de principals IAM e serviços AWS, com os caminhos críticos destacados
O Atlas com 65 principals de uma conta de teste.

blindsight

Confere uma transação Safe multisig offline, antes de você assinar.

Em fevereiro de 2025 a Bybit perdeu cerca de US$ 1,5 bilhão porque os signatários da Safe viram uma transação na tela e assinaram outra: a hardware wallet só mostrava um hash. O blindsight parte do princípio de que a máquina que preparou a transação pode estar comprometida. Ele roda em outro computador, sem rede, e recalcula tudo a partir dos parâmetros brutos.

  • Calcula os hashes EIP-712 com duas implementações independentes e não mostra nenhum se elas divergirem
  • Decodifica a árvore de chamadas, incluindo MultiSend e Safes aninhadas
  • 20 detectores procuram padrões de tomada da Safe, como delegatecall para contrato desconhecido
Terminal com o blindsight verificando a transação do ataque à Bybit e marcando dois achados críticos
O blindsight sobre a transação real do ataque à Bybit.

oraclint

Linter de segurança estático para deploys de nós Chainlink.

Muitos nós Chainlink são comprometidos por configuração, não por exploit: a UI do operador aberta para a internet, banco sem TLS, senha de keystore curta, flag de desenvolvimento esquecida. O oraclint faz para nós Chainlink o que tfsec e checkov fazem para Terraform. Lê config.toml, secrets.toml, docker-compose, manifests Kubernetes e .env e aponta cada problema antes do deploy, sem encostar no nó em execução.

  • 35 regras conferidas contra o código-fonte do nó v2.69.0
  • Cada achado com arquivo, linha e coluna, o motivo e a correção
  • Nunca imprime segredos; saída em texto, JSON e SARIF para o GitHub code scanning
Saída do oraclint listando achados de severidade alta em config.toml, docker-compose.yml e manifests Kubernetes
17 achados num nó propositalmente inseguro.

oraclewatch

Monitora Data Feeds Chainlink do lado de quem consome o preço.

A Chainlink opera os Data Feeds, mas o risco de usar um feed fica com o protocolo que consome o preço. Um mercado de empréstimo que avalia colateral por um feed assume que o preço está fresco, dentro de limites razoáveis, publicado com o sequencer da L2 no ar e perto do mercado. O oraclewatch lê esses feeds direto da chain e avisa alguém quando uma dessas premissas quebra.

  • Roda continuamente as checagens que auditores pedem on-chain, e outras que só fazem sentido fora dela
  • Incidentes reais viraram regras: o congelamento do feed LUNA/USD em 2022 dispara três delas
  • Cobre Ethereum e L2s, com um dashboard Grafana pronto
Dashboard Grafana do oraclewatch com status por rede, sequencer das L2 e idade dos feeds
Dashboard Grafana acompanhando ETH/USD em quatro redes.

PwnCortex

Centraliza um pentest inteiro num só lugar, com IA que roda na sua máquina.

Num pentest, a informação fica espalhada entre saídas de scan, planilhas e anotações. O PwnCortex junta tudo num projeto só: importa os scans, desenha a topologia da rede como grafo, cruza cada host com CVEs do NVD e responde perguntas sobre o alvo com um LLM que recebe o contexto inteiro do projeto. Roda localmente, sem telemetria e sem nuvem.

  • Importa Nmap XML, JSON, Markdown ou texto puro
  • Notas de evidência vão de rascunho a verificada e entram no relatório executivo com score CVSS
  • Checklist OWASP WSTG com 121 itens; LLM local via Ollama ou via OpenRouter
Grafo de rede do PwnCortex com um host selecionado e seus serviços abertos no painel lateral
Grafo de rede montado a partir de um scan Nmap.

Aporte

Backtesting que simula aportes mensais com rebalanceamento da carteira.

A maioria dos backtesters calcula só um aporte único. Quem investe todo mês faz outra coisa: compra o ativo que ficou abaixo da meta na carteira. O Aporte simula exatamente isso, com aportes mensais, quinzenais ou semanais e rebalanceamento automático, e mostra quanto a carteira teria rendido de verdade.

  • Dados históricos gratuitos de ações da B3 e dos EUA, BDRs, cripto e ETFs
  • Compara com IBOV, S&P 500, CDI e IPCA + 6%, com opção de reinvestir dividendos
  • Self-hosted: os dados financeiros ficam na sua máquina, e o cache Redis responde em menos de 50 ms
Tela de simulação do Aporte com o patrimônio projetado, curva da carteira e métricas de risco
Simulação de BTC e ETH com aporte mensal desde 2020.

OCI SecOps

Labs de segurança ofensiva e pipelines AppSec no Oracle Cloud, dentro do Always Free.

O Always Free da Oracle Cloud oferece até 4 OCPUs ARM e 24 GB de RAM sem custo, o suficiente para um lab de segurança. O OCI SecOps provisiona, audita e endurece essas instâncias e as prepara para segurança ofensiva (bug bounty, pentest) ou defensiva (pipelines SAST, DAST e SCA).

  • Seis topologias, de uma máquina com todo o limite a um cluster de quatro nós
  • Aplica os tetos do Always Free localmente, porque numa conta Pay As You Go passar deles gera cobrança
  • Consulta a cota real da região pela API quando ela é menor que a documentada

no-distraction

Um app de produtividade que funciona offline e não manda nada para servidor nenhum.

Calendário, tarefas, notas, pomodoro, hidratação e refeições numa única tela. É um app pessoal e minimalista que roda inteiro no navegador: não tem conta, servidor, nuvem nem telemetria. Para trocar de máquina, basta exportar um arquivo .json.

  • Instalável como PWA no celular e no desktop, funciona offline
  • Pomodoro baseado em timestamp, que não perde a contagem quando a aba dorme
  • Módulos independentes em Svelte 5 que só conversam por um event bus tipado
Tela do no-distraction com tarefas do dia, pomodoro em 25 minutos e o calendário
Tarefas, pomodoro e calendário na mesma tela.

KeyGuardian

Cofre de senhas para celular, em Flutter, com chave mestra.

Um cofre de senhas para celular feito em Flutter com Firebase. Além do login, abrir o cofre exige uma chave mestra criada pelo usuário, e as credenciais ficam criptografadas.

  • Login, cadastro e recuperação de senha com Firebase Auth
  • Lista, detalhes e edição das credenciais salvas
  • Gerador de senhas com tamanho, números e caracteres especiais configuráveis
Três telas do KeyGuardian: boas-vindas, lista de credenciais salvas e edição de uma credencial
Boas-vindas, lista de credenciais e troca de senha.

WG-Auto

A VPN WireGuard instalada e configurada com um único script.

Montar uma VPN WireGuard à mão envolve gerar chaves, escrever configurações, ligar o encaminhamento de IP e criar regras de firewall, no servidor e em cada cliente. O WG-Auto faz tudo isso com um script para o servidor e outro para o cliente.

  • Gera as chaves e os arquivos de configuração do servidor e do cliente
  • Liga o IP forwarding e aplica as regras de NAT com iptables
  • Valida IP, porta e chave pública do servidor antes de configurar o cliente

Fast-Enum

Enumeração de subdomínios e web crawling num só comando.

O reconhecimento de um domínio costuma exigir encadear várias ferramentas na mão. O Fast-Enum roda essa sequência numa execução só: descobre subdomínios, remove os duplicados, testa quais estão no ar e coleta URLs deles.

  • Enumeração com assetfinder, subfinder e findomain
  • Remove duplicados com anew e checa subdomínios ativos com httpx
  • Coleta URLs históricas com waybackurls

Basic-Enum-Tools

Prepara uma máquina de recon instalando as ferramentas de enumeração de uma vez.

Montar uma máquina de recon do zero toma tempo: instalar Go e Python, dependências e dezenas de ferramentas. O Basic-Enum-Tools faz isso num script, com as ferramentas mais usadas de enumeração de subdomínios, resolução, crawling, fuzzing e automação.

  • Subdomínios: assetfinder, subfinder, amass e findomain
  • Resolução e crawling: httpx, dnsx, gowitness, waybackurls e gau
  • Fuzzing de diretórios: gobuster e ffuf