Skip to main content

Snyk Codeで開発者ファーストのSASTを実現

著者

Ravi Maira

SAST annoucment featured

2020年10月21日

0 分で読めます

本日、Snykは新製品Snyk Codeを発表しました。開発者ファーストの静的アプリケーションセキュリティテスト(SAST)ソリューションにより、クラウドネイティブなアプリケーションセキュリティプラットフォームを拡充します。

Snyk Codeは、DeepCodeの最近の買収により得た機械学習などのテクノロジーを活用しています。Snyk Codeは、Snykのクラウドネイティブアプリケーションセキュリティプラットフォームに加わった最新の製品です。この製品により、Snykのプラットフォームは、現代のクラウドネイティブアプリケーションを構成するあらゆる要素、つまりアプリケーションのコード、利用するオープンソースライブラリ、実行環境となるコンテナ、そして環境を構築するInfrastructure as Codeを保護します。

SASTとは?

SASTになじみのない開発者も多いでしょう。SAST(Static Application Security Testing:静的アプリケーションセキュリティテスト)は、アプリケーションのコードをテストして、ソフトウェアへの攻撃に悪用される可能性のある脆弱性を特定する手法です。通常はソースコードを実行せずにスキャンしてアプリケーションをテストし、見つかった脆弱性を報告します。

現代の開発チームに向けた、SASTの新しいかたち

Snykは、ソフトウェア主導のビジネスが求めるスピードと規模に対応するには、セキュリティを開発者ファーストで実装する必要があるという理念を、常に大切にしてきました。お客様からは以前より、オープンソース、コンテナ、Infrastructure as Codeの各製品で提供している開発者に使いやすい体験を取り入れたSASTソリューションを求める声が寄せられていました。

主にセキュリティチームが開発後のアプリケーションをテストするために設計された従来のSAST製品とは異なり、Snyk Codeは開発者ファーストを実現する革新的なアプローチを採用しています。従来のSAST製品の問題は、開発者にとって使いづらいことです。スキャンに数時間かかるほど遅く、精度も低いため誤検知が多く、誤警報の調査に何時間も費やすことになります。その結果、開発者はツールへの信頼を失います。また、検出された問題を修正できる形で活用するには、セキュリティの専門知識が必要です。

Snyk Codeは、Snykのクラウドネイティブアプリケーションセキュリティプラットフォームの他の製品と同様に、開発者がセキュアなアプリケーションを構築するために使いたくなるSASTを実現します。

  • 開発者に優しい - 開発者が問題をコンパイル後にさかのぼって修正するのではなく、安全にソフトウェアを構築できるよう、開発者に優しい体験を提供することは私たちのDNAに刻まれています。Snyk Codeは真に開発者中心の製品です。開発者がソフトウェアの構築やレビューに使うIDEやSCMで動作し、問題の修正につながる、開発者にとって有意義で実行可能な結果を提供します。

  • リアルタイム - 迅速でアジャイルな開発を支えるうえで、スピードは重要な差別化要因です。リアルタイムの速度により、開発者はIDEで作業中やSCMでコードをレビュー中にSASTソリューションを活用できます。遅くて不要な工程を後から追加する必要はありません。DeepCodeのテクノロジーを活用するSnyk Codeは、他のSAST製品の10~50倍の速さでスキャンできるため、開発者は開発中に使うことができます。開発後に、プロセスを遅らせる煩雑な工程として実行する必要はありません。

  • 卓越した精度 - 他のツールを使うお客様から最もよく聞く課題の一つが、膨大な数の誤検知です。開発者を重視する私たちは、対応する価値のある、実行可能な検出結果を提供したいと考えています。DeepCodeによって加わったセマンティック分析エンジンは、Snykの脆弱性データベースをもとにトレーニングされており、誤検知をほぼゼロに抑えます。

開発者ファーストのSASTが重要な理由

摩擦のない開発者ファーストのアプローチをSASTに取り入れ、Snykのクラウドネイティブアプリケーションセキュリティプラットフォームの一部として提供することで、スピードが求められる開発チームとセキュリティチームに多くのメリットをもたらします。

  • 開発者の生産性向上 - 開発者のワークフローにリアルタイムテストを組み込むことで、通常の開発プロセス中に問題をすばやく解決できます。これは問題を解決するうえで最も簡単で、開発への影響も最小限に抑えられるタイミングです。

  • リスクの低減とセキュリティ態勢の強化 - 開発者ファーストかつ卓越した精度でSASTを実装することで、開発の後工程に進む問題が減り、よりセキュアなコードを予定どおりにリリースできます。プロセスの後半でセキュリティテストを実施すると、イノベーションをリリースするメリットと、脆弱なアプリケーションをデプロイするリスクの高まりを天秤にかける「リスク対リターン」の判断を迫られることがあります。

  • DevSecOps - 現代の開発チームは、ソフトウェア開発全体のスピードと品質を高めるためにDevOpsを活用しています。しかし、セキュリティが後回しになり、プロセスの監査やゲートのような工程になってしまうと、こうしたメリットを十分に実現できません。プロセスにセキュリティを組み込むことで、DevOpsが約束するイノベーションを実現できます。

  • 単一のプラットフォームで効率化 - クラウドネイティブアプリケーションの各要素、たとえばコード、オープンソース、コンテナ、KubernetesやTerraformのセキュリティなどに別々のツールを使うと、時間と複雑さが増します。特に、もともとセキュリティの専門家ではない開発者にとって大きな負担です。現代のアプリケーションを構成するすべての要素を一つのツールでセキュアに構築できれば、開発者はスピードを維持しながら安全性も確保できます。

従来のSASTツールでは、開発者への幅広い定着は長らく実現できませんでした。Snyk Codeは、開発者がコードのセキュリティ問題に簡単かつ迅速に、正確に対処できるようにし、開発とセキュリティの両方に求められる、セキュアなアプリケーションの迅速なデプロイを効果的に支援します。

SASTとSCAの違いについて詳しく知り、セキュアなソフトウェアをリリースするための活用方法をご覧ください。

Capture the Flagを始めよう

オンデマンドのバーチャル入門ワークショップを見て、Capture the Flagの課題の解き方を学びましょう。