Skip to main content

2022年におけるSnykのAppSecの歩み

著者

Jason Lane

Frank Fischer

feature snyk appsec blue

2023年1月11日

0 分で読めます

2021年末はLog4Shellの問題で大きな混乱に見舞われましたが、Snykは2022年の幕開けとともに迅速に動き出し、期待を裏切らない新たな機能をAppSec業界に提供し始めました。このブログでは、パフォーマンスの向上、新しいエコシステムの追加、エンタープライズへの対応に向け、2022年に実施した主要な取り組みをご紹介します。

規模、パフォーマンス、可用性

Snykは目覚ましい成長を遂げています。2022年には、Snyk Codeで保護されるプロジェクト数が600%以上、Snyk Open Sourceで監視されるプロジェクト数が500%増加しました。アプリケーションのセキュリティ確保にSnykを信頼してくださり、ありがとうございます。皆さまの信頼が、私たちの前進する力になります。

Snykは指数関数的に成長し続けています。2022年には、その成長に備えるための取り組みを進めました。たとえば、Snyk Codeでクライアントとスキャンエンジン間の通信に使用する仕組みを再設計しました。スキャンエンジンは、基本的に2つの部分で構成されています。リポジトリ内の必要なファイルをすべて収集し、スキャン対象のバージョンを特定するファイルサーバーと、ファイルサーバーからソースをストリーミングし、解析結果を返す解析サーバーです。Snyk Codeのスキャンは非常に高速ですが、スキャン時間の大部分はこのプロセスの最初の段階に費やされます。この段階を最適化すれば、ユーザーはその効果を直接得られます。

パフォーマンスと安定性を高めるため、ファイルサーバーのアーキテクチャと、ファイルサーバーと解析サーバーの連携を改善しました。たとえば、単一の大規模なリポジトリにアプリケーションが集約されている大規模なモノレポは、意味のあるスキャンを実施するために大量のデータをコピーする必要があるため、SASTシステムにとって課題となります。Snyk Codeエンジンの新バージョンでは大幅な改善を実現し、最大規模のモノレポでも高速かつ正確にスキャンできるようになりました。なお、新しいSnyk Codeエンジンを利用するために、特別な操作は必要ありません。今後は自動的に使用されます。

もう1つの注目すべき追加機能は、新しいSnyk Codeエンジンが2つを超えるファイルにまたがるファイル間解析に対応したことです。Snyk Codeは、複数のファイルを通じてアプリケーション内のデータフローを追跡し、アプリケーションの広範囲に及ぶ問題を検出できます。ファイルが深くネストされる傾向にあるC#やJavaなどの言語を使うユーザーにとって、特に大きなメリットがあります。

Snyk CodeはすでにSASTの世界を大きく変え、他のツールより10~50倍高速に動作しています。2022年に行った最適化とエンジンの改善によって、Snyk Codeはさらに進化し、SDLCのあらゆる段階で開発者にSnykのSAST機能を最大限に活用していただけるようになりました。

この新しいエンジンを基盤に、2023年にリリース予定の新機能も開発中です。来年を良い形でスタートできるよう、まずはその一部をお届けします。ご期待ください。

新しいエコシステム

Maven

3月には、Maven SCMプロジェクト向けの依存関係解決メカニズムの新バージョンをリリースし、GitからインポートしたMavenプロジェクトでSnykが検出する依存関係グラフの精度を大幅に高めました。ユーザーは、Mavenプロジェクト内のパッケージとバージョンをより正確に把握できるようになりました。たとえば、Spring BootやJacksonなどのフレームワークが、バージョン管理にBill of Materials(BOM)のpomファイル内でdependencyManagementを使用している場合です。さらに、新しいリゾルバーは従来の方法より効率的なため、プロジェクトのテストが高速化し、タイムアウトの可能性も大幅に低減します。

C/C++

4月はSnyk Open Sourceにとって画期的な時期となりました。前年に行ったFossIDの買収から生まれた、初の技術統合を完了したのです。この買収を通じて、CおよびC++の管理対象外のオープンソースライブラリを検出する機能を追加しました。これは、このエコシステムに向けた数々の新機能の第一弾です。すでに、これらの言語が主に使われるソフトウェアとハードウェアが交わる領域に変化をもたらし始めています。CとC++はほとんどのアプリケーションの基盤となる言語であり、600万人を超える開発者が毎日コードを書いています。また、JetBrains、Visual Studio Code、Visual Studioなど、既存のIDE連携の大半でCおよびC++の依存関係スキャンに対応しました。ブランチにコードをプッシュする前にセキュリティ上の問題を見つけて修正したい開発者にとって、これは重要な機能です。

Nexus

7月、Snyk Open SourceチームはNexus Repository Manager 3.xとの連携をリリースしました。この新しい連携の機能は、以前から提供しているArtifactoryとの連携と同様です。設定すると、GitからインポートしたMavenプロジェクトのテスト時に、Nexusでホストされているパッケージの直接依存関係と推移的依存関係をすべて解決し、より網羅的で正確な依存関係グラフを算出できます。また、プルリクエストやマージリクエストの作成時に非公開の依存関係にアクセスしたり、正しいURLを使用してnpm/yarnのロックファイルを更新したりするためにも、この連携を使用します。この連携はEnterpriseプランでご利用いただけます。

