Skip to main content

Snyk CLI:セマンティックバージョニングとリリースチャネルの導入

著者
feature datacenters black

2024年4月30日

0 分で読めます

セマンティックバージョニングとリリースチャネルを、v.1.1291.0以降のSnyk CLIに導入します。このブログでは、変更を導入する理由、お客様にとってどのような課題を解決するのか、またニーズに応じてオプトインする方法についてご紹介します。

どのような課題を解決するのか、そしてその理由は?

Snyk CLIがWorld Wide Webとセキュリティ愛好家に向けて初めて公開されたのは、2015年10月2日、v0.0.0-pre-alphaリリースとしてでした。この8年間で、Snyk CLIは約2,000回リリースされ、そのうち1,100回以上が直近の3年間に行われました。これは約32時間に1回のリリースに相当し、お客様のニーズが高まっていること、そしてエンタープライズ規模でそのニーズに応えるための当社の開発ペースを示しています。需要の拡大に伴い、迅速なコード変更の複雑さ、範囲、影響も大きくなりました。

迅速に修正や変更を提供すれば、すべてのSnykユーザーが最新の機能を利用できます。一方、エンタープライズのお客様を対象としたユーザー調査では、Snyk CLIが頻繁にリリースされることで、ガバナンスやコンプライアンス対応の負担が増えることが明らかになりました。こうした声が繰り返し寄せられる中で、開発者からDevSecOpsまで、お客様とエンドユーザーのSnyk CLI体験を向上させるために変化が必要だと認識しました。

セキュリティゲートとして、Snyk CLIは当社とお客様の開発エコシステムの要です。Snyk CLIに障害が発生すると、お客様のビルドパイプラインに直接影響し、ビジネス上の約束やユーザー体験にも支障をきたします。Snykは、お客様から寄せられている信頼を心から大切にしています。そして、持続可能なペースを選べる柔軟性という、いまだ満たされていないニーズがあると考えています。

このため、v.1291.0以降のSnyk CLIに次の変更を導入します。

  • Snyk CLIのリリースにセマンティックバージョニングを採用

  • お客様が好みやニーズに応じて選択できる複数のチャネル

今回の変更は、お客様にとって何を意味するのでしょうか?

リリース

Snyk CLIでは、業界標準のセマンティックバージョニングに従い、以下のように3つの要素でバージョンを表します。

バージョン番号をMAJOR.MINOR.PATCHとした場合、次のように番号を更新します。

  1. 後方互換性のない変更を行った場合は、MAJORバージョンを更新

  2. 後方互換性を保ちながら機能を追加した場合は、MINORバージョンを更新

  3. 後方互換性のあるバグ修正を行った場合は、PATCHバージョンを更新

標準に基づき、必要に応じてCLIのリリースに追加のラベルを付与します。

Snyk CLIでは、CI/CDインテグレーションなど、既存の稼働環境に問題を引き起こし、自動化されたワークフローを中断させる可能性がある変更を、後方互換性のない変更と定義しています。こうした変更はMAJOR番号の更新で示し、リリースノートに記載します。

後方互換性のない変更の例:

  • 出力フィールド、フィールド名、環境変数の廃止または変更

  • 必須となる設定変更の導入

  • エラーコードまたは終了コードの変更

問題の性質や影響に応じて、ホットフィックスをリリースする場合もあります。その場合、PATCH番号が更新されます。

チャネル

お客様がニーズや好みに合ったチャネルを選べるよう、複数のチャネルを導入します。

お客様にとって、チャネルを選ぶことは、利用するコード変更の安定性とペースを選ぶことを意味します。

Snykは、次の理由からstableチャネルへのオプトインを推奨します。

  • 安定版ビルドは8週間にわたって徹底的にテストされ、その間、Snykの開発チームがSDLCプロセスでCLIを使用します。

  • ニーズに最適なバージョンを選ぶためのリリースノートが付属します。

コード変更がマージされ次第すぐに受け取りたいお客様は、previewチャネルにオプトインできます。ただし、Snykはpreviewチャネルをサポートしておらず、既知の問題が含まれることをご了承ください。

ヒント:従来のlatestチャネルを選択している既存のお客様は、自動的にstableチャネルに切り替わります。既存ユーザーに影響が出ないよう、裏側では最新の安定版をミラーリングしています。ただし、次のセクションで説明するように、新しいリリースチャネルへの切り替えをおすすめします。

IDEでチャネルを選択する

下のスクリーンショットに示すドロップダウンから、CLIのリリースチャネルを選択してください。リリースチャネルはいつでも切り替えられます。たとえば、ホットフィックスを受け取るためにrelease candidate(rc)へ切り替えることができます。この機能はIntelliJ IDEで利用できます。今後、ほかのサポート対象IDEにも対応を拡大する予定です。すべてのIDEで、デフォルトのチャネルはstableです。

IDEのSnykプラグイン設定画面。CLIのパス、自動バイナリ管理、rcに設定されたCLIリリースチャネルが表示されています。

まとめ

約2,000回のリリースを経た今も、お客様や開発者がセキュアなコードを提供できるよう支援することは、Snykチームにとって大きな喜びです。開発者が無理のないペースで仕事に取り組める、優れた開発者体験を実現するため、今後もSnyk CLIの強化に取り組んでいきます。

ご意見をお寄せいただく場合や、ユーザー調査への参加をご希望の場合は、サポートチーム、担当アカウントマネージャー、またはSnyk CLIのプロダクトマネージャーまでご連絡ください。皆さまと協力しながら、Snyk CLIの将来を形作っていけることを楽しみにしています。

続きを読む

Blog

フロンティアモデルは脆弱性を発見した。攻撃者だけがエクスプロイトチェーンを見つけた。

静的解析で欠陥は見つかりましたが、ライブ攻撃テストで侵害につながる連鎖を実証できたのは唯一でした。Evo COS、Claude Security、Claude Code Securityを比較します。

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。

Blog

AIコーディングエージェントが不適切なアクセス制御を繰り返し実装する理由

AIコーディングエージェントは、コンパイルが通りレビューも通過する一方で、あるテナントのデータを別のテナントに公開してしまう認可ロジックを生成することがあります。不適切なアクセス制御が検出しにくい理由と、その防止策をご紹介します。