はじめに
VScodeのVeracodeプラグインで静的解析を試します。
このVeracodeプラグインを使用すると、例えばファイル保存時に自動でスキャンし、コードのセキュリティ上の欠陥を検出してくれます。つまり、セキュアコーディングを実践しやすくなります。
- Veracodeとは
- ソースコードの静的解析やアプリケーションに対する動的解析をクラウド上で行います。
- Webアプリケーションファイアウォール(WAF)と組み合わせることで、より堅牢なセキュリティになるかと思います。
- Veracode for VS Code
- Veracode for VS Code - Visual Studio Marketplace
ただし、VScodeのVeracodeプラグインはEclipseやIntelliJのVeracodeプラグインと比べてスキャンできる言語が少なく、今はJavaScript、TypeScript、C#のみのようです。今後増えるといいですね。
必要なもの
VScodeやVeracodeプラグインのほか、Veracode Platformのアカウントが必要です。
導入手順(Windows)
1. Veracode PlatformでAPI IDとSecretKeyを作成します。
- Veracode Platformにログインします。
- 左サイドメニュー「API Credentials」をクリックします。
- 「Generate API Credentials」をクリックします。
- IDとSecretKeyをコピーします。
2.クレデンシャルファイルを作成します。
PS C:\Users\xxx\.veracode> cat credentials [default] veracode_api_key_id = 【ID】 veracode_api_key_secret = 【SecretKey】 PS C:\Users\xxx\.veracode>
3.Veracode for VS Codeプラグインをインストールします。
サンプルコードのスキャン結果
- 自動スキャンのほか、右クリックメニュー「Scan with Greenlight」でもスキャンできます。
- 検出された脆弱性は、InformationalからVery High Severityまでの6段階に分類されます。
- 該当するソースや何故検知したかの理由も表示されます。
その他
なお、EclipseのVeracode Greenlightプラグインは以下をスキャンできます。
・Javaプロジェクトで正しくコンパイルされるJavaファイルおよびパッケージ。
・次のファイルタイプに埋め込まれたJavaScript:ASP、CSS、EHTML、ES、ES6、HANDLEBARS、HBS、HJS、HTM、HTML、JS、JSX、JSON、JSP、MAP、MUSTACHE、PHP、TS、TSX、XHTML。
・Java Server Page(JSP)ファイルおよびJSPファイルを含むフォルダー。
・縮小されていない1JavaScriptファイルおよびJavaScript プロジェクトのJavaScriptファイルを含むフォルダー。