Skip to main content

Snyk Code 1 周年記念

著者:
Frank Fischer
wordpress-sync/feature-happy-birthday-snyk-code

2022年5月6日

0 分で読めます

Snyk Code が 1 周年を迎えました。Snyk はこれまで 12 か月間に多くのマイルストーンを達成してきました。皆さんとともに 1 年を振り返り、達成したことを祝い、そしてコードセキュリティの未来を考えていきたいと思います。

DeepCode から Snyk Code へ

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

wordpress-sync/blog-snyk-code-chart-1

ビッグコードとは、オープンソースリポジトリに見られるプログラムの可用性の向上を表す言葉です。たとえば、GitHub は 2016 年初めには 3,000 万件の公開リポジトリをホスティングしていました。4 年後の 2020 年 3 月には、この数は 1 億 2,800 万件を超えました。

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

ただし、いくつかの障害がありました。ビッグコードには、ビッグデータの問題点に加え、ソースコードの性質上、無限のランタイム動作や近似の必要性など、あらゆる問題が内在しています。最近の機械学習ツールがそうであるように、ソースコードを単なるテキストとして扱うのは、あまりにも単純すぎます。

Snyk Code の基礎は、チューリッヒにあるスイス連邦工科大学 (ETH) のマーティン・ベチェフ教授 (Martin Vechev) の SRILab で据えられました。 2013 年から、博士課程の学生で現在は Snyk の人工知能部門の責任者のヴェセリン・レイチェフ氏 (Veselin Raychev) やベチェフ教授らが機械学習の研究を行い、AI を使ったシステムのプロトタイプを作りました。これらの AI は記号推論に基づく静的コード解析とデータ駆動型の機械学習手法を組み合わせて、オープンソースプログラムから学習したものです。

レイチェフ氏 (Raychev) は、優れた博士論文で ETH チューリッヒメダルを受賞したほか、ビッグコード機械学習の博士論文で名誉ある ACM 博士論文賞の名誉ある賞を受けています。この賞は、過去 40 年間でヨーロッパ人としては 3 人目 (ブルガリア人としては初) の受賞となりました。

レイチェフ氏は博士論文の成果を活かし、2016 年にベチェフ教授および現在は Snyk の AI for Code の製品責任者のボリス・パスカレフ (Boris Paskalev) と協力して、研究によりアクセス可能なツールを生み出すことを目標に DeepCode を設立しました。

ビッグコードから学習する際のハードルの 1 つはスケーリングです。イテレーションを実行するためには、膨大な量の現実世界のコードをすばやく処理できる必要があります。DeepCode は、今日の業界を変えるいくつかの改善に貢献しました。たとえば、機械学習はスピードを犠牲にすることなく、深いセマンティック分析を実行する機能によって強化されます。これらの強化された機能により、DeepCode の最先端のエンジンは、増え続ける正確なナレッジベースをサポートするルールセットを構築して維持することができています。詳しくは、Snyk Code を支えるテクノロジーについてのブログ記事および刊行物や調査システムのレビューサンプルをご覧ください。

wordpress-sync/blog-snyk-code-founders
DeepCode の創設者 (左から) ヴェセリン・レイチェフ氏 (Veselin Raychev)、ボリス・パスカレフ氏 (Boris Paskalev)、マーティン・ベチェフ氏 (Martin Vechev)。

DeepCode は、複雑な部分を隠して、直感的でアクセスしやすいツールを提供することで、深いセマンティック分析の簡素化を目指していました。数十万人の開発者のフィードバックから判断すると、その目標は達成されたことになります。DeepCode の成功の主な要因は、スキャンスピードと信頼できるルールセットです。グローバルユーザーベースの最後の柱は、開発者中心のアプローチですが、DeepCode の AI 駆動型エンジンはこれを完全に満足するものです。機械学習により、DeepCode は調査結果をユーザーに説明し、推奨される修正を提供することで、開発者は作成したコードになぜ脆弱性があるのか、どのように修正すべきかを理解できるようになりました。

Snyk と DeepCode が 2020 年に提携について検討したとき、すぐに意気投合しました。DeepCode エンジンは、静的分析の分野を根本的に変える技術的なブレークスルーとなっています。Snyk には、成熟した技術プラットフォーム、セキュリティの専門知識、確立された販売およびマーケティング部門、および国際的なネットワークがあります。最も重要なこととして、両社とも会社のカルチャーと開発者ファーストの考え方を大切にしています。そこで、DeepCode は Snyk の傘下に入ることになりました。

