Dépannage des examens conteneurisés

Le dépannage des examens dans AppScan 360° est un peu différent de celui de AppScan on Cloud. Suivez ces instructions pour résoudre les problèmes d'examen dans AppScan 360°.

Le dépannage des examens conteneurisés est d'abord effectué par l'utilisateur, puis, si une résolution n'est pas atteinte, transmis à un administrateur. Le chemin général de dépannage est le suivant :
  1. L'utilisateur examine les messages d'erreur.
  2. L'utilisateur examine les cas d'erreur courants.
  3. Si le problème persiste, l'utilisateur télécharge les journaux d'examen et les transmet à un administrateur.
  4. L'administrateur examine les informations fournies par l'utilisateur.
  5. Si le problème persiste, l'administrateur fait remonter le problème au support HCL.

Utilisateur : Consulter les messages d'erreur

Accédez à la page d'examen correspondant à l'échec de l'examen. Exécutez l'une des opérations suivantes :
  • Sélectionnez Applications > (application) > Afficher tous les examens > (nom de l'examen), ou,
  • Sélectionnez Examens > (nom de l'examen)
Consultez les messages d'erreur affichés sur la page d'examen. Les cas d'erreur courants sont évoqués ci-dessous.

Utilisateur : Examiner les cas d'erreur courants

Les erreurs les plus courantes sont :

OpenSource

Error: Scan failed. Your subscription does not allow for Open Source scans. Please contact your sales representative for information regarding activating “Open Source” scanning. If you need further assistance, please reach out to our Technical Support team

Vous avez essayé d'examiner des fichiers Open Source. AppScan 360° ne prend pas en charge la numérisation open source.

Si vous avez téléchargé un fichier ZIP pour l'examen, vérifiez le contenu du fichier ZIP.

  • Si le fichier ZIP ne contient que des fichiers Open Source, téléchargez un fichier ZIP contenant des fichiers non Open Source et essayez d'exécuter à nouveau l'examen.
  • Si le fichier ZIP contient un fichier de configuration appscan-config.xml, vérifiez les propriétés répertoriées dans le fichier. AppScan 360° ne prend pas en charge la propriété openSourceOnly. Si openSourceOnly="true" est répertorié, supprimez cette propriété et essayez d'exécuter à nouveau l'examen.
    Remarque : Passez en revue les propriétés prises en charge pour appscan-config.xml ici.
Si vous avez chargé un fichier IRX :
  1. Réexécutez appscan prepare, en confirmant que les fichiers cibles ne sont pas des fichiers Open Source et que le paramètre openSourceOnly n'est pas utilisé.
    Remarque : Passez en revue les paramètres pris en charge pour appscan prepare ici.
  2. Si le problème persiste, téléchargez les journaux d'examen et transmettez-les à un administrateur.

Aucun IPVA/IRX corrompu

Error: We are unable to complete the scan successfully. The scan failed since the IRX was not created properly. It could possibly be due to an incorrect configuration or missing dependencies. If you need additional assistance, please reach out to our Technical Support team.

Une erreur s'est produite lors de l'étape de génération de fichiers IRX de l'examen.

Si vous avez chargé un fichier IRX :

  • Si vous avez accès à l'emplacement à partir duquel appscan prepare a été exécuté, recherchez les erreurs dans le logs.zip fichier créé au cours de ce processus.
  • Recherchez les erreurs dans le fichier SAClientUtil/logs/client.log.
  • Pour une enquête IRX plus approfondie, faites remonter à un administrateur.

Si vous avez téléchargé un fichier ZIP, téléchargez le journal d'examen et transmettez-le à un administrateur.

Erreur inconnue

Error. An unknown error occurred.

Plusieurs possibilités sont à examiner. Téléchargez le journal d'examen et transmettez-le à un administrateur d'examen pour une enquête plus approfondie.

Utilisateur : Téléchargez le journal d'examen et transmettez-le à un administrateur

Pour télécharger le journal d'examen :
  1. Sur la page d'examen (Applications > Application > Afficher tous les examens > (nom de l'examen) ou Examens > (nom de l'examen)), copiez l'ID d'exécution répertorié sous Détails de l'examen.
  2. Dans le coin supérieur droit de la page d'examen, sélectionnez Gérer l'examen > Télécharger le journal.

    AppScan 360° télécharge un fichier ZIP sur votre système local. Notez l'emplacement du téléchargement.

  3. Extrayez le contenu du fichier ZIP.
  4. Ouvrez le fichier service.log.

    A partir de ce fichier, vous devriez être en mesure de déterminer l'étape au cours de laquelle l'erreur a été déclenchée.

    Exemple :
    Request received to perform scan for execution-id 4277b41a-18ad-44ad-81c9-9542e7af83d7.
    Initiated fetch scan data request with scan-id e7330058-c743-41af-8914-95eb30554d78.
    Downloaded scan data successfully.
    Request received to perform scan.
    Initiated prepare request with scan-id e7330058-c743-41af-8914-95eb30554d78.
    Received prepare (PERFORM_PREPARE) request with scan-id e7330058-c743-41af-8914-95eb30554d78 by preparer-6d7c4c9c58-c4kgq.
    Execution completed with exit code -1.
    Request received to publish status to server for scan-id e7330058-c743-41af-8914-95eb30554d78. (Failed: Execution completed with exit code -1.)

    Dans cet exemple, l'erreur a été déclenchée pendant l'étape PERFORM_PREPARE. Puisque l'échec s'est produit au cours de l'étape prepare, examinez le pod du preparer.

Pour faire remonter le problème à l'administrateur d'examen pour un dépannage plus approfondi, rassemblez les informations suivantes, dont certaines sont disponibles dans le fichier service.log :
  • ID d'exécution

    Dans l’exemple service.log ci-dessus, execution-id 4277b41a-18ad-44ad-81c9-9542e7af83d7.

  • ID de l'examen

    Dans l’exemple service.log ci-dessus, scan-id e7330058-c743-41af-8914-95eb30554d78.

  • ID de pod du preparer, le cas échéant

    Dans l’exemple service.log ci-dessus, preparer-6d7c4c9c58-c4kgq.

  • ID de pod de l'analyseur, le cas échéant
  • Toute erreur signalée sur la page d'examen dans AppScan 360° ou dans service.log.
  • Fichier ZIP du journal.
  • Détails sur l'application/le projet en cours d'examen.

Administrateur d'examen : Examinez les informations fournies par l'utilisateur

Accéder aux journaux d'examen

Pour accéder aux journaux d'examen :

  1. Ouvrez votre page Swagger.
  2. En haut à droite, sélectionnez Service d'examen > Service de gestion d'examen.
  3. Cliquez sur Authorize.
  4. Saisissez le secret Plateforme centrale AppScan que vous avez transmis lors du déploiement (--auth-token flag) et cliquez sur Autoriser.
  5. Cliquez sur Essayer.
  6. Collez l'ID d'examen dans la zone de texte et cliquez sur Exécuter.

    Si vous ne connaissez pas l'ID d'examen, il se trouve dans le fichier service.log téléchargé à partir de la page d'examen.

  7. Dans le corps de la réponse, cliquez sur le lien Télécharger les journaux.

    Ceci télécharge un fichier ZIP contenant plusieurs fichiers journaux sur votre machine locale. Notez l'emplacement du fichier téléchargé.

  8. Extrayez et recherchez les erreurs dans les journaux suivants :
    • prepare.log
    • StaticAnalyzer-Errors.log
    • SASTAgent.log
  9. Résolvez les erreurs et essayez d'exécuter à nouveau l'examen.

Examinez une IRX avec une erreur d'absence d'IPVA/d'IRX corrompue

  1. Ouvrez votre page Swagger.
  2. En haut à droite, sélectionnez Service d'examen > Service de gestion d'examen.
  3. Cliquez sur Authorize.
  4. Saisissez le secret Plateforme centrale AppScan que vous avez transmis lors du déploiement (--auth-token flag) et cliquez sur Autoriser.
  5. Faites défiler jusqu'à Télécharger un fichier IRX et cliquez sur Essayer.
  6. Saisissez l'ID d'examen et cliquez sur Exécuter.

    Cela télécharge le fichier IRX sur votre machine locale. Notez l'emplacement du fichier téléchargé.

  7. À l'aide de 7-ZIP ou d'un outil similaire, cliquez avec le bouton droit de la souris sur le fichier IRX et cliquez sur Ouvrir l'archive.

  8. Cliquez deux fois sur internal.scan pour l'ouvrir.

  9. Cherchez les erreurs dans le fichier .log à la racine ainsi que les journaux dans le dossier journaux.
  10. Résolvez les erreurs et essayez d'exécuter à nouveau l'examen.

Examen d'une IRX avec une erreur open source

Remarque : AppScan 360° ne prend pas en charge la numérisation open source.
Si l'examen a échoué avec l'erreur Your subscription does not allow for Open Source scans. et que vous avez téléchargé un IRX pour l'examen, vérifiez les erreurs dans le fichier IRX :
  1. Ouvrez votre page Swagger.
  2. En haut à droite, sélectionnez Service d'examen > Service de gestion d'examen.
  3. Cliquez sur Authorize.
  4. Saisissez le secret Plateforme centrale AppScan que vous avez transmis lors du déploiement (--auth-token flag) et cliquez sur Autoriser.
  5. Faites défiler jusqu'à Télécharger un fichier IRX et cliquez sur Essayer.
  6. Saisissez l'ID d'examen et cliquez sur Exécuter.

    Cela télécharge le fichier IRX sur votre machine locale. Notez l'emplacement du fichier téléchargé.

  7. À l'aide de 7-ZIP ou d'un outil similaire, cliquez avec le bouton droit de la souris sur le fichier IRX et cliquez sur Ouvrir l'archive.

  8. Ouvrez le fichier scan.manifest pour l'examiner.
    Si Total Languages Found = 1 et que la seule entrée de la section Language est Open Source, alors le fichier IRX a été généré pour un examen Open Source uniquement, ou bien vous avez pointé vers un emplacement contenant uniquement des fichiers Open Source :
    • Vérifiez que l'emplacement cible contient des fichiers source non ouverts.

      AppScan 360° ne prend pas en charge la numérisation open source.

    • Vérifiez que vous n'utilisez pas de propriété ou de paramètre non pris en charge dans la commande appscan prepare ou dans le fichier appscan-config.xml. Si openSourceOnly="true" est répertorié, supprimez cette propriété.

      AppScan 360° ne prend pas en charge la propriété openSourceOnly ni dans appscan prepare ni dans appscan-config.xml.

  9. Essayez d'exécuter à nouveau l'examen.

Accès aux journaux des pods pour un examen

Si vous avez besoin de journaux plus détaillés que ceux que le téléchargement Swagger peut fournir, vous pouvez obtenir des journaux à partir des pods eux-mêmes.
  1. Dans votre IDE Kubernetes, téléchargez les journaux pour le pod que vous recherchez.
  2. Dans ce fichier, recherchez la chaîne d'ID d'examen.
    L'étape de préparation ou d'analyse se présente comme suit dans le journal :
    Payload(id= e7330058-c743-41af-8914-95eb30554d78, type=PERFORM_PREPARE,
    Payload(id= e7330058-c743-41af-8914-95eb30554d78, type=PERFORM_ANALYSIS,
    Les commandes de préparation et d'analyse s'exécutent après ces lignes. C'est là que vous devriez voir des erreurs. S’il n’y a aucune indication claire de ce qui n’a pas fonctionné dans ce journal, connectez-vous au pod et enquêtez plus avant.
  3. Connectez-vous au pod et exécutez la commande suivante :
    >: cd ~/data/scans/<scan_id>/logs
  4. Rechercher les erreurs :
    1. Pour les erreurs de préparation, consultez les fichiers prepare.log et SAClientUtil/logs/client.log.

      SAClientUtil/logs/client.log Vous pouvez les trouver dans ~/SAClientUtil.

    2. Pour les erreurs d'analyse, consultez les fichiers StaticAnalyzer-Errors.log et SASTAgent.log.
Remarque : Si le pod est terminé, vous pouvez accéder au journal du pod en utilisant les commandes suivantes à partir d’un pod actif :
>: cd logs/<pod_type>/
>: cat <pod_id>.log

Enquêter sur d'autres cas d'erreur

Types de fichiers Open Source

Problems found during validation. 
The prepare operation found only open source files types. To run opensource only, use the -oso flag. To run security and opensource, include additional supported file types.

Vous avez essayé d'exécuter un examen Open Source uniquement ou un examen tiers, mais l'examen nécessite une configuration supplémentaire.

AppScan 360° ne prend pas en charge les examens Open Source uniquement.

Vérifiez la configuration des examens :
  • Vérifiez que vous n'utilisez pas un paramètre non pris en charge dans la commande appscan prepare. Si openSourceOnly="true" ou -oso est répertorié, supprimez ce paramètre.

    AppScan 360° ne prend pas en charge le paramètre openSourceOnly ou -oso dans appscan prepare.

  • Si vous avez téléchargé un fichier IRX et que vous avez l'intention d'exécuter un examen sur un emplacement contenant uniquement des bibliothèques tierces, activez le balayage tiers. Exécutez l'une des opérations suivantes :
    1. Ajoutez l'indicateur tiers à appscan prepare pour récupérer les bibliothèques tierces et essayez d'exécuter à nouveau l'examen.

      La commande doit ressembler à : appscan prepare -tp.

    2. Ajoutez thirdParty="true" à appscan-config.xml et essayez d'exécuter à nouveau l'examen.

      Vous trouverez un exemple à la section Configuration de la génération de fichiers IRX avec l'interface de ligne de commande

  • Si vous avez téléchargé un fichier ZIP et que vous avez l'intention d'exécuter un examen sur un emplacement contenant uniquement des bibliothèques tierces, activez le balayage tiers :
    • Si vous souhaitez examiner du code tiers, add thirdParty="true" sur appscan-config.xml et essayez de réexécuter l'examen.

Aucun type de fichier connu

No known scan file types were found during discovery. 
Please specify a location that contains .class, .jar, .war, .ear, .dll, .exe, PHP, Ruby, NPM packages, or JavaScript files.

Vous avez essayé d'examiner un emplacement qui ne contient aucun fichier examinable.

Vérifiez que les fichiers de l'emplacement cible sont des types de fichiers valides. Consultez la liste des types de fichiers pris en charge dans Prise en charge des langages de l'analyse statique.

Si vous avez utilisé appscan-config.xml, vérifiez que le chemin cible est un emplacement valide.

Aucun fichier examinable

Problems found during validation. 
No scannable files found. If you are trying to scan third party code, generate the IRX file using the --thirdParty option. If you are trying to scan for open source, generate the IRX using the -oso option. For a list of supported file types, refer to https://help.hcl-software.com/appscan/ASoC/src_language_support.html#src_language_support__table_ylp_rn5_jw.
  • Si vous avez l'intention d'exécuter un examen sur un emplacement contenant uniquement des bibliothèques tierces, vous devez activer le balayage tiers. Exécutez l'une des opérations suivantes :
    1. Ajoutez l'indicateur tiers à appscan prepare pour récupérer les bibliothèques tierces et essayez d'exécuter à nouveau l'examen.

      La commande devrait ressembler à appscan prepare -tp.

    2. Ajoutez thirdParty="true" à appscan-config.xml et essayez d'exécuter à nouveau l'examen.

      Vous trouverez un exemple à la section Configuration de la génération de fichiers IRX avec l'interface de ligne de commande

  • Si vous avez l'intention d'exécuter un examen de flux de données, vérifiez que l'emplacement d'examen cible contient les types de fichiers compilés appropriés pour Java, .NET ou C/C++ puis essayez d'exécuter à nouveau l'examen.

  • Si vous avez l'intention d'exécuter un examen du code source uniquement, vérifiez que l'emplacement cible contient les types de fichiers de code source corrects, puis essayez d'exécuter à nouveau l'examen.
  • Si vous n'aviez pas l'intention d'exécuter un examen du code source uniquement, supprimez l'indicateur –sco de la commande appscan prepare, ou de appscan-config.xml, et essayez d'exécuter à nouveau l'examen.

Administrateur d'examen : Travailler avec le support HCL

Si, après avoir appliqué les conseils de dépannage présentés ici, vous n'êtes toujours pas sûr de la cause de l'échec de l'examen, contactez le support client HCL pour obtenir une aide supplémentaire. Soyez prêt à fournir au support les informations suivantes :
  • ID d'exécution
  • ID de l'examen
  • ID de pod du preparer, le cas échéant
  • ID de pod de l'analyseur, le cas échéant
  • Toute erreur signalée sur la page d'examen dans AppScan 360° ou dans service.log.
  • Fichier ZIP du journal.
  • Détails sur l'application/le projet en cours d'examen.
  • Détails sur les mesures prises pour dépanner et/ou résoudre le problème.
Remarque : Sauvegarde de toutes les informations importantes et des détails de l'examen depuis le pod vers un emplacement sécurisé. Les données du pod sont nettoyées par défaut après 10 jours.