A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os limpadores são um grupo de ferramentas de análise dinâmica que encontram erros em
programas no momento da execução por meio de instrumentação adicional inserida pelo
compilador. Isso inclui a detecção de
problemas de segurança de memória. O Android oferece suporte
e recomenda o uso dos seguintes limpadores:
Limpador de endereços assistido por hardware (HWASan)
O HWASan é o limpador principal para detectar
problemas de segurança de memória. Ele requer ARM64 e pode detectar:
Excesso ou falta do buffer de heap e pilha
Uso de heap depois da liberação
Uso de pilha após o escopo
Uso de pilha após retorno
Double free ou wild free
Limpador de endereços (ASan)
O ASan é uma ferramenta semelhante ao HWASan. Ele funciona em mais
plataformas, mas não é compatível com o Android.
Limpador de KernelAddress (KASan, na sigla em inglês)
O KASan é a contraparte do kernel das ferramentas do espaço do usuário
acima. Ele compartilha a mesma implementação do compilador. O KASan e o ASan/HWASan
são complementares, já que uma ferramenta se aplica ao kernel e outra ao espaço do usuário.
Recomendamos ativar os dois ao mesmo tempo para reduzir o número de configurações
de build e a matriz de testes.
Limpador de comportamento indefinido (UBSan)
O UBSan executa a instrumentação no momento da compilação para
verificar vários tipos de comportamento indefinido (sem segurança de memória). Isso inclui
verificação de overflow de números inteiros assinados e não assinados (IntSan), verificações de limites para
matrizes de tamanho estático (BoundsSan) e muitos outros tipos de comportamento indefinido. O IntSan e o BoundsSan também são adequados para ativação na produção como
mitigation de segurança.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# Sanitizers\n\n| **Note:** This page talks about sanitizers for Android platform development. For sanitizers for app development, refer to the [NDK documentation](https://developer.android.com/ndk/guides/memory-debug).\n\nThe sanitizers are a group of dynamic analysis tools that find mistakes in\nprograms at runtime through additional instrumentation that was inserted by the\ncompiler. This includes detecting\n[memory safety](/docs/security/test/memory-safety) issues. Android supports\nand strongly recommends usage of the following sanitizers:\n\nHardware-assisted AddressSanitizer (HWASan)\n-------------------------------------------\n\n[HWASan](/docs/security/test/hwasan) is the main sanitizer to provide detection\nfor memory safety problems. It requires ARM64 and can detect:\n\n- Stack and heap buffer overflow or underflow\n- Heap use after free\n- Stack use after scope\n- Stack use after return\n- Double free or wild free\n\nAddress sanitizer (ASan)\n------------------------\n\n[ASan](/docs/security/test/asan) is a tool similar to HWASan. It works on more\nplatforms, but is unsupported on Android.\n\nKernelAddress sanitizer (KASan)\n-------------------------------\n\n[KASan](/docs/security/test/kasan) is the kernel counterpart of the userspace\ntools above. It shares the same compiler implementation. KASan and ASan/HWASan\nare complementary as one tool applies to the kernel and another to userspace.\nWe recommend enabling both at the same time to reduce the number of build\nconfigurations and to reduce the testing matrix.\n\nUndefinedBehavior sanitizer (UBSan)\n-----------------------------------\n\n[UBSan](/docs/security/test/ubsan) performs compile-time instrumentation to\ncheck for various types of (non memory-safety) undefined behavior. This includes\nsigned and unsigned integer overflow checking (IntSan), bounds checks for\nstatically-sized arrays (BoundsSan), and lots of other types of undefined\nbehavior. IntSan and BoundsSan are also suitable for enabling in production as a\nsecurity mitigation."]]