Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SBOM ingestion #81

Merged
merged 38 commits into from
Jul 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
df99a18
sbom ingestion
barv-jfrog Jun 2, 2024
56cb83f
sbom ingestion
barv-jfrog Jun 6, 2024
97ffa7d
merge dev
barv-jfrog Jun 9, 2024
0eac481
merge dev
barv-jfrog Jun 10, 2024
43b9137
merge dev
barv-jfrog Jun 10, 2024
2e580fe
merge dev
barv-jfrog Jun 10, 2024
c025dd1
merge dev
barv-jfrog Jun 10, 2024
311877e
merge dev
barv-jfrog Jun 10, 2024
7665c86
merge dev
barv-jfrog Jun 10, 2024
5e4a141
merge dev
barv-jfrog Jun 10, 2024
e399bb6
merge dev
barv-jfrog Jun 10, 2024
2234fc3
merge dev
barv-jfrog Jun 10, 2024
5d0bda8
tests & fixes
barv-jfrog Jun 13, 2024
c5c03bc
tests & fixes
barv-jfrog Jun 13, 2024
82d85d6
tests & fixes
barv-jfrog Jun 13, 2024
8c4fd8f
tests & fixes
barv-jfrog Jun 13, 2024
0592577
tests & fixes
barv-jfrog Jun 17, 2024
97cc333
tests & fixes
barv-jfrog Jun 17, 2024
a2f1679
tests & fixes
barv-jfrog Jun 26, 2024
b90273d
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli-security int…
barv-jfrog Jun 26, 2024
0a91aa9
Merge branch 'dev' of https://github.com/jfrog/jfrog-cli-security int…
barv-jfrog Jun 27, 2024
0705cee
tests & fixes
barv-jfrog Jun 27, 2024
b7e6fcb
tests & fixes
barv-jfrog Jul 4, 2024
8d89133
tests & fixes
barv-jfrog Jul 4, 2024
fce8692
tests & fixes
barv-jfrog Jul 7, 2024
d06b5e8
tests & fixes
barv-jfrog Jul 7, 2024
548dc2a
tests & fixes
barv-jfrog Jul 7, 2024
70e6f6b
tests & fixes
barv-jfrog Jul 7, 2024
5784b16
Merge branch 'dev' into sbom-ingestion
barv-jfrog Jul 10, 2024
8c2f08e
tests & fixes
barv-jfrog Jul 10, 2024
da8170a
Merge remote-tracking branch 'origin/sbom-ingestion' into sbom-ingestion
barv-jfrog Jul 10, 2024
e61129c
tests & fixes
barv-jfrog Jul 11, 2024
164aec5
tests & fixes
barv-jfrog Jul 15, 2024
84e0fd8
tests & fixes
barv-jfrog Jul 15, 2024
cabfafd
tests & fixes
barv-jfrog Jul 15, 2024
9aa29df
Merge branch 'dev' into sbom-ingestion
barv-jfrog Jul 15, 2024
1d9fb23
tests & fixes
barv-jfrog Jul 15, 2024
e0a3c34
Merge remote-tracking branch 'origin/sbom-ingestion' into sbom-ingestion
barv-jfrog Jul 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions cli/docs/enrich/help.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package enrich

import (
"github.com/jfrog/jfrog-cli-core/v2/plugins/components"
)

func GetDescription() string {
return "Enrich sbom format JSON located on the local file-system with Xray."
}

func GetArguments() []components.Argument {
return []components.Argument{{Name: "File path", Description: `Specifies the local file system path of the JSON to be scanned.`}}
}
4 changes: 4 additions & 0 deletions cli/docs/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ const (
Audit = "audit"
CurationAudit = "curation-audit"
GitCountContributors = "count-contributors"
Enrich = "sbom-enrich"

// TODO: Deprecated commands (remove at next CLI major version)
AuditMvn = "audit-maven"
Expand Down Expand Up @@ -134,6 +135,9 @@ var commandFlags = map[string][]string{
url, user, password, accessToken, ServerId, SpecFlag, Threads, scanRecursive, scanRegexp, scanAnt,
Project, Watches, RepoPath, Licenses, OutputFormat, Fail, ExtendedTable, BypassArchiveLimits, MinSeverity, FixableOnly,
},
Enrich: {
url, user, password, accessToken, ServerId, Threads,
},
BuildScan: {
url, user, password, accessToken, ServerId, Project, Vuln, OutputFormat, Fail, ExtendedTable, Rescan,
},
Expand Down
36 changes: 36 additions & 0 deletions cli/scancommands.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package cli

import (
"fmt"
enrichDocs "github.com/jfrog/jfrog-cli-security/cli/docs/enrich"
"github.com/jfrog/jfrog-cli-security/commands/enrich"
"os"
"strings"

Expand Down Expand Up @@ -51,6 +53,14 @@ func getAuditAndScansCommands() []components.Command {
Category: auditScanCategory,
Action: ScanCmd,
},
{
Name: "sbom-enrich",
Aliases: []string{"se"},
Flags: flags.GetCommandFlags(flags.Enrich),
Description: enrichDocs.GetDescription(),
Arguments: enrichDocs.GetArguments(),
Action: EnrichCmd,
},
{
Name: "build-scan",
Aliases: []string{"bs"},
Expand Down Expand Up @@ -154,6 +164,32 @@ func getAuditAndScansCommands() []components.Command {
}
}

func EnrichCmd(c *components.Context) error {
if len(c.Arguments) == 0 {
return pluginsCommon.PrintHelpAndReturnError("providing a file path argument is mandatory", c)
}
serverDetails, err := createServerDetailsWithConfigOffer(c)
if err != nil {
return err
}
if err = validateXrayContext(c, serverDetails); err != nil {
return err
}
specFile := createDefaultScanSpec(c, addTrailingSlashToRepoPathIfNeeded(c))
if err = spec.ValidateSpec(specFile.Files, false, false); err != nil {
return err
}
threads, err := pluginsCommon.GetThreadsCount(c)
if err != nil {
return err
}
EnrichCmd := enrich.NewEnrichCommand().
SetServerDetails(serverDetails).
SetThreads(threads).
SetSpec(specFile)
return commandsCommon.Exec(EnrichCmd)
}

func ScanCmd(c *components.Context) error {
if len(c.Arguments) == 0 && !c.IsFlagSet(flags.SpecFlag) {
return pluginsCommon.PrintHelpAndReturnError("providing either a <source pattern> argument or the 'spec' option is mandatory", c)
Expand Down
Loading
Loading