문제

오픈 소스 Java 웹 응용 프로그램의 보안을 테스트하기 위해 학교의 연구 프로젝트에 Fortify 소스 코드 분석기를 사용하려고합니다. 저는 현재 Apache Lenya에서 일하고 있습니다. 나는 마지막 안정 릴리스 (Lenya v2.0.2)와 함께 일하고 있습니다.

루트 디렉토리 안에는 파일이 이름이 있습니다 build.sh. 이 파일은 ( tools/bin 폴더). 내가 달릴 때 레니아를 잘 만들 수 있습니다 ./build.sh. 따라서 다음 명령을 Fortify에서 실행하는 것이 효과가 있다고 가정 할 것입니다.

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

그러나 내가 시도하고 달릴 때 :

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

나는 얻다:

ID Lenya를 찾을 수 없습니다.

나는 보았다 buid.sh 파일은 현재 개미 홈, 클래스 경로 및 개미 옵션 변수를 재설정하고 개미 빌드 명령을 실행하고 값을 기본값으로 재설정하고 있음을 알았습니다. 따라서 스크립트를 실행하는 대신 모든 변수를 수동으로 (스크립트없이) 재설정하고 다음과 같습니다.

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

그런 다음 나는 달렸다 :

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

그러나 나는 같은 오류를 얻었습니다. 나는 이것이 내가 뭔가 잘못하고 있기 때문에 또는 그것이 요새가 올바르게하지 않는 것인지 확실하지 않습니다. 모든 통찰력은 좋을 것입니다.

도움이 되었습니까?

해결책

요새 문서에 액세스 할 수 있는지 확실하지 않지만 확실히 도움이 될 것입니다. Sourceanalyzer 실행 파일 사용 방법을 이해하려면 SCA 사용자 안내서를 참조해야합니다.

짧게 줄이려면 FPR 파일을 얻는 두 가지 방법이 있습니다.

  1. (먼 길) 소스 코드의 경로와 Sourceanalyzer 실행 가능에 대한 클래스 경로를 제공하여 소스 코드를 번역하고 분석하는 스크립트를 작성하십시오.
  2. (짧은 길) Javac 대신 컴파일러를 컴파일러로 사용하십시오. 이를 위해 빌드 스크립트를 수정해야합니다.

대형 코드베이스를 처리 할 때 사용자 정의 가능성으로 인해 전자를 선호합니다.

추신 : 이것은 어떤 버전의 fortify입니까?

다른 팁

터치리스 명령, 즉 C/C ++ 통합 용을 사용하지 마십시오. Lenya는 Java로 작성되었으므로 다른 명령을 사용하는 것이 좋습니다. 첫 번째 번역 단계 (베이스 Lenya Dir에서 실행)를 위해 이것을 시도하십시오.

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

사용한 명령은 실제로 Java 빌드와 함께 작동 할 수 있지만 몇 가지 제한 사항이 있다는 점을 제외하고. T

Build.sh 스크립트에 Javac에 대한 자격을 갖춘 참조 (예 :/usr/java/bin/javac)가 포함 된 경우 터치리스 빌드 통합은 작동하지 않습니다.

user233276의 지침이 가장 광범위하게 유용합니다. Fortify SCA 빌드 통합을 실험하려면이 기술이 Build.sh (참조)를 수정하는 것이 좋습니다. http://svn.apache.org/viewvc/lenya/trunk/build.sh?view=markup&pathrev=400414)) 및 라인 43 변경 :

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

에게:

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

세 가지 유형의 개미 통합에 대한 Fortify SCA 사용자 안내서를 참조하십시오.

  1. build.compiler 속성을 무시합니다.

    ant -lib sourceanalyzer.jar {fortify ant 옵션} {ant 옵션}

  2. 위의 바로 가기 :

    sourceanalyzer -b {fortify 옵션} ant {ant 옵션}

  3. 또는 부록에 표시된대로 사용자 정의 build.xml을 만드는 경우 :

    ant -lib sourceanalyzer.jar {ant 옵션}

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top