2010-10-13 10 views
12

Est-ce que quelqu'un a utilisé la ligne de commande pour fortifier? J'essaie d'incorporer fortify exécuter dans ma construction CI et je ne sais pas comment le faire. Faites-nous savoir si vous ne voyez pas la commande de construction appropriée dans le texte d'aide.Fortifier l'utilisation de la ligne de commande

+1

Je pense que je eu le point de départ pour utiliser sourcecodeanalyzer -h pour l'aide avec la ligne de commande. – alice7

Répondre

2

99% des invocations du monde réel sont là. Selon le type de code source que vous essayez de créer, il existe des dizaines de commutateurs de ligne de commande différents et des techniques à utiliser.

Je vous recommande de commencer par obtenir le Guide de l'utilisateur SCA. C'est un document PDF que vous pouvez obtenir auprès de quiconque vous a fourni l'installateur de Fortify.

3

Fortify dispose d'un outil d'analyse de code statique, sourceanalyzer. Cet outil est basé sur une ligne de commande et, en tant que tel, devrait être quelque chose que vous pourriez intégrer dans un système CI.

Comme mentionné ci-dessus, vous pouvez utiliser l'option d'aide ou consulter la documentation/guide de l'utilisateur (nommé: Guide de l'utilisateur de l'analyseur de code statique HP Fortify) qui couvre de nombreuses langues et options.

Un point que vous devez peut-être prendre en compte est la vitesse et l'utilisation des ressources pour effectuer une telle analyse dans un scénario de CI. Vous devrez peut-être envisager de le faire pendant la nuit ou pendant les heures creuses. La documentation indique que l'outil utilise une quantité décente de mémoire.

Vous devrez peut-être également déterminer comment traiter le fichier fpr de sortie produit par l'outil sourceanalyzer. Par exemple, vous pouvez en faire un artefact dans Team City et le télécharger manuellement sur un serveur Fortify ou l'utiliser avec le produit Fortify workbench. J'imagine que vous pourriez aussi avoir envie et automatiser le téléchargement dans le serveur Fortify.

3

Les commandes pour un scan typique ressembleraient à ceci.

  1. construit le code à l'aide

sourceanalyzer -b <build ID> <sourcecode>

  1. balaye la construction avec

sourceanalyzer -b <build ID> -scan -f <test>.fpr

  1. (Si vous utilisez un serveur 360) télécharge le résultat fortifient serveur avec

fortifyclient uploadFPR -f <test>.fpr -project <projectname> -version <versionname> -urlhttps://fortify.com/f360 -user <username> -password <password> /// <authtoken>

Cependant, je demande l'aide des étiquettes construction. Lorsque nous invoquons SCA, nous pouvons lui attribuer une étiquette de construction. Cependant, je ne suis pas sûr des options à fournir aux commandes.

sourceanalyzer -b testid codebase -build-label <option>

Si quelqu'un sait le format de la s'il vous plaît ne laissez-moi savoir.

+0

Lorsque vous utilisez label -build vous devez fournir un nom d'étiquette, donc dans votre exemple: 'Sourceanalyzer -b testid codebase -build label MyLabel' Ensuite, connectez-vous sur le serveur Security Center Software Fortify (SSC) , double-cliquez sur la version de votre projet, cliquez sur Artefacts, cliquez sur l'un des résultats de l'analyse et vous devriez voir les détails sur le résultat. Dans ces détails, vous verrez "Construire l'étiquette". – AspiringTFSGuru

12

Puisque je ne peux pas ajouter un commentaire, je vais devoir offrir ceci comme réponse. Notre société a intégré le processus de numérisation dans notre environnement de construction TFS et cela fonctionne plutôt bien.Nous utilisons une série d'activités de construction "Invoke Process" pour que cela se produise. La séquence d'analyse de sécurité entière est enveloppée dans un conditionnel qui est exposé en tant qu'argument à la définition de génération. Cela nous permet d'activer ou de désactiver les analyses au besoin. Nous exposons également quelques autres choses comme Fortify Project, Fortify Project Version, et un autre conditionnel pour le téléchargement du fichier FPR.

L'essentiel de c'est ceci:

Clean

sourceanalyzer -b "Build ID" -clean

Construire

sourceanalyzer -b "Build ID" devenv BuildID.sln /Rebuild Debug /out "C:\SSCLogs\SSCBuild.log"

balayage

sourceanalyzer -b "Build ID" -scan -format fpr -f BuildID.fpr

Télécharger SSC

fortifyclient.bat -url SSCServerUrl -authtoken XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX uploadFPR -file BuildID.fpr -project "MyProject" -version "MyProject v1.0.0"

Si vous souhaitez un aperçu complet et/ou des captures d'écran, je serais heureux de vous fournir quelque chose pour vous.

2

Très bonnes réponses ici, je voudrais ajouter que vous pouvez ajouter la journalisation tout en numérisant ce très utile.

SCAN Logging

sourceanalyzer -b "Build ID" -scan -format fpr -f BuildID.fpr debug verbose -logfile "C: \ logfile.txt"