> Source: https://www.ymotongpoo.com/works/goblog-ja/govulncheck/


# Govulncheck v1.0.0がリリースされました！

[Govulncheck v1.0.0 is released!](https://go.dev/blog/govulncheck) by Julie Qiu, for the Go security team

govulncheck v1.0.0 のリリースをお知らせできることを嬉しく思います。同時に、スキャン機能を他のツールに
統合するためのAPIのv1.0.0もリリースされました。

Goの脆弱性管理サポートは、昨年9月に[最初に発表されました](/blog/vuln)。それ以来いくつもの変更を重ね、
本日のリリースに至りました。

この記事では、更新されたGoの脆弱性ツールと、その使い方について説明します。また、Goプロジェクトにおいて
セキュリティを優先するための一助として、[セキュリティのベストプラクティスガイド](/security/best-practices)も
最近公開しました。

## Govulncheck

[Govulncheck](https://golang.org/x/vuln/cmd/govulncheck) は、Goユーザーがプロジェクトの依存関係に含まれる
既知の脆弱性を見つけるのを助けるコマンドラインツールです。このツールはコードベースとバイナリの両方を解析でき、
実際にコードが呼び出している関数の脆弱性を優先的に表示することでノイズを減らします。

govulncheckの最新バージョンは
[go install](https://pkg.go.dev/cmd/go#hdr-Compile_and_install_packages_and_dependencies)
を使ってインストールできます。

```shell-session
go install golang.org/x/vuln/cmd/govulncheck@latest
```

次に、モジュール内でgovulncheckを実行します。

```shell-session
govulncheck ./...
```

ツールの使い方をはじめるための詳しい情報は、[govulncheckのチュートリアル](/doc/tutorial/govulncheck)を
参照してください。

今回のリリースにより、安定版のAPIが利用可能になりました。詳細は
[golang.org/x/vuln/scan](https://golang.org/x/vuln/scan)に記載されています。このAPIはgovulncheckコマンドと
同じ機能を提供するもので、開発者がセキュリティスキャナーや他のツールをgovulncheckと統合できるようにします。
一例として、
[osv-scannerとgovulncheckの統合](https://github.com/google/osv-scanner/blob/d93d6b73e90ae392fe2b1b64a33bda6976b65b2d/internal/sourceanalysis/go.go#L20)
を参照してください。

## データベース

Govulncheckは、公開されているGoモジュールの既知の脆弱性に関する情報を包括的に提供するGo脆弱性データベース、
[https://vuln.go.dev](https://vuln.go.dev) によって支えられています。データベース内のエントリは
[pkg.go.dev/vuln](https://pkg.go.dev/vuln) で閲覧できます。

初回リリース以降、パフォーマンスの向上と長期的な拡張性の確保のために
[データベースAPI](/security/vuln/database#api)を更新しました。独自の脆弱性データベースのインデックスを
生成するための実験的なツールも
[golang.org/x/vulndb/cmd/indexdb](https://golang.org/x/vulndb/cmd/indexdb) で提供されています。

Goパッケージのメンテナーの方は、ぜひ自分のプロジェクトにおける公開されている脆弱性について
[情報を提供してください](/s/vulndb-report-new)。

Go脆弱性データベースについての詳細は、[go.dev/security/vuln/database](/security/vuln/database)
を参照してください。

## 各種ツールとの統合

脆弱性の検出は、多くのGo開発者のワークフローに既に組み込まれている一連のツール群に統合されました。

Go脆弱性データベースのデータは [pkg.go.dev/vuln](https://pkg.go.dev/vuln) で閲覧できます。脆弱性の情報は
pkg.go.devの検索ページやパッケージページにも表示されるようになりました。例えば、
[golang.org/x/text/languageのバージョンページ](https://pkg.go.dev/golang.org/x/text/language?tab=versions)
では、モジュールの古いバージョンに含まれる脆弱性が表示されます。

Visual Studio Code用のGo拡張機能を使えば、エディタ上で直接govulncheckを実行することもできます。使い方は
[こちらのチュートリアル](/doc/tutorial/govulncheck-ide)を参照してください。

最後に、多くの開発者がCI/CDシステムの一部としてgovulncheckを実行したいと考えていることも承知しています。
その第一歩として、プロジェクトに統合するための
[govulncheck用のGitHub Action](https://github.com/marketplace/actions/golang-govulncheck-action)
を用意しました。

## 動画による解説

上記で紹介した統合機能のデモに興味がある方は、今年のGoogle I/Oで発表した
[Build more secure apps with Go and Google](https://www.youtube.com/watch?v=HSt6FhsPT8c&ab_channel=TheGoProgrammingLanguage)
というトークで、これらのツールの解説を行っていますのでご覧ください。

## フィードバック

いつものことですが、皆さんからのフィードバックをお待ちしています！貢献の方法や改善へのご協力方法については、
[こちら](/security/vuln/#feedback)をご覧ください。

Goの脆弱性管理サポートの最新リリースが皆さんのお役に立ち、より安全で信頼性の高いGoエコシステムの構築に
ご協力いただけることを願っています。

By Julie Qiu, for the Go security team

