go-cvss パッケージ v1.5.0 をリリースした
バグ報告が止まらない。 ごめんなさい ごめんなさい ごめんなさい…
ということで github.com/goark/go-cvss
パッケージの v1.5.0 をリリースした。
このバージョンで CVSSv2 のデコードを行うサブパッケージを v2/base
から v2/metric
に移行した。
こんな感じ。
//go:build run
// +build run
package main
import (
"fmt"
"os"
"github.com/goark/go-cvss/v2/metric"
)
func main() {
bm, err := metric.NewBase().Decode("AV:N/AC:L/Au:N/C:N/I:N/A:C") //CVE-2002-0392
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
fmt.Printf("Severity: %v (%v)\n", bm.Severity(), bm.Score())
// Output:
// Severity: Severity: High (7.8)
}
これに伴い v2/base
パッケージ以下の型定義およびメソッドには Deprecated
マークを付けている。
一連の変更でようやく CVSSv2 処理系は v3/metric
パッケージと互換になった。
まぁ今どき CVSSv2 を使うことはないと思うけどね。
そもそも github.com/goark/go-cvss
パッケージ自体がかなり試行錯誤していて,随分とカオスな状態になっていたので,この機会に整理できてよかった。
もうバグはないよなぁ。
ないと思いたい。
2022-01-31 追記
その後のバグ報告で,上述の Deprecated
マークを付けた v2/base
パッケージはデータ構造上 CVSSv2 の仕様を満たせないことが分かったので v1.6.0 で drop した。
とほほ orz
ブックマーク
参考図書
- プログラミング言語Go
- アラン・ドノバン (著), ブライアン・カーニハン (著), 柴田芳樹 (著)
- 丸善出版 2016-06-20 (Release 2021-07-13)
- Kindle版
- B099928SJD (ASIN)
- 評価
Kindle 版出た! 一部内容が古びてしまったが,この本は Go 言語の教科書と言ってもいいだろう。感想はこちら。
- 初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド
- Jon Bodner (著), 武舎 広幸 (翻訳)
- オライリージャパン 2022-09-26
- 単行本(ソフトカバー)
- 4814400047 (ASIN), 9784814400041 (EAN), 4814400047 (ISBN)
- 評価
2021年に出た “Learning Go” の邦訳版。私は版元で PDF 版を購入。 Go 特有の語法(idiom)を切り口として Go の機能やパッケージを解説している。 Go 1.19 対応。
- 実用 Go言語 ―システム開発の現場で知っておきたいアドバイス
- 渋川 よしき (著), 辻 大志郎 (著), 真野 隼記 (著)
- オライリージャパン 2022-04-22
- 単行本(ソフトカバー)
- 4873119693 (ASIN), 9784873119694 (EAN), 4873119693 (ISBN)
- 評価
版元のデジタル版を購入。 Go で躓きやすい点を解説していくのが最初の動機らしい。「◯◯するには」を調べる際にこの本を調べるといいかも。