aboutsummaryrefslogtreecommitdiff
path: root/cmd/cvss.go
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2022-02-21 22:09:26 -0500
committerPaul Duncan <pabs@pablotron.org>2022-02-21 22:09:26 -0500
commit5b78051b3a023e78634e8985807a7beddaa0aaa9 (patch)
tree6c69f330964e609713cc25d5b4afb03f557b9487 /cmd/cvss.go
parentc163cfd9c727200b0b426060904a18fe9baf4151 (diff)
downloadcvez-5b78051b3a023e78634e8985807a7beddaa0aaa9.tar.bz2
cvez-5b78051b3a023e78634e8985807a7beddaa0aaa9.zip
add cvss/calc.go and cmd/cvss.go (cvss calculator)
Diffstat (limited to 'cmd/cvss.go')
-rw-r--r--cmd/cvss.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/cmd/cvss.go b/cmd/cvss.go
new file mode 100644
index 0000000..d704811
--- /dev/null
+++ b/cmd/cvss.go
@@ -0,0 +1,33 @@
+package cmd
+
+import (
+ "encoding/json"
+ "github.com/pablotron/cvez/cvss"
+ "github.com/spf13/cobra"
+ "github.com/rs/zerolog"
+ "github.com/rs/zerolog/log"
+ "os"
+ "time"
+)
+
+var cvssCmd = &cobra.Command{
+ Use: "cvss",
+ Short: "CVSS vector calculator.",
+ Long: `Common Vulnerability Scoring System (CVSS) vector calculator.`,
+
+ Run: func(cmd *cobra.Command, args []string) {
+ // set global logging options
+ zerolog.TimeFieldFormat = time.RFC3339
+ zerolog.SetGlobalLevel(zerolog.InfoLevel)
+
+ // parse args, write result
+ e := json.NewEncoder(os.Stdout)
+ if err := e.Encode(cvss.Calc(args)); err != nil {
+ log.Error().Err(err).Msg("Encode")
+ }
+ },
+}
+
+func init() {
+ rootCmd.AddCommand(cvssCmd)
+}