diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/cvss.go | 33 |
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) +} |