4

学校の研究プロジェクトで Fortify Source Code Analyzer を使用して、オープン ソース Java Web アプリケーションのセキュリティをテストしようとしています。現在、Apache Lenya に取り組んでいます。私は最後の安定版リリース (Lenya v2.0.2) を使用しています。

ルート ディレクトリ内には、build.sh. tools/binこのファイルは、リリース (フォルダー内)に同梱されている Ant のバージョンを使用して Lenya をビルドするために呼び出されます。を実行すると、問題なく Lenya をビルドできます./build.sh。したがって、Fortify で次のコマンドを実行すると機能すると想定されます。

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

ただし、実行しようとすると:

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

私は得る:

ビルド ID Lenya が見つかりません。

buid.shファイルを調べたところ、現在の ant ホーム、クラスパス、および ant オプション変数をリセットし、ant ビルド コマンドを実行し、値をデフォルトにリセットしているだけであることがわかりました。そのため、スクリプトを実行して実行する代わりに、すべての変数を手動で (スクリプトを使用せずに) リセットしました。

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

それから私は走った:

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

しかし、同じエラーが発生しました。これが私が何か間違ったことをしているからなのか、それとも Fortify が正しく実行していないためなのかはわかりません。どんな洞察も素晴らしいでしょう。

4

3 に答える 3

2

Fortify のドキュメントにアクセスできるかどうかはわかりませんが、間違いなく役に立ちます。sourceanalyzer 実行可能ファイルの使用方法を理解するには、SCA ユーザーズ ガイドを参照してください。

簡単に言うと、FPR ファイルを取得するには 2 つの方法があります。

  1. (長い道のり) ソース コードのパスと sourceanalyzer 実行可能ファイルへのクラスパスを指定して、ソース コードを変換および分析するスクリプトを記述します。
  2. (近道) javac の代わりに SCACompiler をコンパイラとして使用します。これには、ビルド スクリプトを変更する必要があります。

大規模なコード ベースを処理する場合は、カスタマイズ可能であるため、前者を好みます。

PS: これは Fortify のどのバージョンですか?

于 2009-07-21T21:00:09.210 に答える
1

C /C++統合用のtouchlessコマンドは使用しないでください。LenyaはJavaで記述されているため、他のコマンドを使用したほうがよいでしょう。最初の翻訳ステップでこれを試してください(ベースのlenya dirから実行します):

sourceanalyzer -b lenya -Xmx1200M -source 1.5 -cp "**/*.jar" "**/*"
于 2009-12-16T20:53:34.087 に答える
0

実際に使用したコマンドは、いくつかの制限があることを除いて、Java ビルドで動作します。タッチレス ビルド ラッパーを使用すると、javac などの多くのコンパイラ ラッパーが作成され、ラッパーが PATH 環境変数の前に配置されます。

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 $@

3 種類の ant 統合については、Fortify SCA ユーザー ガイドを参照してください。

  1. build.compiler プロパティをオーバーライドします。

    ant -lib sourceanalyzer.jar {ant オプションの強化} {ant オプション}

  2. 上記へのショートカット:

    sourceanalyzer -b {Fortify オプション} ant {ant オプション}

  3. または、付録に示すようにカスタム build.xml を作成する場合:

    ant -lib sourceanalyzer.jar {ant オプション}

于 2010-11-21T23:23:33.140 に答える