Gradle

Snykユーザーの33%がGradle 7プロジェクトのテストに成功していましたが、これまで公式には対応していませんでした。現在、Snyk Open SourceはSnyk CLIでGradle 7(すべてのマイナーバージョンを含む)を正式にサポートしています。これにより、お客様はこれらのプロジェクトでsnyk testとsnyk monitorを安心して実行し、依存関係、脆弱性、ライセンスの使用状況をすべて把握できるようになりました。

Go

9月には、Snyk Open SourceにおけるGolang CLIスキャンのライセンス照合率を大幅に改善しました。スキャンでライセンス情報が欠落する依存関係が大きく減り、正しいライセンスが割り当てられるようになりました。改善の度合いはプロジェクトによって異なります。テストしたオープンソースのGolangプロジェクトでは、Go CLIスキャンにおける依存関係のライセンスカバー率が、改善前の6%から93%に上昇しました。このエコシステムにとって大きな前進です。

今後の予定

2022年、Snyk CodeはPHP、Go、Ruby、APEXなどのコミュニティへの対応を引き続き拡大しました。Snyk Codeのクローズドベータに新たな言語を追加し、選ばれたベータ版のお客様とともに取り組んでいます。また、ほかの言語もまもなくクローズドベータを開始できるよう準備を進めました。2023年の一般提供に向けて、多くの新しい言語とエコシステムを控えています。Snyk Codeでは、言語ごとに12万~15万件のオープンソースプロジェクトからなるトレーニングセットに、人間の知見を取り入れた機械学習を活用しています。世界中のオープンソースコミュニティの知識から学んでいます。

エンタープライズにおけるSnyk AppSec

2022年にSnykが注力したもう1つの分野は、大規模なエンタープライズ環境への対応です。規模の大きさに加え、プロジェクトの技術、状況、経過年数が多様であることは、開発者、セキュリティの専門家、経営層にとって大きな課題となります。

上述した新規・改善されたエコシステムに加え、プラットフォームチームは、新しいユーザーエクスペリエンスから高度なレポート機能、シングルテナントのデプロイオプションまで、Snykを驚くほど簡単に利用・導入できるよう取り組みました。エンタープライズのお客様に、AppSecの強力な機能をお届けしています。

Snyk Codeもエンタープライズ領域で導入が進みました。たとえば、これまで以上に大規模なお客様環境の導入が進むなか、一度にSnyk Codeへ自動インポートできるプロジェクト数の社内記録を次々に更新しました。ひと晩で2万件を大きく上回る数です。あるお客様からは、別のSASTソリューションの導入に6か月を費やしたものの、自動スキャンを1件も実現できず、導入を断念して当社に相談に来たと伺いました。

エンタープライズのお客様にとって、Code AgentとSnyk Brokerの変更も注目すべき点です。Code Agentは、Snyk Brokerがセルフホスト型のコードバージョン管理システムとSnyk SaaSを接続するためのコンポーネントです。独自のソースコード管理システムを持つ大規模な組織にとって、ローカルサーバーをインストール、維持管理することなくSaaSとしてSnyk Codeを利用できる、迅速で簡単かつ安全な方法です。

さらに、レポートでSnyk Codeのデータを利用できるようになりました。プロジェクト全体から個々のCWEを掘り下げ、問題がいつ導入されたかを確認したり、ワンクリックでソースファイルまで詳しく調べたりできます。

Snyk Issues Detailダッシュボード。未解決の脆弱性は18件で、重大度は高が14件、中が4件。

最後に、2022年を通じて取り組んできたテーマが、ソフトウェアサプライチェーンセキュリティです。Snyk Open Sourceは、オープンソースの依存関係における問題の発見と修正を開発者に支援してきた長年の取り組みをさらに強化し、CycloneDXやSPDXなど、最新のSBOM形式の作成とスキャンに対応しました。

2023年に向けて

ご覧のとおり、数多くの新機能によってSnykのAppSec領域がさらに広がりました。お客様の要望に迅速に対応できることを誇りに思います。上記の取り組みは、その証です。2023年に向けて、意欲的で挑戦しがいのあるロードマップを用意しています。C/C++やエンタープライズ領域など、2022年に着手した取り組みにさらに注力していきます。また、サイバーセキュリティの世界は立ち止まらないからこそ、今日の革新的で迅速かつ信頼できるアプリケーションセキュリティパートナーとしてSnykを成長させる、新たな計画もあります。

SnykのAppSecソリューションを支える調査、開発、セキュリティエンジニアリング、プロダクトマネジメント、サポート、技術営業、営業、マーケティングの各チームより、Snykを信頼し、貴重なフィードバックをお寄せくださった皆さまに感謝申し上げます。セキュリティインシデントのない、実り多い2023年となりますように。実現に向けて、私たちがサポートします。