evidence

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2025 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cmd = &cobra.Command{
	Use:   "evidence",
	Short: "get evidence",
	Long:  "obtain the tee report in JSON format",

	SuggestionsMinimumDistance: 1,
	DisableSuggestions:         false,
	Run: func(cmd *cobra.Command, args []string) {
		tee, _ := cmd.Flags().GetString("tee")
		devices, _ := cmd.Flags().GetString("devices")
		userdata, _ := cmd.Flags().GetString("userdata")
		reportdata, _ := cmd.Flags().GetString("reportdata")

		outputPath, _ := cmd.Flags().GetString("output")

		var nodeEvidence *teetool.NodeEvidence
		var err error

		if userdata != "" {
			nodeEvidence, err = teetool.GetNodeEvidenceWithUserData(tee, devices, userdata, "")
			if err != nil {
				logrus.Errorf("get evidence info with UserData failed, error: %s", err)
				return
			}
		} else {
			nodeEvidence, err = teetool.GetNodeEvidenceInfo(tee, devices, []byte(reportdata))
			if err != nil {
				logrus.Errorf("get evidence info failed, error: %s", err)
				return
			}
		}

		jsonBytes, err := json.MarshalIndent(nodeEvidence, "", "  ")
		if err != nil {
			logrus.Errorf("failed to marshal response to JSON: %s", err)
			return
		}
		fmt.Println("------------------evidence info start------------------")
		fmt.Println(consts.ColorYellow + string(jsonBytes) + consts.OutReset)
		fmt.Println("------------------evidence info end--------------------")
		fileName := fmt.Sprintf("%s-evidence.json", tee)
		err = file.EnsureDirExists(outputPath)
		if err != nil {
			fmt.Errorf("Error ensuring directory exists: %v", err)
			return
		}
		resultPath := filepath.Join(outputPath, fileName)
		err = os.WriteFile(resultPath, jsonBytes, 0644)
		if err != nil {
			logrus.Errorf("failed to write evidence to file: %s", err)
			return
		}
		fmt.Println(consts.ColorGreen + "The evidence successfully saved in: " + resultPath + consts.OutReset)
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL