Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
Ferramentas/GitHubGitHub/bytedance/appshark
Segurança AndroidAnálise EstáticaAnálise de VulnerabilidadesAnálise de Código
GitHubbytedance/appshark

appshark

Plataforma de análise de fluxo de dados estático para aplicativos Android que detecta vulnerabilidades e problemas de conformidade usando varredura personalizável baseada em regras e relatórios detalhados de resultados.

Ver Repositório
1.8k179há 5 mesesRevisado 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

Índice de Documentos

  • 1.overview
  • 2.startup
  • 3.how to write rules
  • 4.how to find compliance problems use appshark
  • 5.a path traversal game
  • 6.argument
  • 7.engine config
  • 8.result
  • 9.faq

AppShark

Appshark é uma plataforma de análise de mancha estática para escanear vulnerabilidades em um aplicativo Android.

Pré-requisitos

Appshark requer uma versão específica do JDK -- JDK 11. Após testes, ele não funciona em outras versões LTS, JDK 8 e JDK 16, devido a problemas de compatibilidade de dependências.

Compilando/Construindo AppShark

Assumimos que você está trabalhando no diretório raiz do repositório do projeto. Você pode compilar todo o projeto com a ferramenta gradle.

root@kitploit:~
$ ./gradlew build  -x test 

Após executar o comando acima, você verá um arquivo artefato AppShark-0.1.2-all.jar no diretório build/libs.

Executando AppShark

Assim como na etapa anterior, assumimos que você ainda está na raiz do projeto. Você pode executar a ferramenta com

root@kitploit:~
$ java -jar build/libs/AppShark-0.1.2-all.jar  config/config.json5

O config.json5 tem o seguinte conteúdo de configuração.

root@kitploit:~
{
  "apkPath": "/Users/apks/app1.apk"
} 

Cada JSON possui estes campos básicos.

  • apkPath: o caminho do arquivo apk a ser analisado
  • out: o caminho do diretório de saída
  • rules: especifica as regras, separadas por ,. O padrão são todos os arquivos *.json no diretório $rulePath
  • rulePath: especifica o diretório pai das regras, padrão é ./config/rules
  • maxPointerAnalyzeTime: a duração do timeout em segundos definida para a análise iniciada a partir de um ponto de entrada
  • debugRule: especifica o nome da regra que ativa o registro de log para depuração

Para mais campos de configuração, visite net.bytedance.security.app.ArgumentConfig

Se você fornecer um arquivo JSON de configuração que defina o caminho de saída como out no diretório raiz do projeto, encontrará o arquivo de resultado out/results.json após executar a análise.

Interpretando os Resultados

Abaixo está um exemplo do results.json.

root@kitploit:~
{
  "AppInfo": {
    "AppName": "test",
    "PackageName": "net.bytedance.security.app",
    "min_sdk": 17,
    "target_sdk": 28,
    "versionCode": 1000,
    "versionName": "1.0.0"
  },
  "SecurityInfo": {
    "FileRisk": {
      "unZipSlip": {
        "category": "FileRisk",
        "detail": "",
        "model": "2",
        "name": "unZipSlip",
        "possibility": "4",
        "vulners": [
          {
            "details": {
              "position": "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolderFix1(java.lang.String,java.lang.String)>",
              "Sink": "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolderFix1(java.lang.String,java.lang.String)>->$r31",
              "entryMethod": "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void f()>",
              "Source": "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolderFix1(java.lang.String,java.lang.String)>->$r3",
              "url": "/Volumes/dev/zijie/appshark-opensource/out/vuln/1-unZipSlip.html",
              "target": [
                "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolderFix1(java.lang.String,java.lang.String)>->$r3",
                "pf{obj{<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolderFix1(java.lang.String,java.lang.String)>:35=>java.lang.StringBuilder}(unknown)->@data}",
                "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolderFix1(java.lang.String,java.lang.String)>->$r11",
                "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolderFix1(java.lang.String,java.lang.String)>->$r31"
              ]
            },
            "hash": "ec57a2a3190677ffe78a0c8aaf58ba5aee4d2247",
            "possibility": "4"
          },
          {
            "details": {
              "position": "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolder(java.lang.String,java.lang.String)>",
              "Sink": "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolder(java.lang.String,java.lang.String)>->$r34",
              "entryMethod": "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void f()>",
              "Source": "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolder(java.lang.String,java.lang.String)>->$r3",
              "url": "/Volumes/dev/zijie/appshark-opensource/out/vuln/2-unZipSlip.html",
              "target": [
                "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolder(java.lang.String,java.lang.String)>->$r3",
                "pf{obj{<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolder(java.lang.String,java.lang.String)>:33=>java.lang.StringBuilder}(unknown)->@data}",
                "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolder(java.lang.String,java.lang.String)>->$r14",
                "<net.bytedance.security.app.pathfinder.testdata.ZipSlip: void UnZipFolder(java.lang.String,java.lang.String)>->$r34"
              ]
            },
            "hash": "26c6d6ee704c59949cfef78350a1d9aef04c29ad",
            "possibility": "4"
          }
        ],
        "wiki": "",
        "deobfApk": "/Volumes/dev/zijie/appshark-opensource/app.apk"
      }
    }
  },
  "DeepLinkInfo": {
  },
  "HTTP_API": [
  ],
  "JsBridgeInfo": [
  ],
  "BasicInfo": {
    "ComponentsInfo": {
    },
    "JSNativeInterface": [
    ]
  },
  "UsePermissions": [
  ],
  "DefinePermissions": {
  },
  "Profile": "/Volumes/dev/zijie/appshark-opensource/out/vuln/3-profiler.json"
}

Licença

AppShark está licenciado sob a APACHE LICENSE, VERSION 2.0

Aviso de Segurança

UI/Server é uma ferramenta auxiliar de teste que não deve ser usada em ambientes de produção e só pode ser implantada para testes locais.

Fale Conosco

Lark

Baixar ferramenta