go-myjvn パッケージを作ってみた
ちょっと思いついて spiegel-im-spiegel/go-myjvn パッケージを作ってみた。
spiegel-im-spiegel/go-myjvn パッケージは JVN が提供する「脆弱性対策情報共有フレームワーク」のひとつである MyJVN API を Go 言語でハンドリングするためのラッパークラスである。 今のところ,以下の API をサポートしている。
- 脆弱性対策概要情報一覧の取得(getVulnOverviewList)
- 期間および深刻度によるフィルタリングをサポート
- 日本語のみサポート
- 脆弱性対策詳細情報の取得(getVulnDetailInfo)
- 日本語のみサポート
サンプルコードとして go-myjvn/cli/vulnlist/main.go
も書いてみた。
中身については実際のコードを見てもらうとして(やっつけコードでゴメンペコン),実際に動かすこともできる。
以下のように2つの年月日を指定して,その期間の脆弱性情報を JSON 形式で吐き出す。
$ go run main.go 2018-02-16 2018-03-16
ちなみに1ヶ月とかの幅で期間を指定すると100件以上取ってきてワケワカメになるのでご注意を。 jq コマンドをかませると JSON 出力をいい感じに整形してくれるので多少読みやすくなるだろう。
$ go run main.go 2018-02-16 2018-03-16 | jq
spiegel-im-spiegel/go-myjvn パッケージは最低限の機能しかないが,最終的にはこれを利用して脆弱性情報を帳票出力するところまで持っていきたい。 まぁ,余暇でやってることなので牛の如き歩みだけど。
なお,脆弱性情報収集を含めた統合的なソリューションが望みなら Vuls がいいらしい。
Linux および FreeBSD 用だが Go 言語製で GPLv3 で公開されている。