Go 言語のサポートを始めました!
こんにちは、yamory でプロダクトマネージャーをしている今井こと @まいまいです。
今回は私がプロダクトマネージャーとして、Go 言語をサポートするまでの経緯や想いについてお話したいと思います。
yamory が目指す世界
yamory は「安心してテクノロジーを活用できる世界を実現する」というミッションを掲げて開発している脆弱性自動管理ツールです。
可能な限り多くのエンジニアにご利用頂き、「すべてのエンジニアにとって、セキュリティを当たり前にする」というビジョンを実現するために活動しています。
エンジニアにとってセキュリティが煩わしいものではなく、日常の中で当たり前のように処理されるような、いわゆる DevSecOps の世界観を本気で実現したい。そんなプロダクトです。
プロダクトマネージャーとして、私自身が掲げるビジョンは「人の幸せ」です。
エンジニアとして十数年を過ごした経験から、日々発生する脆弱性対応の困難さは身に染みており、yamory によって、セキュリティ関連に費やさざるを得ない多大な工数を少しでも削減することで、エンジニアの方々がより技術的な側面に注力でき、より彼らの幸せに近づく世界を目指しています。
Go 言語への対応について
今回リリースさせていただきました Go 言語への対応も、ビジョン実現のための大きな一歩です。
Go 言語は StackOverflow の調査にもあります通り、ここ数年で大変な人気を集めている言語で、エンジニアのみなさんも注目されていることかと思います。
このような先進的な技術を利用される方々はセキュリティについての関心も高い方が多くいらっしゃるはず。
そのような方々と共に yamory を育てていくことができれば、きっと今よりも素晴らしい世界に近づける。
私はそう信じています。
また、既に他の言語で yamory をご利用のお客様からも多くのご要望を頂いており、今後新たに生まれるプロジェクトはどんどん Go 言語に置き換わっていく未来が垣間見えています。
そのようなプロジェクトで初めから yamory のようなプロダクトを導入しておくことで、プロジェクトが常にセキュアな状態を維持でき、開発上のセキュリティ負債を少ない状態に保つことが可能となるでしょう。
正に DevSecOps を共に実現していくことができるのです。
Go 言語をご利用の方は、是非一度 yamory をご体験ください!
Go 言語スキャンの方法
現在の Go 言語スキャンはアルファ版となっており、以下のような仕様となっています。^1
GitHub リポジトリスキャンでのみご利用できます。
スキャン方法はとても簡単です。
以下 3 つのステップを実施するだけで脆弱性を検出し、危険度に応じて対応優先順位を設定してくれます。
1.yamory の無料トライアルを申し込む
2.Go 言語が含まれる GitHub リポジトリを追加する
3.自動的に脆弱性の検出、対応優先順位が設定される
以下でそれぞれ詳細に見ていきましょう。
1. yamory の無料トライアルを申し込む
https://yamory.io/contact から、14 日間の無料トライアルを開始できます。

2. Go 言語が含まれる GitHub リポジトリを追加する
登録が完了したら、「はじめる」ボタンをクリックして早速スキャンを行ってみましょう。

Go 言語のスキャンは、現在 GitHub スキャンにのみ対応しておりますので、「GitHub リポジトリから追加」を選択します。

初回は GitHub との連携を行って頂き、その後 Go 言語の含まれるリポジトリを選択してください。


スキャンが完了するまでしばしお待ち頂くと、検出されたマニフェストファイルの一覧が表示されます。

それぞれのマニフェストファイルをクリックしていただくと、そのマニフェストに含まれる依存ソフトウェア一覧が閲覧できます。
3. 自動的に脆弱性の検出、対応優先順位が設定される
スキャンが問題なく行われたら、検出された脆弱性を確認しましょう。
左のメニューから「脆弱性」を選択すると、先程スキャンしたリポジトリに含まれる脆弱性が一覧表示されます。

脆弱性の対応優先順位が Immediate / Delayed / Minor という分類で自動で設定されています。
クリックすると脆弱性の詳細(どのリポジトリ・マニフェストで発生したか、情報元など)が確認できます。


詳細ページにはどのバージョンに上げればこの脆弱性が修正されているか記載されています。
時間を掛けたくないときはそのバージョンにアップデートしてテストを実行するだけです。
もちろん、詳細が知りたければリファレンスや PoC の情報なども掲載しています。
ライブラリのアップデートには破壊的変更が含まれている場合も往々にしてありますので、事前に影響範囲を調べながら慎重に行うことも必要です。
さいごに
Go 言語のスキャン精度としては、現状の対応範囲もライブラリ・脆弱性の検出精度も、まだまだ満足行くものではありません。
これからも積極的に改善を行って参りますが、是非皆様の声を聴き、皆様と一緒に yamory を育て、すべてのエンジニアが安心して開発できる世界を作っていきたいと考えています。
Go 言語はもちろん yamory に関するあらゆる点で、皆様の忌憚なきフィードバックを、心よりお待ち申し上げております!