2020/3/5
yamoryは「安心してテクノロジーを活用できる世界を実現する」というミッションを掲げて開発している脆弱性自動管理ツールです。可能な限り多くのエンジニアにご利用頂き、「すべてのエンジニアにとって、セキュリティを当たり前にする」というビジョンを実現するために活動しています。
エンジニアにとってセキュリティが煩わしいものではなく、日常の中で当たり前のように処理されるような、いわゆるDevSecOpsの世界観を本気で実現したい。yamoryによって、セキュリティ関連に費やさざるを得ない多大な工数を少しでも削減することで、エンジニアの方々がより技術的な側面に注力でき、より彼らの幸せに近づく世界を目指しています。
今回リリースしたGo言語への対応も、ビジョン実現のための大きな一歩です。
Go言語はStackOverflowの調査にもあります通り、ここ数年で大変な人気を集めている言語で、エンジニアのみなさんも注目されていることかと思います。
また、既に他の言語でyamoryをご利用のお客様からも多くのご要望を頂いており、今後新たに生まれるプロジェクトはどんどんGo言語に置き換わっていく未来が垣間見えています。
そのようなプロジェクトでyamoryを導入しておくことで、プロジェクトが常にセキュアな状態を維持でき、開発上のセキュリティ負債を少ない状態に保つことが可能となります。
Go言語をご利用の方は、是非一度yamoryをご体験ください。
現在のGo言語スキャンはアルファ版となっており、以下のような仕様となっています。
Go Modules (go.sum) で管理された依存パッケージのスキャン・脆弱性検知が可能となります。
GitHub リポジトリスキャンでのみご利用できます。
以下のステップを実施するだけで脆弱性を検出し、危険度に応じて対応優先順位を設定してくれます。
登録が完了したら、「はじめる」ボタンをクリックして早速スキャンを行ってみましょう。
Go言語のスキャンは、現在GitHubスキャンにのみ対応しておりますので、「GitHubリポジトリから追加」を選択します。
初回はGitHubとの連携を行って頂き、その後Go言語の含まれるリポジトリを選択してください。
スキャンが完了するまでしばしお待ちいただくと、検出されたマニフェストファイルの一覧が表示されます。
それぞれのマニフェストファイルをクリックしていただくと、そのマニフェストに含まれる依存ソフトウェア一覧が閲覧できます。
スキャンが問題なく行われたら、検出された脆弱性を確認しましょう。左のメニューから「脆弱性」を選択すると、先程スキャンしたリポジトリに含まれる脆弱性が一覧表示されます。
脆弱性の対応優先順位がImmediate / Delayed / Minorという分類で自動で設定されています。クリックすると脆弱性の詳細(どのリポジトリ・マニフェストで発生したか、情報元など)が確認できます。
詳細ページにはどのバージョンに上げればこの脆弱性が修正されているか記載されています。時間を掛けたくないときはそのバージョンにアップデートしてテストを実行するだけです。
詳細が知りたければリファレンスやPoCの情報なども掲載しています。ライブラリのアップデートには破壊的変更が含まれている場合も往々にしてありますので、事前に影響範囲を調べながら慎重に行うことも必要です。
Go言語のスキャン精度としては、現状の対応範囲もライブラリ・脆弱性の検出精度も、まだまだ満足行くものではありません。Go言語はもちろんyamoryに関するあらゆる点で、皆様の忌憚なきフィードバックを、心よりお待ち申し上げております。