aboutsummaryrefslogtreecommitdiff
path: root/cmd/cvss.go
diff options
context:
space:
mode:
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)
+}