Snyk Open Sourceの2021年:イノベーションの1年
2021年12月21日
0 分で読めます90%以上の組織がオープンソースソフトウェアに依存しています。その一方で、直接的または推移的なオープンソース依存関係を通じて、重大なセキュリティリスクや法的リスクが生じています。
この課題の解決において、ソフトウェア構成分析(SCA)ソリューションは、組織が潜在的なセキュリティ問題を適切に特定し、軽減するうえでますます重要な役割を果たしています。Snyk Open Sourceは、開発者ファーストのSCAソリューションです。開発チームとセキュリティチームが、アプリケーションの構築に使用するオープンソースコンポーネントに含まれるセキュリティ脆弱性やライセンス上の問題を見つけ、優先順位を付け、修正できるよう支援します。
2021年、Snyk Open Sourceは次の実績を達成しました。
5億回を超えるテストを実行
1,900万件を超えるプルリクエストを対象に、脆弱性とライセンス上の問題をテスト
170万件を超える新規プロジェクトをインポート
2022年を目前に控えた今、Snyk Open Sourceがこの1年で遂げた進歩を振り返り、市場をリードする開発者ファーストのSCAソリューションを目指す歩みを見つめるには絶好の機会です。
Snyk Open Sourceが新たな機能を提供した3つの重要分野、インテグレーション、エコシステムのサポート、修正の簡素化を振り返ります。
インテグレーション
Snyk Open Sourceは、既存の開発ワークフローに統合することで、開発者の普段の作業環境に寄り添うことを目指しています。そのため、開発者のローカル開発環境というSDLCの早い段階から、GitベースのワークストリームやCI/CDパイプラインまで、開発プロセス全体を通じて統合します。
2021年は、既存のインテグレーションの改善と新たな統合ポイントの導入に多くのリソースを投じ、セキュリティスキャンやライセンススキャンをできる限りシームレスに行えるようにしました。
JetBrains IDE向けプラグインを刷新し、最近ではVisual Studio Code拡張機能でSnyk Open Sourceの新たなサポートを開始しました。

6月には、Atlassian Bitbucket Cloudとのファーストパーティーインテグレーションを発表しました。Bitbucket内に新たにSecurityタブを設けてSnykを組み込み、既存の脆弱性やオープンソースライセンスの問題を可視化することで、解決に向けた優先順位を付けやすくします。

Java Mavenの開発者向けには、プラグインを刷新したことを発表しました。Maven Centralで公開されており、ビルドサイクルに組み込んで、アプリケーションの脆弱性をより簡単にスキャンできます。
また、GitHub Code ScanningでSnyk Open Sourceをサポートしました。オープンソース依存関係の問題を自動的にスキャンし、GitHubのSecurityタブ内で直接確認できます。

Jenkinsプラグインも大幅にアップグレードし、使いやすさとパフォーマンスを多方面で改善しました。これにより、Jenkinsベースのパイプラインにセキュリティスキャンをより簡単に統合できます。改善点の詳細は、Jenkins plugin V3の発表をご覧ください。
最後に、Snyk CLIです。毎月数百万回ダウンロードされ、数百万回のスキャンを実行するSnyk CLIは、開発者が開発ワークフローにセキュリティを組み込めるよう、継続的に改善・進化しています。2021年には、複数ブランチのサポートをはじめ、数多くの機能強化を行いました。
エコシステムのサポート
Snyk Open Sourceは幅広いエコシステムをサポートしており、主要なプログラミング言語で構築されたものを含め、あらゆる種類のアプリケーションをスキャンできます。対応言語はJavaScript、Java、Python、Go、.NET、Ruby、PHP、Swiftなどです。
Snyk Open Sourceは最近、セキュリティスキャンの対象を重要なユースケースである「パッケージマネージャーで管理されていないオープンソース」にまで拡大し、大きな節目を迎えました。開発者がアプリケーションにオープンソースを取り込む際、必ずしもパッケージマネージャーを使うとは限りません。こうした方法はC/C++など、特定のエコシステムでよく見られますが、それらに限りません。C/C++のサポートを含む最近のベータ版の発表は、このユースケースへの対応に向けた第一歩です。今後はほかの言語にも対応を広げていきます。

