Go modulesを簡単かつ正確にセキュアに
Ariel Ornstein
2019年8月7日
0 分で読めます本日より、modulesを使用するGoプロジェクトのオープンソースの脆弱性を開発者がテスト・監視し、パッケージ単位で正確なアラートを受け取れるようになりました。
開発者がオープンソースコードを安全に利用できるよう支援することに取り組み、エコシステムを拡大し、対応する言語やパッケージマネージャーを継続的に増やすために尽力しています。これまでSnykは、パッケージマネージャーとしてdepまたはGo vendorを使用するGoプロジェクトに対応していました。同様に、人気が高まっているGo modulesも、安全かつ高精度に利用でき、開発の妨げにならないことを確認したいと考えていました。
Go modulesプロジェクトの脆弱性をパッケージ単位で通知
今回の対応により、Snyk CLI(snyk test)を使ってGoプロジェクトをスキャンし、脆弱性を検出できるようになりました。
Snykは、使用されているmoduleだけでなく、パッケージ単位の粒度で、プロジェクトの依存関係ツリーを構造化して算出します。これにより、脆弱性が確認された特定のパッケージだけを検出し、その脆弱なパッケージが実際に使用されている場合にのみアラートを通知します。その結果、Snykのアラートはより正確になり、誤検知や不要な通知を減らせます。
次の画像は、Go moduleプロジェクトの依存関係ツリーを示しています

依存関係ツリーを、Goに特化した包括的なデータを提供する独自の脆弱性データベースと照合します。脆弱なパッケージが見つかった場合は、データベース内の該当パッケージを特定し、そのパッケージと脆弱性の詳細をご案内します。
プロジェクトを監視して安全を維持
Go modulesプロジェクトを継続的に監視し、新たに関連する脆弱性が公開された際に通知することで、プロジェクトの安全を守ります。その場合は、脆弱なパッケージを特定してお知らせします。当社のセキュリティチームは新たな脆弱性を調査・発見し、データベースに追加しています。多くの場合、公開データベースに掲載される前に発見します。
利用を開始するには
Snykは、開発者がセキュリティツールを手軽に利用できるようにすることに取り組んでいます。
Go modulesプロジェクトの利用を開始してスキャンするのは簡単です。CLIをインストールし、go.modファイルがあるフォルダーに移動して、snyk testまたは_snyk monitor._を実行するだけです。
CLIの詳細はこちら、Goへの対応についてはこちらをご覧ください。
安全な開発を!
Capture the Flagを始めよう
オンデマンドのバーチャル入門ワークショップを見て、Capture the Flagの課題の解き方を学びましょう。
