TCC bypass (dylib injection)

DYLD_INSERT_LIBRARIES=/tmp/inject.dylib /Applications/Terminal.app/Contents/MacOS/Terminal

Injeta uma biblioteca dinâmica (dylib) em um app com permissões TCC amplas (Terminal, iTerm) para herdar seu acesso a dados protegidos (pastas, câmera, contatos, histórico) sem que o usuário aprove nada.

Quando você tem execução de código no macOS e quer acessar dados protegidos por TCC sem passar pelos diálogos de permissão. Ao injetar o dylib em um app que já tem TCC aprovado (por exemplo, o usuário já deu ao Terminal acesso à pasta da área de trabalho), seu código roda com a identidade TCC desse app.

Se o SIP está ativo e o app está assinado com validação de biblioteca (a maioria dos apps da Apple e da App Store), a injeção é rejeitada: você precisa desabilitar a validação (codesign -f -s -) ou assinar seu dylib, o que já quebra a assinatura do app. No macOS 11+ com SIP completo, essa via clássica perde muito terreno.