DeepCode エンジンを組み込み、既存のルールセットを見直す数か月の迅速な作業の後、Snyk Code は Snyk プラットフォームの一部としてビルドされ、導入されました。このチームは、Snyk の先進的なセキュリティ研究者やプラットフォーム開発者が加わって拡大し、厳選した多様なコンテンツやデータフローの可視化などが追加され、Snyk 上で動作するように製品が準備されました。Snyk Code のベータ版のリリースの前にすでに予約待ちが発生していました。これは、マーケットの重要なニーズに応えていることを証明すると同時に、Snyk がコミュニティから厚い信頼を得ていることを示すものでもあります。既存の顧客には 2021 年初頭に Snyk Code へのアクセスを提供し、4 月に Snyk Code はフリーミアムプログラムに参加しました。このため、Snyk Code がいつ開発されたかは少し複雑な事情になっています。Snyk と DeepCode の合併、既存の顧客がアクセスできるようになった日など、いくつかの選択肢が考えられましたが、すべての人に公開された 5 月 6 日を Snyk Code の開発日として定めました。

今すぐ Snyk Code を使い始めましょう。

wordpress-sync/blog-snyk-code-banner

最先端の技術を今日から活用できます。Snyk Code が誕生して 1 年が経ちましたが、活用されていますか?いくつかの統計を確認してみましょう。

Snyk Code は、先月だけでも 25 万件以上のプロジェクト250 万件以上の問題を報告しています。現在、1,000 社を超えるグローバル企業が Snyk Code を導入してプロジェクトのスキャンに活用しています。

3 言語からスタートし、現在では JavaScript、Typescript、Java、PHP、C#、Ruby、Python、Swift、Kotlin、Go をサポートするまでに拡張されています。

IDE 統合には Visual Studio Code、IntelliJ、WebStorm、PyCharm、GoLand、Visual Studio が追加されています。

継続的なイノベーションにより、深いコンテキストを考慮したセマンティックコード分析を業界トップクラスのスピードで実現しています。当社の汎用エンジンは、GraphQL のセキュリティをサポートし、サポート対象となっているあらゆる言語でトロイの木馬ソースの攻撃を発見して、防止することができます。また、Snyk Code のロジックにより、開発者は適用できない提案を無視することができます。

Snyk Code の開発チームは、ルールセット、エンジン、Web、IDE の統合に取り組む複数のエンジニアリンググループのおかげで非常に大きな成長を遂げています。チューリッヒは依然として大きな役割を果たしていると言っても過言ではありませんが、現在、北米、アジア、オーストラリア、およびヨーロッパ中の人々が Snyk Code 開発チームの一員となっています。

Snyk Code の開発は、エンジン開発、ナレッジベースルールセット構築メンテナンス、フロントエンドユーザーエクスペリエンス、IDE プラグインの 4 チームに大きく分かれています。これらのチームはそれぞれサブチームに分かれ、プラットフォームの主要製品となる Snyk Code を開発しています。

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

今後の展開

Snyk Code は元気な 1 歳児のように急速に成長しており、この 1 年はさらに飛躍の年になりそうです。今後楽しみな展開をいくつかご紹介します。

  • レポーティング:TopCoat は最近 Snyk に追加され、Snyk プラットフォームのレポーティング機能を新たな高みに押し上げることになりそうです。

  • プログラミング言語:Snyk Code のリリースから最初の 1 年で早くも驚くほど多数の言語をサポートしていましたが、Swift や Apex などがさらに追加される予定です。また、対応言語間でさらにすばやくルール開発ができる機能も追加されました。

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

  • IDE 統合:開発者のニーズに応え、開発現場ですぐに結果を出すことは、Snyk にとって最優先事項です。 今後 1 年間で、IDE のフットプリントを拡張し、強化する予定です。

  • コミュニティの成長:Snyk Code は無料で、すべてのオープンソースプロジェクトでお試しいただけますが、SAST スキャンはまだ一般的ではありません。今後もコミュニティが必要とする知識や製品を提供できるよう、取り組んでいきます。

  • 製品機能:SAST は、開発者、セキュリティ専門家、管理職のプラットフォームとして、それぞれのロールに特有のニーズに対応しています。ユーザーとの密接な関係から、具体的な問題点を特定し、新しい製品機能でそれに対応するロードマップを開発することができています。

  • Snyk のビジョン:SnykCon 2021の基調講演で、Snyk の創業者の一人のガイ・ポジャーニー (Guy Podjarny) は、将来のビジョンを明らかにしています。Snyk Code と強力なロジックエンジンは、アイデアを実現する上で大きな役割を担っています。

Snyk Code は成長著しい幼児期にあり、2 年目には急成長が見られるはずです。多数の興味深い計画が進行中で、開発者ファーストのファミリーメンバーになるには絶好のタイミングです。