Skip to main content

Snyk Code、1歳の誕生日おめでとう!

著者

Frank Fischer

feature happy birthday snyk code

2022年5月6日

0 分で読めます

Snyk Codeが1周年を迎えます!この12か月で数々のマイルストーンを達成しました。今日は、これまでを振り返り、お祝いしながら、私たちと一緒にコードセキュリティの未来を見つめてみましょう。

DeepCodeからSnyk Codeへ

Snyk Codeを支えているのは、独自のエンジンと、業界をリードする研究主導のプロセスです。そのルーツは、2013年の「ビッグコード」ムーブメントにさかのぼります。

リポジトリの累計数は2010年から2020年2月にかけて急増し、約2億4,000万に達しています。

ビッグコードとは、オープンソースリポジトリで公開されるプログラムが増加している状況を表す言葉です。たとえば、GitHubがホストする公開リポジトリは2016年初頭に3,000万件でした。4年後の2020年3月には、この数は1億2,800万件を超えました。

世界の開発コミュニティの知識を活用してビッグコードがプログラミングを進歩させる可能性については、2007年以降、学術界で議論が続いてきました。

しかし、いくつもの障壁がありました。ビッグコードにはビッグデータのあらゆる課題に加え、実行時の挙動が無限にあり得ることや近似が必要であることなど、ソースコード特有の問題もあります。現代の機械学習ツールのように、ソースコードを単なるテキストとして扱うのは、あまりにも単純な考え方です。

Snyk Codeの基盤は、スイス連邦工科大学チューリッヒ校(ETH)のMartin Vechev教授が率いるSRILabで築かれました。2013年から、博士課程の学生だったVeselin Raychev(現Snyk人工知能部門責任者)、Vechev教授らは機械学習の研究に取り組み、AIベースのシステムのプロトタイプを開発しました。これらのAIは、シンボリック推論に基づく静的コード解析と、データ主導の機械学習手法を組み合わせ、オープンソースプログラムから学習しました。

Raychevは、優れた博士論文に贈られるETHチューリッヒ賞に加え、ビッグコードの機械学習に関する博士論文で、名誉あるACM Doctoral Dissertation AwardのHonorable Mentionを受賞しました。この賞の40年の歴史において、ヨーロッパ出身者としては3人目、ブルガリア人としては初の受賞者でした。

博士論文の研究成果をもとに、RaychevはVechevとBoris Paskalev(現Snyk AI for Code製品部門責任者)とともに、研究成果を誰もが使えるツールにすることを目指し、2016年にDeepCodeを創業しました。

ビッグコードから学習するうえでの課題の一つは、スケーリングです。イテレーションを実行できるだけの速度で、膨大な量の実際のコードを処理できなければなりません。DeepCodeは、今日の業界を変革する数々の進歩に貢献しました。たとえば機械学習は、速度を犠牲にすることなく深い意味解析を実行できる能力によって支えられています。こうした機能強化により、DeepCodeの最先端エンジンは、増え続ける正確なナレッジベースを支えるルールセットを構築・維持できるようになりました。詳しくは、Snyk Codeを支えるテクノロジーについての記事をご覧いただき、論文や研究システムの事例もご確認ください。

DeepCodeの創業者であるVeselin Raychev、Boris Paskalev、Martin Vechevがホワイトボードの前に立っている
DeepCodeの創業者(左から)Veselin Raychev、Boris Paskalev、Martin Vechev。

DeepCodeは、複雑さを隠して直感的で使いやすいツールを提供することで、深い意味解析を簡素化することを目指しました。何十万人もの開発者から寄せられたフィードバックを見る限り、その目標は達成されたと言えるでしょう。高速なスキャンと信頼性の高いルールセットが、DeepCodeの成功を支える大きな要因でした。世界中のユーザーに支持される最後の柱となったのは、開発者を中心に据えたアプローチであり、DeepCodeのAI駆動エンジンはそれを十分に実現しました。機械学習により、DeepCodeは検出結果の理由を説明し、推奨する修正の例を提示できるようになりました。これにより開発者は、コードに脆弱性がある理由と、その修正方法を理解できました。

2020年にSnykとDeepCodeが提携について話し合い始めると、すべてがうまくかみ合いました。DeepCodeのエンジンは、静的解析の分野を根本から変える技術的ブレークスルーでした。一方、Snykには成熟した技術プラットフォーム、セキュリティの専門知識、確立された営業・マーケティング部門、そして国際的なネットワークがありました。何よりも、両社は社内文化と開発者を最優先する姿勢を大切にしていました。そしてDeepCodeはSnykの一員となりました。

数か月にわたる迅速な開発を経て、DeepCodeエンジンを採用し、既存のルールセットを見直したSnyk Codeが構築され、Snykプラットフォームの一部として実装されました。Snykの優れたセキュリティ研究者やプラットフォーム開発者が加わったチームは、充実した厳選コンテンツやデータフローの可視化などを追加し、Snyk上で動作するよう製品を整えました。ベータ版のリリース前から、Snyk Codeには有料顧客がいました。これは、市場の重要なニーズを満たしていることを示すと同時に、コミュニティからSnykに寄せられている深い信頼の表れでもありました。2021年初頭に既存顧客がSnyk Codeを利用できるようになり、4月にはフリーミアムプログラムに加わりました。Snyk Codeの誕生日を決めるのは、当初少し難しいものでした。SnykとDeepCodeが提携した日や既存顧客への提供開始日など、いくつか有力な候補がありましたが、Snyk Codeが誰でも利用できるようになった5月6日を誕生日に決めました。

