mito’s blog

IT技術メインの雑記。思い立ったが吉日。

[Veracode] VScodeのVeracodeプラグインで静的解析を試す

はじめに

VScodeのVeracodeプラグインで静的解析を試します。
このVeracodeプラグインを使用すると、例えばファイル保存時に自動でスキャンし、コードのセキュリティ上の欠陥を検出してくれます。つまり、セキュアコーディングを実践しやすくなります。



ただし、VScodeのVeracodeプラグインEclipseIntelliJの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.クレデンシャルファイルを作成します。

  • ユーザディレクトリ配下に「.veracode」ディレクトリを作成します。
  • 「.veracode」配下に「credentials」ファイルを作成します。
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プラグインをインストールします。

  • 拡張機能より、「Veracode for VS Code」をインストールします。
    • Veracodeのみで検索する場合は、提供元がVeracodeであることを確認してください。


サンプルコードのスキャン結果

  • 自動スキャンのほか、右クリックメニュー「Scan with Greenlight」でもスキャンできます。
  • 検出された脆弱性は、InformationalからVery High Severityまでの6段階に分類されます。
  • 該当するソースや何故検知したかの理由も表示されます。


その他

なお、EclipseのVeracode Greenlightプラグインは以下をスキャンできます。

Javaプロジェクトで正しくコンパイルされるJavaファイルおよびパッケージ。
・次のファイルタイプに埋め込まれたJavaScriptASPCSS、EHTML、ES、ES6、HANDLEBARS、HBS、HJS、HTM、HTML、JS、JSX、JSONJSP、MAP、MUSTACHE、PHP、TS、TSXXHTML
Java Server Page(JSP)ファイルおよびJSPファイルを含むフォルダー。
・縮小されていない1JavaScriptファイルおよびJavaScript プロジェクトのJavaScriptファイルを含むフォルダー。