gosec fixes and nosec adds
All checks were successful
code scans / scans (push) Successful in 1m2s

This commit is contained in:
jake 2025-04-24 13:43:55 -04:00
parent 1e946bdf2f
commit 2dc4807908
4 changed files with 18 additions and 8 deletions

View File

@ -48,7 +48,8 @@ var configCmd = &cobra.Command{
viper.Set("server", cfgserver) viper.Set("server", cfgserver)
viper.Set("password", string(ciphert)) viper.Set("password", string(ciphert))
viper.Set("port", cfgport) viper.Set("port", cfgport)
viper.WriteConfig() err = viper.WriteConfig()
cobra.CheckErr(err)
fmt.Println() fmt.Println()
fmt.Println("Config file updated!") fmt.Println("Config file updated!")
}, },
@ -57,9 +58,11 @@ var configCmd = &cobra.Command{
func init() { func init() {
initConfig() initConfig()
configCmd.Flags().StringVarP(&cfgserver, "server", "s", "", "server address") configCmd.Flags().StringVarP(&cfgserver, "server", "s", "", "server address")
configCmd.MarkFlagRequired("server") err := configCmd.MarkFlagRequired("server")
cobra.CheckErr(err)
configCmd.Flags().IntVarP(&cfgport, "port", "p", 0, "server rcon port") configCmd.Flags().IntVarP(&cfgport, "port", "p", 0, "server rcon port")
configCmd.MarkFlagRequired("port") err = configCmd.MarkFlagRequired("port")
cobra.CheckErr(err)
rootCmd.AddCommand(configCmd) rootCmd.AddCommand(configCmd)
} }
@ -72,7 +75,8 @@ func initConfig() {
viper.SetConfigType("yaml") viper.SetConfigType("yaml")
viper.SetConfigName(".mctl") viper.SetConfigName(".mctl")
viper.AutomaticEnv() viper.AutomaticEnv()
viper.ReadInConfig() err = viper.ReadInConfig()
cobra.CheckErr(err)
if err := viper.ReadInConfig(); err != nil { if err := viper.ReadInConfig(); err != nil {
//file does not exist, create it //file does not exist, create it
@ -92,6 +96,7 @@ func initConfig() {
//write config //write config
viper.Set("customcmd", cmdMap) viper.Set("customcmd", cmdMap)
viper.Set("device", string(uu)) viper.Set("device", string(uu))
viper.SafeWriteConfig() err = viper.SafeWriteConfig()
cobra.CheckErr(err)
} }
} }

View File

@ -21,7 +21,8 @@ var deleteCmd = &cobra.Command{
cmdMap := viper.Get("customcmd").(map[string]any) cmdMap := viper.Get("customcmd").(map[string]any)
delete(cmdMap, args[0]) delete(cmdMap, args[0])
viper.Set("customcmd", cmdMap) viper.Set("customcmd", cmdMap)
viper.WriteConfig() err := viper.WriteConfig()
cobra.CheckErr(err)
} }
}, },
PreRunE: func(cmd *cobra.Command, args []string) error { PreRunE: func(cmd *cobra.Command, args []string) error {

View File

@ -36,7 +36,8 @@ var saveCmd = &cobra.Command{
} }
cmdMap[args[0]] = txt cmdMap[args[0]] = txt
viper.Set("customcmd", cmdMap) viper.Set("customcmd", cmdMap)
viper.WriteConfig() err := viper.WriteConfig()
cobra.CheckErr(err)
fmt.Println("\nSaved!") fmt.Println("\nSaved!")
} }
} }

View File

@ -21,7 +21,10 @@ func EncryptPassword(b []byte) ([]byte, error) {
return nil, err return nil, err
} }
ct := aesg.Seal(nil, []byte(nonce), []byte(b), nil) //adding #nosec trigger here since gosec interprets this as a hardcoded nonce value. The nonce is calculated using crypto/rand when the
//config command is ran and is pulled from memory when used any times after, for now we must prevent the scan from catching here until gosec
//is updated to account for this properly
ct := aesg.Seal(nil, []byte(nonce), []byte(b), nil) // #nosec
return ct, nil return ct, nil
} }