
Snyk CLIは、あなたのプロジェクトをスキャンしてセキュリティ脆弱性を監視します。
Snyk は、開発者ファーストのクラウドネイティブなセキュリティツールで、ソフトウェア開発プロジェクトをスキャンし、セキュリティ脆弱性を監視します。Snyk は、以下の複数のコンテンツタイプに対してセキュリティ問題をスキャンします。
Snyk CLI は、Snyk の機能を開発ワークフローに取り込みます。CLI はコマンドラインからローカルで、または IDE 内で実行できます。また、CI/CD パイプラインでも実行可能です。以下は Snyk CLI の test コマンド出力例です。
Snyk CLI test コマンド出力例
Snyk CLI のスキャンは多くの言語とツールをサポートしています。詳細については以下を参照してください。
このページでは、CLI のインストール、認証、スキャンの開始方法を説明します。Snyk にはこれらの手順をガイドするオンボーディングウィザードもあります。デモについては、Snyk を始めよう:CLI オンボーディングフローの概要 をご覧ください。
CLI を使用するには、インストールとマシンの認証が必要です。Snyk CLI のインストールまたは更新 および CLI をアカウントで認証する を参照してください。各リリースの変更点の概要はリリースノートをご参照ください。コードをスキャンする前に、Snyk CLI のコード実行に関する警告 をお読みください。
{% hint style="info" %}
Open Source スキャンに CLI を使用する前に、パッケージマネージャーをインストールする必要があります。必要なサードパーティツール(Gradle や Maven など)は PATH に含まれている必要があります。
{% endhint %}
CLI は IDE や CI/CD 環境にもインストールできます。詳細については、各統合の手順について IDE および CI/CD のドキュメント を参照してください。
認証後、インストールをテストできます。簡単なテストとして、snyk --help を実行してください。
または、公開 npm パッケージ(例: snyk test ionic)で簡単なテストを行うこともできます。
ターミナルで test コマンドのレポートを確認してください。レポートには、Snyk がパッケージ内で見つけた脆弱性が表示されます。見つかった各問題について、Snyk は問題の重大度、詳細説明へのリンク、脆弱なモジュールがシステムに取り込まれた経路、および修正方法のガイダンスを報告します。
Snyk CLI を使用して Open Source プロジェクトの脆弱性をテストする前に、一部の例外を除き、プロジェクトをビルドする必要があります。詳細は、テスト前にビルドが必要な Open Source プロジェクト を参照してください。
さらに、オープンソースプロジェクトの言語によっては、Snyk CLI を使用する前に言語環境をセットアップする必要がある場合があります。詳細は、サポート言語、パッケージマネージャー、フレームワーク を参照してください。
CLI をインストールしてマシンを認証したら、オープンソースプロジェクトをスキャンするには、cd /my/project/ を使用して、サポートされているパッケージマニフェストファイル(package.json、pom.xml、composer.lock など)を含むフォルダにカレントディレクトリを変更します。その後、snyk test を実行します。特定されたすべての脆弱性が、そのパスと修正ガイダンスとともに一覧表示されます。
ソースコードをスキャンするには、snyk code test を実行します。
Docker イメージはタグを指定してスキャンできます。例: snyk container test ubuntu:18.04
Kubernetes (K8s) ファイルをスキャンするには、次を実行します:
snyk iac test /path/to/kubernetes_file.yaml
各コンテンツタイプのスキャンに Snyk CLI を使用する詳細については、以下を参照してください。
test と monitor コマンドの CLI ヘルプSnyk は、Open Source または Container 統合 SCM プロジェクトを定期的に監視し、新しい脆弱性を警告できます。プロジェクトを監視するには、snyk monitor または snyk container monitor を実行します。
これにより、現在の依存関係のスナップショットが作成され、Snyk が定期的にコードをスキャンできるようになります。Snyk は、新たに公開された脆弱性が導入されたとき、または以前は利用できなかったパッチやアップグレードパスが作成されたときに警告します。以下は snyk monitor コマンドの出力例です。
> snyk monitor
Monitoring /project (project-name)...
Explore this snapshot at
https://app.snyk.io/org/my-org/project/29361c2c-9005-4692
-8df4-88f1c040fa7c/history/e1c994b3-de5d-482b-9281-eab4236c851e
Notifications about newly disclosed issues related to these
dependencies will be emailed to you.
Snyk アカウントにログインし、Projects ページに移動して最新のスナップショットとスキャン結果を確認できます。
Snyk monitor スナップショットとスキャン結果
詳細については、プロジェクトを定期的に監視する を参照してください。
テスト制限は公開リポジトリには適用されません。プライベートリポジトリに関連するテスト制限(該当する場合)が公開リポジトリのテストによって使用されていることに気付いた場合は、Snyk CLI でスキャンされているリポジトリの公開 URL を Snyk に伝えることで修正できます。これにより、Snyk が公開リポジトリをテスト制限にカウントしないようになります。
オープンソースプロジェクトでテストを使い切った場合は、次の手順に従ってください。
snyk monitor を実行します。snysk help を実行するか、CLI コマンドとオプションの概要 を参照してください。
クイックビデオトレーニングについては、コース Snyk CLI の概要 をご覧ください。
特に、以下のオプションに関する情報が役立つでしょう。
--severity-threshold=low|medium|high|critical: 指定されたレベル以上の脆弱性のみを報告します。--json: 結果を JSON 形式で出力します。--all-projects: 作業ディレクトリ内のすべてのプロジェクトを自動検出します。CLI の詳細については、CLI ドキュメント を参照してください。
Snyk サポートページ のリソースを使用して、Snyk CLI または Snyk 全般の使用に関するヘルプを見つけてください。Snyk サポートは、Snyk 開発プロジェクト の GitHub Issues を積極的に監視していないことに注意してください。
2024年7月22日より、Snyk CLI は外部からのコントリビューションを受け付けなくなりました。
CLI の広範な使用と複雑な性質のため、軽微な変更でも予期しない結果を招く可能性があります。2024年4月に CLI コードにリリースチャネル を導入して以来、Snyk はリリースの安定化に注力してきました。Snyk は、このオープンソース・クローズドコントリビューションモデルがこの目標に最も適していると考えています。
Snyk はお客様と CLI ユーザーに対する透明性の精神に則り、引き続き公開で作業を進めます。ただし、今後 Snyk CLI はコントリビューションを受け付けません。
Snyk は Snyk コミュニティに感謝し、謝意を表します。
セキュリティ上の問題や懸念事項については、GitHub リポジトリの SECURITY.md ファイルを参照してください。