拡張性を重視したアプローチで進化するSnyk CLI
Steve Winton
2023年2月7日
0 分で読めます毎日、何千人もの開発者が開発ワークフローの一環としてSnyk CLIを利用し、コードのセキュリティ問題をできるだけ早い段階で検出・解決しています。こうした開発者やセキュリティの専門家が、開発者を第一に考えるこのアプローチの力を活用し、拡張可能な仕組みを通じて、まったく新しいセキュリティ分析やフィルター、ワークフローも利用できたらどうでしょうか。たとえば、独自のビジネスロジックに基づいて結果をプログラムでフィルタリング、無視、エスカレーションしたり、拡張可能なsnyk testコマンドに独自のセキュリティ分析を追加し、その結果をソフトウェア開発ライフサイクル全体で確認できるようにしたりすることができます。
Snyk CLIが目指しているのは、まさにこの姿です。そして本日、このビジョンに向けた第一歩として、重要な変更を発表します。
分散型モデルで優れたCLI体験を提供する
2015年にオープンソースとして初めてコミットされて以来、Snyk CLIは驚くべき成長と普及を遂げてきました。アプリケーションのセキュリティ確保にSnyk CLIを活用する開発者は増え続けています。開発者を第一に考えた多様なセキュリティワークフローを支える機能が増え、コードからクラウドまで、現代のアプリケーションのあらゆる領域をカバーしています。
拡張性を重視したビジョンを実現し、ユーザーに価値を提供しながらSnyk CLIを拡大・成長させ、シンプルで一貫性のあるコマンドライン体験を維持するため、中央集権的な「モノリシック」CLIアプリケーションから分散型モデルへ移行します。この新しいモデルでは、安定したインターフェースによって管理される、標準で拡張可能なアプローチを採用します。
Snyk CLIの設計、構築、リリースの方法を変更し、最上位のsnykコマンドを複数の拡張機能への共通の入口とします。その拡張機能の一つが、従来のCLIそのものです。
少しイメージしにくいかもしれません。アプローチを理解するための図をご覧ください。

このアプローチには多くのメリットがあります。後方互換性を維持しながら、専用の名前空間で新機能を開発・導入できます。また、従来のモノリシックなCLIアプリケーションを安全かつ段階的に分割し、構成要素ごとに拡張可能な形へと分解できます。
最近のCLIの動向を詳しく追っている方は、現在ベータ版のsnyk sbomコマンドで、すでにこのモデルを実践していることにお気づきかもしれません。このコマンドは、当社の拡張性フレームワークを使用して開発されています。
今後のアップデートにご期待ください
今後は、このような「ファーストクラスの拡張機能」がさらに登場し、最上位のsnyk CLI名前空間の下で一貫性のある形にまとめられていく予定です。私たちは、Snyk CLIをカスタマイズし、革新をもたらす便利な拡張機能のオープンなエコシステムを実現したいと考えています。たとえば、サードパーティ製のセキュリティツールを使ってsnyk testの分析範囲を広げ、開発者が日々利用し、信頼しているツールやワークフローにさらなるセキュリティの知見を加えることができます。
ただし現在、内部的にはエントリーポイントと拡張機能を独立したバイナリ実行ファイルとして提供するなど、少し異なる構成になっていますが、外部から見たCLIの使い方に変更はありません。今後もGitHubでリリースを公開し、npm経由で提供するとともに、各リリースをCDNのstatic.snyk.ioでホストします。将来、Snyk CLIに破壊的変更を加える場合は、(たとえばセマンティックバージョニングに従うなど)明示的に告知し、内容を明確にします。
今後もSnyk CLIで開発ワークフローのセキュリティを確保し、その使いやすさを実感していただければ幸いです。詳しくは、ドキュメントのSnyk CLIに関するページをご覧ください。ご質問やサポートが必要な場合は、お問い合わせください。
CTFを始めよう
オンデマンドのバーチャル入門ワークショップで、CTFチャレンジの解き方を学びましょう。



