Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Tai-e — Um framework de análise estática fácil de aprender/usar para Java e Android. | Kitploit
Ferramentas/GitHubGitHub/pascal-lab/tai-e
Segurança AndroidAnálise EstáticaAnálise de VulnerabilidadesAnálise de CódigoAprendizado e Educação
GitHubpascal-lab/tai-e

Tai-e

Um framework de análise estática fácil de aprender/usar para Java e Android.

Ver Repositório
1.8k19817há 10 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Tai-e

test java maven-central codecov DOI

✨Notícias

  • Lançamento v0.5.4:
    • O Tai-e agora vem com um novo frontend, oferecendo conversão mais rápida e confiável de programas Java para a IR do Tai-e.
    • A análise de aplicativos Android é suportada através de um plugin baseado no PacDroid, integrado com análise de ponteiros.
    • Análise Spring DI e WEC é suportada através do plugin de análise Spring.
  • Nosso artigo "Two Approaches to Fast Bytecode Frontend for Static Analysis" foi aceito no OOPSLA'25. Este artigo apresenta o novo frontend de bytecode do Tai-e, que é significativamente mais rápido e confiável que frontends existentes.
  • Nosso artigo "Pointer Analysis for Database-Backed Applications" foi aceito no PLDI'25. Este artigo descreve uma análise de ponteiros ponta a ponta para aplicações Java com banco de dados, desenvolvida sobre o Tai-e.
  • Nosso artigo "PacDroid: A Pointer-Analysis-Centric Framework for Security Vulnerabilities in Android Apps" foi aceito no ICSE'25. Este trabalho demonstra a nova capacidade do Tai-e em análise Android, fornecendo uma abordagem simples, porém eficaz, para análise de segurança de aplicativos. Este trabalho recebeu o Best Artifact Award🏅.
  • Nosso artigo "Bridge the Islands: Pointer Analysis for Microservice Systems" foi aceito no ISSTA'25. Este artigo descreve a primeira análise de ponteiros para sistemas de microsserviços Java desenvolvida sobre o Tai-e.
  • Nosso artigo "Interactive Cross-Language Pointer Analysis for Resolving Native Code in Java Programs" foi aceito no ICSE'25. Esta é a primeira análise de ponteiros entre linguagens Java e C. Este trabalho ganhou o Distinguished Paper Award🏅.
  • Nosso artigo "Context Sensitivity without Context: A Cut-Shortcut Approach to Fast and Precise Pointer Analysis" foi aceito no PLDI'23. Este é o primeiro trabalho de pesquisa publicado desenvolvido sobre o Tai-e.
  • Nosso artigo "Tai-e: A Developer-Friendly Static Analysis Framework for Java by Harnessing the Good Designs of Classics" foi aceito no ISSTA'23. Este artigo descreve os projetos dos principais componentes do Tai-e.

Índice

  • O que é Tai-e?
  • Como obter um Tai-e executável?
  • Como incluir Tai-e no seu projeto?
    • Versão Estável
    • Versão Mais Recente
  • Documentação
    • Documentação de Referência
    • Registro de Alterações
  • Exercícios do Tai-e

O que é Tai-e?

Tai-e (chinês: 太阿; pronúncia: [ˈtaɪə:]) é um novo framework de análise estática para Java (veja nosso artigo do ISSTA 2023 para detalhes), que incorpora os projetos "melhores", argumentavelmente, tanto dos novos que propusemos quanto daqueles de frameworks clássicos como Soot, WALA, Doop e SpotBugs. Tai-e é fácil de aprender, fácil de usar, eficiente e altamente extensível, permitindo que você desenvolva novas análises facilmente sobre ele.

Atualmente, o Tai-e fornece os seguintes componentes principais de análise (e mais análises estão a caminho):

  • Framework poderoso de análise de ponteiros
    • Construção de grafo de chamadas em tempo real
    • Várias técnicas clássicas e avançadas de abstração de heap e sensibilidade a contexto para análise de ponteiros
    • Sistema extensível de plugins de análise (permite desenvolver e adicionar convenientemente novas análises que interagem com a análise de ponteiros)
  • Análise de segurança configurável
    • Análise de mancha (taint analysis), que permite configurar fontes, sumidouros, transferências de mancha e sanitizadores
    • Detecção de várias vazamentos de informação e vulnerabilidades de injeção
    • Várias opções de equilíbrio entre precisão e eficiência (beneficiando-se do framework de análise de ponteiros)
  • Várias análises fundamentais/utilitárias
    • Análises fundamentais, por exemplo, análise de reflexão e análise de exceções
    • Análises de recursos modernos da linguagem, por exemplo, análise de lambda e referência de método, e análise invokedynamic
    • Ferramentas utilitárias como temporizador de análise, verificador de restrições (para depuração) e vários despejadores de grafo
  • Framework de análise de fluxo de controle/dados
    • Construção de grafo de fluxo de controle
    • Análises clássicas de fluxo de dados, por exemplo, análise de variáveis vivas, propagação de constantes
    • Suas análises de fluxo de dados
  • Sistema de detecção de bugs semelhante ao SpotBugs
    • Detectores de bugs, por exemplo, detector de ponteiro nulo, detector de clone() incorreto
    • Seus detectores de bugs

Tai-e é desenvolvido em Java e pode ser executado nos principais sistemas operacionais, incluindo Windows, Linux e macOS.

Como cortesia aos desenvolvedores, esperamos que você por favor cite o artigo do ISSTA 2023 que descreve o framework Tai-e em seu trabalho de pesquisa:

Tian Tan and Yue Li. 2023. Tai-e: A Developer-Friendly Static Analysis Framework for Java by Harnessing the Good Designs of Classics. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA '23), July 17–21, 2023, Seattle, WA, USA (pdf, bibtex).

Como obter um Tai-e executável?

A maneira recomendada é baixar o ZIP de distribuição dos GitHub Releases. O ZIP contém Tai-e, todas as dependências de tempo de execução, documentação offline e scripts de inicialização para Windows, Linux e macOS.

Alternativamente, você pode compilar o Tai-e mais recente a partir do código-fonte. Isso pode ser feito simplesmente via Gradle (certifique-se de que o Java 17 (ou versão superior) está disponível no seu sistema):

./gradlew distZip

O ZIP de distribuição será gerado em tai-e/build/distributions/. Após extraí-lo, execute o Tai-e através do script de inicialização:

# no Linux/macOS
./tai-e-<version>/bin/tai-e -h
# no Windows
.\tai-e-<version>\bin\tai-e.bat -h

Para compatibilidade com versões anteriores e scripts, o Tai-e ainda fornece um JAR all-in-one legado:

./gradlew fatJar
java -jar build/tai-e-all-<version>.jar -h

Como incluir Tai-e no seu projeto?

Tai-e é projetado como uma ferramenta autônoma, mas você também tem a opção de incluí-lo em seu projeto como uma dependência. Ele está disponível nos repositórios Maven, permitindo integrá-lo facilmente em seus projetos Java usando ferramentas de build como Gradle e Maven. Mantemos versões estáveis e mais recentes do Tai-e, e aqui estão as coordenadas correspondentes nos formatos de script Gradle e Maven:

Versão Estável

Para Gradle:

dependencies {
    implementation("net.pascal-lab:tai-e:0.5.4")
}

Para Maven:

Baixar ferramenta