Snyk for .NET、Go、PHPを発表
Aner Mazur
2017年12月21日
0 分で読めますホリデーシーズンが近づいてきました。Snykの成長を続けるコミュニティに、ささやかな贈り物をしてみてはいかがでしょうか。
Snykはこれまで、セキュリティを損なうことなくオープンソースコードを簡単に利用できるよう取り組んできました。そして本日、新たな一歩として、.NET、Go、PHP向けのCLIサポートを開始します。
CLIを使えば、アプリケーションを手動でテストしたり、CIプロセスの重要なステップでテストしたりできます。依存関係ツリーを調べて、使用中の各依存関係とそのバージョンを特定し、すべてをテストします。ソースコード管理とのインテグレーションも近日中に提供予定です。
さっそく数分だけ(本当にすぐ終わります)、アプリを安全に保ちましょう。
クイックスタート
まず、Snykを最新バージョンにインストールまたはアップグレードし、認証します。
Snykはローカルにインストールされているモジュールを参照してすべての依存関係を解決するため、モジュールがすでに利用可能であることを確認してください。
.NETの場合は、Visual Studioまたはdotnet restoreを使って、packages/(.NET)またはobj/(.NET Core)フォルダーにファイルが配置されていることを確認してください。
Golangの場合は、dep ensureまたはgovendor syncを使ってvendor/にファイルが配置されていることを確認してください。また、GOPATH環境変数が正しく設定されている必要があります。
PHPの場合は、composer installによってcomposer.lockファイルが作成されていることを確認してください。
次に、プロジェクトのフォルダーに移動して、脆弱性をテストします。
次のように、検出されたすべての脆弱性が表示されます。
SnykのUIでプロジェクトを追跡し、新たに公開された脆弱性を確認するには、monitorコマンドを使います。CI環境でsnyk testとsnyk monitorの両方を使うことで、デプロイパイプラインにセキュリティを組み込めます。

Goのセキュリティ対策
Goエコシステムには驚くほど多くのパッケージマネージャーがありますが、「公式実験版」パッケージマネージャーのdepに集約され始めており、採用するプロジェクトも増えています。それでも、Goのアルファ版に参加してくださったお客様のうち、かなりの割合の方からgovendorのサポートもご要望いただきました。そのため、Snyk CLIはここで紹介した両方のパッケージマネージャーをサポートしています。
Snyk CLIは直接依存関係と間接依存関係の両方のインポートを調べ、Gopkg.lockまたはvendor/vendor.jsonに保存されたロック済みバージョンと照合します。
今後、Golangに関する記事をいくつか公開し、Goパッケージエコシステムについて学んだことや、SnykでGoサポートを開発する際に直面したさまざまな課題をご紹介する予定です。ぜひご期待ください。
.NETのセキュリティ対策
.NETおよび.NET Coreのプロジェクトをスキャンし、NuGetの依存関係に既知の脆弱性がないか調べます。.NETプロジェクトではpackages.configファイルを、.NET Coreプロジェクトではobj/project.assets.jsonファイルを処理します。
また、.slnファイルもサポートしているため、ソリューション内のすべてのプロジェクトのオープンソースセキュリティを自動化できます。
興味深いことに、.NETのサポートを開発する中で、オープンソースの脆弱性を検査することが.NETで非常に重要だと分かり、驚きました。既定の.NET Core v2アプリケーションはMicrosoft.AspNetCore.All/2.0.0に依存しており、これだけで10件を超える脆弱性が持ち込まれるのです。ぜひ今日、プロジェクトを確認してみてください。
PHPのセキュリティ対策
Snykは、依存関係をcomposerで管理しているPHPプロジェクトのテストと監視をサポートしています。
PHPプロジェクトはcomposer.lockファイルを調べ、プロジェクト内の直接依存関係と深い依存関係すべての特定のバージョンを、Composer脆弱性データベースと照合してスキャンします。
ぜひお試しください。
このリリースに向けて、アルファ版ユーザーからフィードバックを集め、改良を重ねながら懸命に取り組んできました。ついに、すべての方にCLIを公開できることをうれしく思います。
いつもどおり、Snykはオープンソースでの利用なら、プロジェクト数にかかわらず無料です。オープンソースは開発に大きな恩恵をもたらします。できる限り安全に利用できるよう、私たちも貢献できることをうれしく思います。
ご意見やご感想がありましたら、ぜひお聞かせください。Snykをさらに良くするため、皆さんの声をいつでもお待ちしています。また、Snykでサポートしてほしい言語やパッケージマネージャーがあれば、ぜひお知らせください。優先順位を決める参考になるだけでなく、テストやフィードバックに意欲的な開発者の皆さんに、早期アクセスを提供できるのも楽しみです。

