私は最近TeamCityで多くの時間を費やしてきましたが、Dupe Finder、FxCop、NDependからの毎晩のコード品質メトリックは素晴らしいものでした。
私が本当にやりたいことは、自動的に展開されたサイトに対して実行できるまともなWebアプリセキュリティスキャナーを見つけることです(私は夜間にビルドを実行し、テスト環境に展開しています)。まともなツールがあれば、静的分析も検討します。唯一の実際の前提条件は、無人で実行できる必要があり、TeamCityで表示できるようにHTML形式でレポートを出力する必要があることです。
スキャナーをビルドサーバーと統合した経験、または条件を満たすツールの提案はありますか?
たぶん、あなたはNetsparkerを試してみる必要があります: http://www.mavitunasecurity.com/netsparker/ 。自動化されたスキャン、レポート生成、ログ記録があります。 CLIを提供します。
トロイ、
NetsparkerとTeamCityの統合など、あなたの仕事を見てきました。私はコメントし、ヘッドレスモードのBurp Suite Professionalがより適切かもしれないと述べましたが、この方法で完全に自動化されたテストでは、いくつかのバグしか見つかりません。これは古典的なテスト自動化の問題です。
ただし、望ましくない(つまり脆弱な)HTTP応答を生成する既知のHTTPリクエストがある場合は、結果の右下にあるW3AFのエクスポートリクエスト機能を使用できます。 down]-> Request-> [下部のボタン]。これにより、HTTPリクエストをテストケースに変換できる新しいウィンドウが開きます。テストケースは、HTML、Ajax、Python、Rubyで利用できます。
ビルドサーバー環境によっては、これらのスクリプトの統合方法が異なる場合があります。 FitNesseで利用可能なHtmlFixtureは、HTMLまたはAjaxリクエストスクリプトの良い候補です。 Pythonでは、おそらくNoseが適切でしょう。 Rubyにはキュウリがあります。
「Security on Rails」という本には、このトピックに特化した章全体が含まれており、テストを論理的にユニット、機能、統合、およびブラウザーに分けています。
OWASPのO2プロジェクトには、「API /スクリプト開発」の下にユニットオプションがあり、ユニットテストを実行および記述します。これらの単体テストはWatiNで書かれていますが、テスト開発者のために多くの作業がすでに行われています。
自分で非常に強力なものを開発したい場合は、 Geb を参照することをお勧めします。これは、がWebDriverのブラウザー駆動機能を組み合わせているため、インターネットで機能しますExplorer、FireFox、ChromeおよびHTMLUnit)、jQueryに触発されたコンテンツナビゲーション/検査APIおよびGroovyの表現力。
CAT.NETは、ビルドサーバーに統合できる静的分析ツールです。最新バージョンはまだベータ版ですが、詳細は http://blogs.msdn.com/b/securitytools/ で確認できます。