Snyk CLIインストール方法まとめ
おはようございます。ゲームソリューション部のきだぱんです。
本記事では、Snyk CLIのインストール方法について、環境や用途に応じたさまざまな選択肢を紹介します。
開発者やDevOpsエンジニアの間で注目されているのが Snyk(スニーク) です。
Snykは、依存関係の脆弱性を検出し、修正案まで提示してくれるセキュリティツールで、特にSnyk CLI(コマンドラインツール)はローカル環境でもCI/CDでも柔軟に使える強力な武器となります。
Snykとは
そもそも、Snykとは何なのか。
Snykは SAST(Static Application Security Testing)機能 を持つ製品です。
Snyk(スニーク)はデベロッパーファーストのセキュリティプラットフォームです。
Snykは、コードやオープンソースとその依存関係、コンテナやIaC(Infrastructure as a Code) における脆弱性を見つけるだけでなく、優先順位をつけて修正するためのツールです。 Gitや統合開発環境(IDE)、CI/CDパイプラインに直接組み込むことができるので、デベロッパーが簡単に使うことができます。
Snyk は、Java、.NET、JavaScript、Python、Golang、PHP、C/C++、Ruby、Scalaなど、多くの言語とツールをサポートしています。
また、Docker、Terraform、k8s、Infrastructure as Codeのファイルスキャンもサポートしています。
Snykには、Snyk Open Source、Snyk Container、Snyk Infrastructure as Code、Snyk Codeの 4つの製品があります。
Snyk CLIをインストールする方法
Snyk CLIは、さまざまな環境で利用できるように複数のインストール手段が用意されています。
npmを使ったインストール(Node.js環境)
最も一般的で、Snyk公式が推奨している方法の一つが、Node.jsのパッケージマネージャであるnpmを使ったインストールです。
Node.jsがすでにインストールされている環境であれば、以下のコマンド一つでSnyk CLIをグローバルに導入できます。
npm install -g snyk
Homebrewを使ったインストール
macOSを使っている開発者であれば、Homebrewを使ったインストールがもっとも手軽です。
Homebrewは多くの開発ツールを簡単に管理できるパッケージマネージャで、Snyk CLIも公式に対応しています。
brew tap snyk/tap
brew install snyk
この方法では、Snyk CLIの依存関係も自動的に処理されるため、環境構築が非常にスムーズです。
また、Homebrew経由でインストールしたツールはbrew upgrade snyk
で簡単にアップデートできるのも利点の一つです。
スタンドアロンバイナリのダウンロード
環境にNode.jsやHomebrewをインストールしたくない場合や、CI/CD環境などで軽量な実行ファイルが必要な場合には、Snyk CLIのスタンドアロンバイナリを使う方法がおすすめです。
SnykのGitHubリリースページや公式サイトから、OSに対応したバイナリをダウンロードし、実行権限を付与してパスの通った場所に配置するだけで利用できます。
GitHub のReleasesページ よりSnyk CLI のスタンドアロンバイナリ (macOS 用、Linux 用、Windows 用) をダウンロードできます。
プラットフォーム | ダウンロードリンク |
---|---|
macOS | https://static.snyk.io/cli/latest/snyk-macos |
Windows | https://static.snyk.io/cli/latest/snyk-win.exe |
Linux | https://static.snyk.io/cli/latest/snyk-linux |
Linux (ARM64) | https://static.snyk.io/cli/latest/snyk-linux-arm64 |
Alpine Linux | https://static.snyk.io/cli/latest/snyk-alpine |
これらは 最新版(latest) の Snyk CLI バイナリの直接リンクです。
CLI をダウンロードした後は、実行権限を付与する必要があります(Linux/macOS)
chmod +x snyk-<platform>
# 例: Linux用
curl -Lo snyk https://static.snyk.io/cli/latest/snyk-linux
chmod +x snyk
sudo mv snyk /usr/local/bin...
※自動アップデートの仕組みがないため、定期的に新しいバージョンをチェックして手動で更新する必要があります。
Dockerを使った実行
Snyk CLIはDockerイメージとしても提供されており、Dockerが使える環境であれば、インストール不要で即座に利用できます。
たとえば、以下のようなコマンドで、現在のディレクトリのコードをスキャンできます。
docker run -it --rm -v $(pwd):/project snyk/snyk-cli test
Scoopを使ったインストール
Scoopを使用して、 SnykのバケットからSnyk CLIをインストールします。
scoop bucket add snyk https://github.com/snyk/scoop-snyk
用途別に見るおすすめのインストール方法
Snyk CLIのインストール方法は多岐にわたりますが、どれを選ぶべきかは利用シーンによって異なります。
たとえば、ローカル開発環境での使用が主ならnpmやHomebrewが便利ですが、CI/CD環境ではDockerやスタンドアロンバイナリの方が適していることが多いです。
- ローカル開発:npm または Homebrew(アップデートが簡単)
- CI/CDパイプライン:Docker または スタンドアロンバイナリ(軽量・再現性が高い)
Snyk CLIの初期設定と基本的な使い方
インストールが完了したら、まずはSnykに認証する必要があります。
SnykのWebサイトでアカウントを作成し、snyk auth
コマンドを実行することで、ブラウザ経由でトークンの取得と認証が行われます。
snyk auth
その後、プロジェクトディレクトリで以下のコマンドを実行すると、依存関係の脆弱性スキャンが始まります。
snyk test
Testing /Users/......
Tested 925 dependencies for known issues, found 99 issues, 280 vulnerable paths.
Issues to fix by upgrading:
Upgrade body-parser@1.19.1 to body-parser@1.20.3 to fix
✗ Asymmetric Resource Consumption (Amplification) [High Severity][https://security.snyk.io/vuln/SNYK-JS-BODYPARSER-7926860] in body-parser@1.19.1
introduced by body-parser@1.19.1 and 1 other path(s)
✗ Prototype Poisoning [High Severity][https://security.snyk.io/vuln/SNYK-JS-QS-3153490] in qs@6.9.6
.
.
.
CI環境で使う場合は、SNYK_TOKENを環境変数として設定することで自動認証が可能です。
まとめ
Snyk CLIは、アプリケーションのセキュリティを強化するための非常に強力なツールです。
そのインストール方法は多岐にわたりますが、自分の開発環境や利用目的に合った方法を選ぶことで、より快適に、そして安全にSnykを活用することができます。
各インストール方法の特性を理解し、自身の開発・運用環境に最適な方法でSnyk CLIを導入しましょう。
Snykに関するブログも沢山展開されていますので、是非こちらもご覧ください。
この記事がどなたかのお役に立てば幸いです。
以上、きだぱんでした。