Pregunta

Estoy tratando de utilizar Fortify Source Code Analyzer para un proyecto de investigación en mi escuela para poner a prueba la seguridad de código abierto de aplicaciones web Java. Actualmente estoy trabajando en Apache Lenya. Estoy trabajando con la última versión estable (Lenya v2.0.2).

En el interior del directorio raíz existe un archivo llamado build.sh . Este archivo se llama construir Lenya utilizando la versión de hormiga que se incluye con la liberación (en la carpeta tools/bin). Puedo construir Lenya bien cuando corro ./build.sh. Por lo tanto, se supone que la ejecución del siguiente comando en Fortify funcionaría:

sourceanalyzer -b lenya -Xmx1200M touchless ./build.sh

Sin embargo, cuando intento y ejecute:

sourceanayzer -b lenya -Xmx1200M -scan -f lenya.fpr

Me sale:

  

Identificación del Lenya acumulación no encontrado.

Miré el archivo buid.sh y se dio cuenta de que sólo estaba restableciendo la actual casa de la hormiga, ruta de clase, y las opciones de hormigas variables, que ejecutan el comando de generación Ant y restablecer los valores de vuelta a su predeterminados. Así se restablece todas las variables manualmente (sin el guión) en lugar de ejecutar el script y corrí:

sourceanalyzer -b lenya -Xmx1200M touchless tools/bin/ant -logger org.apache.tools.ant.NoBannerLogger

Entonces me encontré:

sourceanalyzer -b lenya -Xmx1200M -scan -f lenya.fpr

pero tengo el mismo error. No estoy seguro de si esto se debe a que estoy haciendo algo mal o si es algo que fortalecen no está haciendo correctamente. Cualquier idea será grande.

¿Fue útil?

Solución

No estoy seguro de si tiene acceso a la documentación Fortify, pero que sin duda ayudará. Debe referirse a la Guía del usuario SCA a entender cómo usar el ejecutable sourceanalyzer.

Para cortar las cosas a corto, hay dos maneras de conseguir el archivo FPR:

  1. (El largo camino) Escribir un guión para traducir y analizar el código fuente, proporcionando la ruta de acceso del código fuente y la ruta de clase al ejecutable sourceanalyzer.
  2. (La forma corta) Utilice el SCACompiler en lugar de javac como el compilador. Tendrá que modificar el script de construcción de este.

Yo prefiero la primera debido a su capacidad de personalización cuando el manejo de grandes bases de código.

PS: ¿Qué versión de Fortify es esto

Otros consejos

No utilice el comando sin contacto, es decir para C / C ++ Integración. Desde Lenya está escrito en Java, que está mejor con otros comandos. Pruebe esto para su primer paso de la traducción (ejecutar desde su base dir Lenya):

sourceanalyzer -b lenya -Xmx1200M -source 1.5 -cp "**/*.jar" "**/*"

El comando que utilizó en realidad podría trabajar con Java construye, excepto que tiene algunas limitaciones. El uso de la envoltura de construcción sin contacto crea una serie de envoltorios de compilador, por ejemplo, para javac, y pone los envoltorios en la parte delantera de la variable de entorno PATH.

Si su script build.sh contiene referencias completas a javac, por ejemplo / usr / java / bin / javac, entonces la integración acumulación sin contacto no funcionará.

instrucciones del user233276 son los más ampliamente útil. Si desea experimentar con Fortify SCA construir la integración, sugeriría la técnica sería modificar build.sh (ver http://svn.apache.org/viewvc/lenya/trunk/build.sh?view=markup&pathrev=400414 ) y cambio de línea 43 a partir de:

"$ANT_HOME/bin/ant" -logger org.apache.tools.ant.NoBannerLogger -emacs $@

a:

sourceanalyzer -b Lenya "$ANT_HOME/bin/ant" -logger org.apache.tools.ant.NoBannerLogger -emacs $@

Consulte la Guía del usuario de Fortify SCA para los tres tipos de integración de hormigas:

  1. Anular la propiedad build.compiler:

    ant -lib sourceanalyzer.jar {Fortifique opciones de hormigas} {opciones} hormiga

  2. acceso directo a la anterior:

    sourceanalyzer -b {Fortifique opciones} {opciones} hormiga hormiga

  3. O, si usted hace un build.xml personalizado como se muestra en el apéndice:

    ant -lib sourceanalyzer.jar {opciones} hormiga

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top