今年初めには、Elixirのサポートを追加しました。Snyk CLIを使えば、Elixir開発者はMix/Hexプロジェクトを手動で、またはCIプロセスの重要な段階でテスト・監視できます。これにより、既知の脆弱性を早期に検出し、本番環境へのコードのデプロイ前に対処できます。

2021年はSnyk Open Sourceにとって、既存のエコシステムへの対応を強化する年でもありました。.NETサポートに修正アドバイスと自動修正PRを追加したことで、Snyk Open Sourceがスキャンした.NETアプリケーションの脆弱性を、より簡単に特定・修正できるようになりました。また、Mavenの依存関係解決の仕組みを新バージョンに移行中です。これにより、Gitからインポートしたプロジェクトのスキャン精度が向上します。
修正の判断をより簡単かつ正確に
開発者ファーストとは、開発者が問題を特定できるようにするだけでなく、迅速かつ正確に対応できるよう支援することです。Snyk Open Sourceは、オープンソース依存関係で検出された脆弱性の優先順位付けと修正を簡単にする、実用的で自動化された修正ワークフローを提供しています。
その一環として、10月にSnyk CLIに新しいsnyk fixコマンドを導入しました。ローカルテストやCI/CDで検出された脆弱性に対し、開発者が修正の推奨を自動適用しやすくなります。

さらに、オープンソース依存関係で検出された問題に関するセキュリティインテリジェンスを強化し、より正確な優先順位付けを可能にするための投資を行いました。たとえば、新しいSocial Trends機能では、特定の脆弱性がTwitterで話題になっているかどうかを確認できます。また、脆弱性が悪意のあるパッケージに由来するかどうかも、Snyk Open Source内でより目立つ形で確認できるようになりました。悪意のあるオープンソースパッケージを利用したソフトウェアサプライチェーン攻撃が急増するなか、これは重要な判断材料になります。

最後に、Reachable Vulnerabilitiesを支えるエンジンを大幅に改善しました。Java MavenおよびGradleのGitHubからインポートしたプロジェクトを対象に、アプリケーションの実行パス上で特定の脆弱性に実際に到達可能かどうかを、ユーザーがより的確に判断し、それに応じて修正の優先順位を付けられるようになりました。このエンジンはSnyk Code(Snykの静的アプリケーションセキュリティテスト(SAST)ソリューション)を基盤としており、スキャンの大幅な高速化と高精度化を実現します。
2022年の展望
デジタルトランスフォーメーションが加速するなか、オープンソースは今後もソフトウェア開発で重要な役割を担い続けます。オープンソースは、企業が競争力を保ち、成功するために必要な迅速な開発を支えてきました。そしてこれからも支え続けるでしょう。同時に、オープンソースの利用に伴うリスクも高まり続けます。
2021年は、ソフトウェアサプライチェーンセキュリティが活発に議論された年でした。これは新しい攻撃手法ではありません。しかし、現代のソフトウェアサプライチェーンを悪用した攻撃が増加し、世界的に注目を集めたことで、この問題が広く認識されるようになりました。バイデン大統領の大統領令は、問題への認識を高めるとともに、開発者ファーストのソリューションが必要であることを示しました。Snyk Open SourceをはじめとするSnykプラットフォームは、すでに組織がこの課題に取り組むための手段を提供しています。2022年に向けて、より包括的なソリューションの開発にさらに多くのリソースを投じていきます。
Snyk Open Sourceは今後も、開発チームとセキュリティチームが脆弱性に優先順位を付けるための新たな方法を提供していきます。何千もの脆弱性が積み上がる状況では、組織の規模を問わず、優先順位付けが大きな課題となることを私たちは認識しています。このプロセスをより管理しやすく、効果的にする革新的なソリューションをすでに開発中です。
もちろん、Snyk Open Sourceは既存の対応エコシステムのサポート強化を続けるとともに、新しい言語、フレームワーク、パッケージマネージャーへの対応も進めます(Rustに対応するの?と聞こえた気がしますが???)。
2022年もSnyk Open Sourceにとって、機能満載の1年になる予定です。今後のお知らせにご期待ください。
新年を、そして安全な1年をお迎えください!
CTFを始めよう
オンデマンドのバーチャル入門ワークショップを視聴して、CTFの課題の解き方を学びましょう。


