Isolamento #
Extensões rodam no QuickJS dentro de um serviço Android separado, com processo e UID próprios. Cada extensão tem ambiente, memória e tempo limitados, além de dados SQLite exclusivos. Análises de fluxos usam outro serviço isolado. Falhas do motor suspendem extensões e preservam as decisões atuais do proxy.
Níveis de proteção #
Na distribuição 1.5.0+102, os fluxos executam com o aplicativo em primeiro plano. Ao sair, a execução pausa; a retomada é explícita e não repete automaticamente operações com resultado desconhecido.
| Nível | Ao sair do primeiro plano |
|---|---|
PUBLIC | pausa e preserva o progresso confirmado para retomada explícita |
PROTECTED | pausa, salva o progresso criptografado e libera os ambientes de análise |
SECRET | também descarrega os ambientes e elimina chaves e buffers controlados |
PROTECTED e SECRET exigem biometria e retomada explícita. A proteção é herdada pelos resultados derivados e não pode ser reduzida por uma extensão. Referências a credenciais e cabeçalhos operacionais de autenticação exigem SECRET, e conteúdo privado sai da interface ao bloquear.
Cofre biométrico #
O cofre exige biometria forte compatível, Android Keystore e CryptoObject. A chave mestra autenticada envolve uma chave aleatória por extensão ou fluxo. Código, configuração, SQLite, registros, achados e resultados derivados ficam criptografados. Ativar a proteção migra os dados existentes com transação e diário de recuperação.
Integridade e assinaturas #
hashescobre todos os recursos do pacote com SHA-256.- A assinatura Ed25519 cobre JSON canônico: chaves ordenadas, arrays preservados e números decimais normalizados; a própria assinatura fica fora da entrada assinada.
- O manifesto guarda
signature.algorithm,publicKeyevalueem Base64. - Assinatura válida comprova integridade e a identidade da chave, não confiança no autor. Reconhecer o autor é uma decisão separada.
- Assinatura inválida é recusada. Arquivos antigos sem assinatura ficam em revisão; aprová-los cria uma revisão assinada localmente que preserva a origem não verificada.
Arquivos protegidos com senha #
Ao exportar com senha, o envelope CATSEAL2 usa Argon2id com 64 MiB, três operações e uma lane, libsodium 1.0.22 e AES-256-GCM.
| Parte | Detalhe |
|---|---|
| Cabeçalho | 48 bytes: magic, versão e parâmetros, salt de 16 bytes e nonce de 12 bytes |
| Autenticação | cabeçalho autenticado como AAD e tag de 16 bytes |
| Conteúdo | tudo criptografado, inclusive nomes e metadados |
| Senha | pelo menos 12 caracteres, até 1.024 bytes UTF-8, nunca salva |
Parâmetros diferentes são recusados antes da derivação. Arquivos portáteis de dados e backups suportam até 64 MiB.
Backups e recuperação #
Crie um backup depois de autenticar. Ele inclui pacote, configuração, armazenamento, achados completos, registros, auditoria de tráfego e fluxos relacionados com seus históricos e artefatos. Credenciais cadastradas e certificados de pareamento ficam de fora.
Restaurar é uma substituição confirmada e transacional: extensões e fluxos voltam desativados, com a classificação e a criptografia preservadas e chaves locais novas. Um backup com senha permite recuperar o conteúdo quando a chave biométrica anterior foi invalidada. Sem backup, a chave perdida não pode ser reconstruída.
Auditoria de tráfego #
Registros → Alterações de tráfego mostra a mensagem original, a saída da extensão e a mensagem após a edição manual. A auditoria guarda os últimos 50 registros por extensão, com previews de até 4 KiB e hashes.
Uso responsável #
O CatSuite foi desenhado para ambientes próprios, estudos, CTFs e testes explicitamente autorizados. Nada é enviado sem uma ação sua, e cada capacidade nova passa pela sua aprovação.