Snyk Codeの2021年振り返りと2022年への抱負：SASTの再定義

本記事は2021年12月21日に公開した英語ブログ[Snyk Code in 2021: Redefining SAST](https://snyk.io/blog/snyk-code-review-2021/)の日本語版です。

Snykのセキュリティプラットフォームは、下記の4つの製品を提供しています。

* Snyk Open Source: オープンソースコードの脆弱性を発見し、修正することができます。
* Snyk Code: アプリケーションコードの脆弱性を発見し、修正することができます。
* Snyk Container: コンテナイメージの脆弱性を発見し、修正することができます。
* Snyk Infrastructure as Code: Kubernetes、Helm、Terraformの設定ファイルの脆弱性を発見し、修正します。

そのうち、本日のブログはSnyk Codeについて、2021年の製品アップデートのまとめと、2022年の方向性についての話になります。

![logo-solid-background.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/c329e85a-0791-6799-92aa-fcc4246a3a8b.png)

2021年初頭から、[Snyk Codeは、ユーザーが無料でトライアルできるように、フリーミアムモデルでの提供を開始しました](https://snyk.io/blog/snyk-code-now-available-free-sast/)。Snyk Codeは、開発者が独自コードのセキュリティ欠陥を迅速かつ正確に発見し、優先順位をつけて修正することを支援します。開発者環境（IDE）から継続的インテグレーションと開発（CI/CD）パイプラインまで、ソフトウェア開発ライフサイクル（SDLC）のあらゆる段階で詳細な修正アドバイスを提供するSnyk Codeは、[静的アプリケーションセキュリティテスト（SAST）](https://snyk.io/learn/application-security/static-application-security-testing/)に革命を起こします。

![blog-snyk-code-2021-xss.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/5e6d8fdb-19eb-eb77-775d-5111d3472f18.gif)
Snyk Codeのユーザーインターフェースには、データの流れや問題を解決するための情報が表示されます。

Snyk Codeには、**開発者の生産性を維持しながら、低い総所有コスト（TCO）を維持するために**、組織が必要とするすべてのものが含まれています。リアルタイムのスキャンと推奨される修正を提供する Snyk Code は、SDLC 全体を通じて脆弱なコードをスキャンし、多くの一般的な言語とフレームワークをカバーし、多くの開発者ツールと統合しています。Snyk Codeのもう一つの価値ある側面は、スキャンの正確さです。これは、セキュリティ専門家のチームによって維持され、グローバルな開発者コミュニティから継続的に学習し、着実に成長する知識ベースによって支えられています。Snyk Codeは、PCI DSS、HIPAA、ISO 27001などの業界標準に準拠し、コンプライアンスを維持するために、この幅広いカバー範囲と深いセキュリティ専門知識で組織を支援します。

#素早いスタートと着実な成長
当初から非常に大きな反響があり、それは下記の数字が物語っています。

* Snyk Codeは現在、毎月数千万件のサジェスチョン（脆弱性修正の提案）を報告しています。
* 現在、12万件以上のプロジェクトをカバーしています。
* 毎週、数千の新しいプロジェクトが追加されています。
* IDEプラグインを使ったスキャンは数百万回実行されています。

2021年のデータによると、**Snyk CodeはJavaScript/TypeScriptのコードに最も多くの問題を発見**していますが、8月に導入されたばかりのPHPが僅差で2位、JavaとPythonがそれに続いています。**これらの脆弱性の大半は**[クロスサイトスクリプティング](https://snyk.io/learn/cross-site-scripting/)ですが、スキャンによって、JavaScriptにハードコーディングされたシークレットも大量に発見されています。

![blog-snyk-code-2021-ide.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/0825fe86-cbf6-113c-c809-24eda06641a5.gif)
Snyk Codeは、Snykプラグインや拡張機能を介してIDE（ここではIntelliJ）上でネイティブに動作します。

Snyk Codeに対するフィードバックは、圧倒的にポジティブなものでした。開発者がSDLCの各ステップでSASTを組み込むことができるため、ユーザーは頻繁にスキャンの[速度](https://snyk.io/blog/sast-tools-speed-comparison-snyk-code-sonarqube-lgtm/)と精度に言及します。[Panther LabsのエンジニアリングディレクターであるJoren McReynolds氏](https://snyk.io/case-studies/panther-labs/)は、「Snyk Codeは、意味のある静的解析結果を提供してくれるので、すぐに行動を起こすことができます。」Snyk Codeは、SDLCに入る前に開発者が自らを助け、問題を修正することを可能にします。これは、[Snyk Codeの最先端のエンジン](https://snyk.io/blog/advanced-technologies-behind-snyk-code/)が、人の手を借りて常に改善され続ける学習プロセスに支えられているからこそ実現できるのです。

![blog-snyk-code-tech-workflow.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2216557/1de7a30a-1ec8-00a4-0477-7f3e643d27f5.png)

Snyk Codeは現在、JavaScript/TypeScript、Java、[PHP](https://snyk.io/blog/snyk-code-php-vulnerability-scanning-beta/)、[Python](https://snyk.io/blog/python-now-fully-supported-in-snyk-code/)、[C#](https://snyk.io/blog/snyk-code-security-scanning-c-sharp-dot-net/)、[Go](https://snyk.io/blog/snyk-code-go-security-scanning-beta/)、Rubyをサポートしています。IntelliJ、WebStorm、GoLangなどのJetBrains社製IDEや[Visual Studio Code](https://docs.snyk.io/features/integrations/ide-tools/visual-studio-code-extension-for-snyk-code)などのIDEの拡張や[プラグイン](https://snyk.io/ide-plugins/)を提供しています。さらに、GitHub、BitBucket、GitLab、Azure Reposなどのソースコード管理（SCM）システムは、Snykとシームレスに統合し、コードの整理と安全性を確保します。

#2022年に向けて
最初の12ヶ月でこれだけのことを達成しましたが、まだ始まったばかりです。2022年には、Snyk Codeは、Apex、Kotlin、C++、Swiftなどの[言語](https://snyk.io/blog/snyk-code-adds-apex-swift-language-support-api-graphql-security/)や、Visual Studio 2022などのIDEをサポートするように拡張されます。静的コード解析の概念を再定義するエンジン機能に加え、Snyk Codeチームは、Snyk Codeを大規模な管理環境における「ファーストクラス」とするために、より多くのエンタープライズ機能を追加する計画を持っています。

要約すると、1年足らずでSnyk CodeはSASTの概念を再定義したのです。セキュリティは今やSDLCのすべてのステップの一部となり得ます。ユーザーと関係者の皆さん、フィードバックをありがとうございました。これからも応援よろしくお願いします。

#最後に
日本語の公式SNSを開設しました。最新の脆弱性情報についても発信しているので、ぜひフォローをお願いします。

* [Snyk Japan Twitter](https://twitter.com/snykjp)
* [Snyk Japan Facebook](https://www.facebook.com/snykJP/)

またSnykは無料でお試しいただけます。ぜひお試しください！

https://qiita.com/SnykSec/items/aa80a976eb17299fff62


Snykを活用したブログは、ぜひQiitaアドカレ2021もご参照ください。

https://qiita.com/advent-calendar/2021/snyk