Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
appshark — Piattaforma di analisi statica del flusso di dati (taint) per app Android che rileva vulnerabilità e problemi di conformità utilizzando scansioni basate su regole personalizzabili e reporting dettagliato dei risultati. | Kitploit
Strumenti/GitHubGitHub/bytedance/appshark
Sicurezza AndroidAnalisi StaticaAnalisi delle VulnerabilitàAnalisi del Codice
GitHubbytedance/appshark

appshark

Piattaforma di analisi statica del flusso di dati (taint) per app Android che rileva vulnerabilità e problemi di conformità utilizzando scansioni basate su regole personalizzabili e reporting dettagliato dei risultati.

Vedi Repository
1.8k1795 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Indice dei Documenti

  • 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 è una piattaforma di analisi statica di taint per scansionare vulnerabilità in un'app Android.

Prerequisiti

Appshark richiede una versione specifica di JDK – JDK 11. Dopo i test, non funziona su altre versioni LTS, JDK 8 e JDK 16, a causa di problemi di compatibilità delle dipendenze.

Compilazione di AppShark

Supponiamo che tu stia lavorando nella directory principale del repository del progetto. Puoi compilare l'intero progetto con lo strumento gradle.

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

Dopo aver eseguito il comando sopra, vedrai un file artefatto AppShark-0.1.2-all.jar nella directory build/libs.

Esecuzione di AppShark

Come nel passaggio precedente, supponiamo che tu sia ancora nella cartella principale del progetto. Puoi eseguire lo strumento con

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

Il file config.json5 ha il seguente contenuto di configurazione.

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

Ogni JSON ha questi campi di base.

  • apkPath: il percorso del file apk da analizzare
  • out: il percorso della directory di output
  • rules: specifica le regole, separate da ,. Il valore predefinito è tutti i file *.json nella directory $rulePath
  • rulePath: specifica la directory principale delle regole, il valore predefinito è ./config/rules
  • maxPointerAnalyzeTime: il timeout in secondi impostato per l'analisi avviata da un punto di ingresso
  • debugRule: specifica il nome della regola che abilita la registrazione per il debug

Per ulteriori campi di configurazione, visita net.bytedance.security.app.ArgumentConfig

Se fornisci un file JSON di configurazione che imposta il percorso di output come out nella directory principale del progetto, troverai il file dei risultati out/results.json dopo aver eseguito l'analisi.

Interpretazione dei Risultati

Di seguito è riportato un esempio di 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"
}

Licenza

AppShark è concesso in licenza sotto APACHE LICENSE, VERSION 2.0

Avviso di Sicurezza

L'interfaccia utente/Server è uno strumento di test ausiliario che non deve essere utilizzato in ambienti di produzione e può essere distribuito solo per test locali.

Contattaci

Lark

Scarica lo strumento