現在のSnyk Code!

静的アプリケーションセキュリティテストについてのテキストと、安全なクラウド環境でのコードを描いたイラストが入ったSnyk Codeのバナー

それから現在まで、Snyk Codeの歩みは1年を迎えました。どのような状況でしょうか?いくつかの統計を見てみましょう。

Snyk Codeは先月だけで、250万件を超える問題を、25万件を超えるプロジェクトで検出しました。現在、世界中の1,000を超える組織が、プロジェクトのスキャンにSnyk Codeを信頼して利用しています。

当初は3つのプログラミング言語に対応していましたが、現在はJavaScript、Typescript、Java、PHP、C#、Ruby、Python、Swift、Kotlin、Goに対応しています。

Visual Studio Code、IntelliJ、WebStorm、PyCharm、GoLand、Visual Studio向けにIDEインテグレーションを追加しました。

継続的なイノベーションにより、業界をリードする速度で、深くコンテキストを理解したセマンティックコード解析を実現しました。柔軟なエンジンはGraphQLのセキュリティに対応し、サポート対象のあらゆる言語でトロイの木馬ソース攻撃を検出・防止できます。Snyk Codeのロジックにより、開発者は適用できない提案を無視することもできます。

Snyk Codeを支えるチームは大きく成長し、ルールセット、エンジン、Web、IDEインテグレーションを担当する複数のエンジニアリンググループが活動しています。チューリッヒが今も重要な役割を担っている一方で、現在は北米、アジア、オーストラリア、ヨーロッパ各地のメンバーがSnyk Codeチームに加わっています。

Snyk Codeの開発は、エンジン開発、ナレッジベースのルールセットの構築・保守、フロントエンドのユーザーエクスペリエンス、IDEプラグインの4つの主要チームに分かれています。各チームはさらにサブチームに分かれており、Snyk Codeはプラットフォームの主要製品となっています。

最初の1年で、Snyk CodeはSnykプラットフォームに統合され、対応するプログラミング言語とIDEの充実した基盤を築き、新たなスキャン機能を追加し、Snykの主要製品としての地位を確立しました。しかし、まだ始まったばかりです……

今後の展望

Snyk Codeは1歳にして、すでに活発に進化を続けています。これからの1年も、大きく飛躍するでしょう。今後に期待できる主な取り組みをご紹介します。

  • レポート:最近Snykに加わったTopCoatにより、Snykプラットフォームのレポート機能が新たな段階へと進化します。

  • プログラミング言語:Snyk Codeは最初の1年で対応言語を大きく増やしましたが、今後はSwiftやApexなどにも対応します。また、サポート対象の言語全体で、ルール開発をさらに迅速化する機能も追加しました。

  • エンジン機能:静的アプリケーションセキュリティテスト(SAST)に期待できることの限界を押し広げる、新機能の追加が最終段階に入っています。

  • IDEインテグレーション:開発者が働く環境に直接寄り添い、作業中のツールから結果を提供することを最優先しています。今後1年で、IDE対応の範囲を拡大し、さらに強化する予定です。

  • コミュニティの成長:Snyk Codeは無料で、あらゆるオープンソースプロジェクトでお試しいただけますが、SASTスキャンはまだ広く普及しているとは言えません。コミュニティに必要な知識と製品を提供できるよう、今後も取り組みを続けます。

  • 製品機能:SASTは、開発者、セキュリティ専門家、経営層をつなぐ領域であり、それぞれの役割には固有のニーズがあります。ユーザーとの緊密な関係を通じて、具体的な課題を特定し、新たな製品機能で解決するためのロードマップを策定してきました。

  • Snykのビジョン:SnykCon 2021の基調講演で、Snykの創業者の一人であるGuy Podjarnyが、Snykの未来に向けたビジョンを示しました。Snyk Codeとその強力なロジックエンジンは、こうした構想の実現に大きな役割を果たします。

Snyk Codeは、元気いっぱいの幼児のように慌ただしく成長してきました。2年目はさらに加速していくでしょう。興味深い計画が数多く控える今こそ、ぜひお試しいただき、開発者を最優先するコミュニティにご参加ください。

最先端のインテリジェンスでコードを保護

わずか30分で、Snyk CodeのSAST機能を幅広くご紹介します。

続きを読む

feature insights context
Blog

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

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

illustration hero ai
Blog

AIハリケーンが到来

AIはソフトウェア開発とサイバー攻撃の双方を加速させています。リーダーは、エージェントとコードを開発の初期段階から保護し、実行時に制御を徹底するとともに、防御策を独立して検証しなければなりません。

feature insights context
Blog

予防は、本質的に解決済みの問題なのでしょうか?

エージェントが生成するコードの予防策はアーキテクチャ上解決されていますが、開発を遅らせることなくセキュリティを守る制御を選ぶことが、依然として課題です。