Snyk Code CLIのパブリックベータ版が利用可能に
Frank Fischer
2021年9月21日
0 分で読めますSnykは、DevOpsパイプライン全体で開発者が活用できる静的アプリケーションセキュリティテスト(SAST)ツールの実現を目指しています。Snyk Codeは高精度なリアルタイムスキャンを、開発者がすでに使用しているツールやワークフローから実行できます。たとえば、IntelliJ、PyCharm、WebStorm、Visual Studio Code向けのIDEプラグインを使えば、コードがバージョン管理に登録される前に、簡単にコーディング、スキャン、修正を行えます。また、WebベースのUIを使って、レガシーコードのスキャンやコードレビューを実施することもできます。
さらに、Snyk Codeがパブリックベータ版としてSnykコマンドラインインターフェース(Snyk CLI)に対応したことをお知らせします。これにより、Snyk CodeをCI/CDプロセスに簡単に組み込み、スキャンの実行や結果の処理を柔軟に自動化できます。
Snykは、Snykプラットフォームのあらゆる機能を操作するためのCLIを提供しています。Snyk Codeによって、既存のCLIの機能が拡張されます。この記事では、まず使い始めるための手順をご紹介します。詳しく知りたい方は、Snyk Code CLIのドキュメントをご覧ください。
念のためお知らせすると、CLIのサポートは現在ベータ版です。ぜひお試しいただき、より良いものにするためにフィードバックをお寄せください。
Snyk CLIのインストールと設定
Snyk CLIはNode.jsアプリケーションのため、Node.jsをサポートするあらゆるシステムで実行できます。インストールと設定も簡単です。
npmを使って、次のコマンドでインストールできます。npm install -g snyk
その他のインストール方法やnpmを使ったインストールについて詳しくは、Snyk Code CLIのドキュメントをご覧ください。
インストール後、次のコマンドを実行して認証します。snyk auth。
認証プロセスが開始され、CLIで今後使用する認証トークンが生成されて保存されます。
プロのヒント:CLIは実行のたびにアップデートを確認します。アップデートがある場合は、必要なコマンドとともに通知します。常に最新バージョンを使うには、npm update -g snykを実行して手動で更新することもできます。
プロジェクトまたはフォルダーをスキャンする
CLIでSnyk Codeのスキャンを実行するには、次のようにします。snyk code test [my-folder-path]
パスを指定しない場合、CLIは現在のフォルダーをスキャンします。ディレクトリツリーをたどって、その内容をスキャンします。ほかにも多くのコマンドやパラメーターを利用できます。詳しくはドキュメントをご覧ください。
既存のCLIユーザーの方は、このベータ版ではSnyk Codeのmonitorコマンドがサポートされていない点にご注意ください。
注意:CLIはスキャン対象のサポートされているソースコードファイルをまとめてSnykにアップロードします。転送中および保存中のデータは暗号化されますが、ソースコードはお使いの環境の外部に送信されます。リポジトリでCLIを実行する前に、この点をご確認ください。
結果の出力形式
CLIでは、結果を3つの方法で出力できます。まず、CLIを使い始めるのにおすすめなのが、コマンドをそのまま実行する方法です。人が読みやすい形式でレポートが出力されます。
重要度は色分けされ、脆弱性の説明と推奨される修正方法も表示されます。
プロのヒント:Snyk Codeは非常に高速です。適当なプロジェクト(クローンしたオープンソースリポジトリでも構いません)を選び、スキャンを実行して動作を確認してみましょう。
次に、CLIではsnyk code test --sarifを実行して、SARIFというデータ形式で結果を出力できます。
この出力には、Snyk Codeのフロントエンドで確認できるすべての情報に加え、さらに詳しい情報が含まれています。修正例や優先度スコアも確認できます。
プロのヒント:コーヒーを片手に、SARIFファイルをじっくり見てみましょう。JSON形式なので、理解するのはそれほど難しくありません。豊富な情報が含まれているので、プロセスでの活用方法や統計の収集方法など、さまざまなアイデアが浮かぶはずです。
最後に、CLIは終了コードを出力します。たとえば、CI/CDプロセスの制御に利用できます。終了コードは次のとおりです。
3:失敗。サポート対象のプロジェクトが見つからない
2:失敗。コマンドを再実行する
1:対応が必要。脆弱性が見つかった
0:成功。脆弱性は見つからなかった
コマンドに--severity-threshold=<low|medium|high>パラメーターを指定すると、重要度で結果を絞り込めます。
ベータ版のSnyk Code CLIを試す
CLIは強力なツールです。パブリックベータへの参加を皆さんに呼びかけています。最新のSnyk CLIをインストールし、組織でSnyk Codeを有効にして、ぜひお試しください。ベータ版ですので、実際に使ってフィードバックをお寄せいただけると幸いです。
Snykを初めてご利用になる方は、まずSnyk Codeが有効になったSnykアカウントを作成しましょう。今すぐ無料で登録できます。
Capture the Flagを始めよう
オンデマンドのバーチャル入門ワークショップを見て、Capture the Flagの課題の解き方を学びましょう。

