Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
appshark — Plateforme d'analyse statique de flux (taint analysis) pour applications Android qui détecte les vulnérabilités et les problèmes de conformité à l'aide d'une analyse personnalisable basée sur des règles et d'un rapport détaillé des résultats. | Kitploit
Outils/GitHubGitHub/bytedance/appshark
Sécurité AndroidAnalyse StatiqueAnalyse des VulnérabilitésAnalyse de Code
GitHubbytedance/appshark

appshark

Plateforme d'analyse statique de flux (taint analysis) pour applications Android qui détecte les vulnérabilités et les problèmes de conformité à l'aide d'une analyse personnalisable basée sur des règles et d'un rapport détaillé des résultats.

Voir le dépôt
1.8k179il y a 5 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Index des documents

  • 1.aperçu
  • 2.démarrage
  • 3.comment écrire des règles
  • 4.comment trouver des problèmes de conformité avec appshark
  • 5.un jeu de traversée de chemin
  • 6.argument
  • 7.configuration du moteur
  • 8.résultat
  • 9.faq

AppShark

Appshark est une plateforme d'analyse statique de flux de données pour détecter des vulnérabilités dans une application Android.

Prérequis

Appshark nécessite une version spécifique du JDK -- JDK 11. Après des tests, il ne fonctionne pas sur d'autres versions LTS, JDK 8 et JDK 16, en raison de problèmes de compatibilité des dépendances.

Construction/Compilation d'AppShark

Nous supposons que vous travaillez dans le répertoire racine du dépôt du projet. Vous pouvez construire l'ensemble du projet avec l'outil gradle.

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

Après avoir exécuté la commande ci-dessus, vous verrez un fichier artefact AppShark-0.1.2-all.jar dans le répertoire build/libs.

Exécution d'AppShark

Comme à l'étape précédente, nous supposons que vous êtes toujours dans le dossier racine du projet. Vous pouvez exécuter l'outil avec

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

Le fichier config.json5 contient les éléments de configuration suivants.

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

Chaque JSON possède ces champs de base.

  • apkPath : le chemin du fichier apk à analyser
  • out : le chemin du répertoire de sortie
  • rules : spécifie les règles, séparées par ,. Par défaut, tous les fichiers *.json dans le répertoire $rulePath
  • rulePath : spécifie le répertoire parent des règles, par défaut ./config/rules
  • maxPointerAnalyzeTime : la durée maximale en secondes définie pour l'analyse démarrée à partir d'un point d'entrée
  • debugRule : spécifie le nom de la règle qui active la journalisation pour le débogage

Pour plus de champs de configuration, veuillez visiter net.bytedance.security.app.ArgumentConfig

Si vous fournissez un fichier JSON de configuration qui définit le chemin de sortie comme out dans le répertoire racine du projet, vous trouverez le fichier de résultat out/results.json après l'exécution de l'analyse.

Interprétation des résultats

Voici un exemple du fichier 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"
}

Licence

AppShark est sous licence APACHE LICENSE, VERSION 2.0

Avis de sécurité

UI/Server est un outil de test auxiliaire qui ne doit pas être utilisé dans des environnements de production et ne peut être déployé que pour des tests locaux.

Contactez-nous

Lark

Télécharger l’outil