Skip to content

Commit 6ef6651

Browse files
committed
Wrap errors in remaining analyzers with AnalysisError (Batches B-E)
Batch B (OAuth/multi-credential): airtableoauth, airtablepat, datadog, dropbox, figma, launchdarkly, plaid Batch C (Complex): bitbucket, databricks, github, gitlab, jira, monday, planetscale, shopify, slack, square, stripe, twilio Batch D (Database): mysql, postgres (service: Database) Batch E (PrivateKey): privatekey (service: crypto)
1 parent db725ae commit 6ef6651

22 files changed

Lines changed: 61 additions & 61 deletions

File tree

pkg/analyzer/analyzers/airtable/airtableoauth/airtable.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ func (Analyzer) Type() analyzers.AnalyzerType { return analyzers.AnalyzerTypeAir
2222
func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
2323
token, ok := credInfo["token"]
2424
if !ok {
25-
return nil, errors.New("token not found in credInfo")
25+
return nil, analyzers.NewAnalysisError("AirtableOAuth", "validate_credentials", "config", "", errors.New("token not found in credInfo"))
2626
}
2727

2828
userInfo, err := common.FetchAirtableUserInfo(token)
2929
if err != nil {
30-
return nil, err
30+
return nil, analyzers.NewAnalysisError("AirtableOAuth", "analyze_permissions", "API", "", err)
3131
}
3232

3333
var basesInfo *common.AirtableBases

pkg/analyzer/analyzers/airtable/airtablepat/airtable.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,30 +36,30 @@ func getScopeEndpoint(scope string) (common.Endpoint, bool) {
3636
func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
3737
token, ok := credInfo["token"]
3838
if !ok {
39-
return nil, errors.New("token not found in credInfo")
39+
return nil, analyzers.NewAnalysisError("AirtablePat", "validate_credentials", "config", "", errors.New("token not found in credInfo"))
4040
}
4141

4242
userInfo, err := common.FetchAirtableUserInfo(token)
4343
if err != nil {
44-
return nil, err
44+
return nil, analyzers.NewAnalysisError("AirtablePat", "analyze_permissions", "API", "", err)
4545
}
4646

4747
scopeStatusMap[common.PermissionStrings[common.UserEmailRead]] = userInfo.Email != nil
4848

4949
var basesInfo *common.AirtableBases
5050
granted, err := determineScope(token, common.SchemaBasesRead, nil)
5151
if err != nil {
52-
return nil, err
52+
return nil, analyzers.NewAnalysisError("AirtablePat", "analyze_permissions", "API", "", err)
5353
}
5454
if granted {
5555
basesInfo, err = common.FetchAirtableBases(token)
5656
if err != nil {
57-
return nil, err
57+
return nil, analyzers.NewAnalysisError("AirtablePat", "analyze_permissions", "API", "", err)
5858
}
5959
// If bases are fetched, determine the token scopes
6060
err := determineScopes(token, basesInfo)
6161
if err != nil {
62-
return nil, err
62+
return nil, analyzers.NewAnalysisError("AirtablePat", "analyze_permissions", "API", "", err)
6363
}
6464
}
6565

pkg/analyzer/analyzers/bitbucket/bitbucket.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ func (Analyzer) Type() analyzers.AnalyzerType { return analyzers.AnalyzerTypeBit
6363
func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
6464
key, ok := credInfo["key"]
6565
if !ok {
66-
return nil, errors.New("key not found in credentialInfo")
66+
return nil, analyzers.NewAnalysisError("Bitbucket", "validate_credentials", "config", "", errors.New("key not found in credentialInfo"))
6767
}
6868
info, err := AnalyzePermissions(a.Cfg, key)
6969
if err != nil {
70-
return nil, err
70+
return nil, analyzers.NewAnalysisError("Bitbucket", "analyze_permissions", "API", "", err)
7171
}
7272
return secretInfoToAnalyzerResult(info), nil
7373
}

pkg/analyzer/analyzers/databricks/databricks.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ func (a Analyzer) Type() analyzers.AnalyzerType {
2626
func (a Analyzer) Analyze(ctx context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
2727
token, exist := credInfo["token"]
2828
if !exist {
29-
return nil, fmt.Errorf("key not found in credential info")
29+
return nil, analyzers.NewAnalysisError("DataBricks", "validate_credentials", "config", "", fmt.Errorf("key not found in credential info"))
3030
}
3131

3232
domain, exist := credInfo["domain"]
3333
if !exist {
34-
return nil, fmt.Errorf("domain not found in credential info")
34+
return nil, analyzers.NewAnalysisError("DataBricks", "validate_credentials", "config", "", fmt.Errorf("domain not found in credential info"))
3535
}
3636

3737
info, err := AnalyzePermissions(ctx, a.Cfg, domain, token)
3838
if err != nil {
39-
return nil, err
39+
return nil, analyzers.NewAnalysisError("DataBricks", "analyze_permissions", "API", "", err)
4040
}
4141

4242
return secretInfoToAnalyzerResult(info), nil

pkg/analyzer/analyzers/datadog/datadog.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ func (a Analyzer) Type() analyzers.AnalyzerType {
2828
func (a Analyzer) Analyze(ctx context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
2929
apiKey, exist := credInfo["apiKey"]
3030
if !exist {
31-
return nil, errors.New("API key not found in credentials info")
31+
return nil, analyzers.NewAnalysisError("Datadog", "validate_credentials", "config", "", errors.New("API key not found in credentials info"))
3232
}
3333

3434
// Get appKey if provided
3535
appKey := credInfo["appKey"]
3636

3737
info, err := AnalyzePermissions(a.Cfg, apiKey, appKey)
3838
if err != nil {
39-
return nil, err
39+
return nil, analyzers.NewAnalysisError("Datadog", "analyze_permissions", "API", "", err)
4040
}
4141

4242
return secretInfoToAnalyzerResult(info), nil

pkg/analyzer/analyzers/dropbox/dropbox.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,12 @@ func (a Analyzer) Type() analyzers.AnalyzerType {
4343
func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
4444
token, exist := credInfo["token"]
4545
if !exist {
46-
return nil, errors.New("token not found in credentials info")
46+
return nil, analyzers.NewAnalysisError("Dropbox", "validate_credentials", "config", "", errors.New("token not found in credentials info"))
4747
}
4848

4949
info, err := AnalyzePermissions(a.Cfg, token)
5050
if err != nil {
51-
return nil, err
51+
return nil, analyzers.NewAnalysisError("Dropbox", "analyze_permissions", "API", "", err)
5252
}
5353

5454
return secretInfoToAnalyzerResult(info), nil

pkg/analyzer/analyzers/figma/figma.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ const (
4141
func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
4242
token, ok := credInfo["token"]
4343
if !ok {
44-
return nil, errors.New("token not found in credInfo")
44+
return nil, analyzers.NewAnalysisError("Figma", "validate_credentials", "config", "", errors.New("token not found in credInfo"))
4545
}
4646
info, err := AnalyzePermissions(a.Cfg, token)
4747
if err != nil {
48-
return nil, err
48+
return nil, analyzers.NewAnalysisError("Figma", "analyze_permissions", "API", "", err)
4949
}
5050
return MapToAnalyzerResult(info), nil
5151
}

pkg/analyzer/analyzers/github/github.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func (Analyzer) Type() analyzers.AnalyzerType { return analyzers.AnalyzerTypeGit
3535
func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
3636
info, err := AnalyzePermissions(a.Cfg, credInfo["key"])
3737
if err != nil {
38-
return nil, err
38+
return nil, analyzers.NewAnalysisError("GitHub", "analyze_permissions", "API", "", err)
3939
}
4040
return secretInfoToAnalyzerResult(info), nil
4141
}

pkg/analyzer/analyzers/gitlab/gitlab.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func (Analyzer) Type() analyzers.AnalyzerType { return analyzers.AnalyzerTypeGit
3434
func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
3535
key, ok := credInfo["key"]
3636
if !ok {
37-
return nil, errors.New("key not found in credentialInfo")
37+
return nil, analyzers.NewAnalysisError("GitLab", "validate_credentials", "config", "", errors.New("key not found in credentialInfo"))
3838
}
3939
host, ok := credInfo["host"]
4040
if !ok {
@@ -43,7 +43,7 @@ func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analy
4343

4444
info, err := AnalyzePermissions(a.Cfg, key, host)
4545
if err != nil {
46-
return nil, err
46+
return nil, analyzers.NewAnalysisError("GitLab", "analyze_permissions", "API", "", err)
4747
}
4848
return secretInfoToAnalyzerResult(info), nil
4949
}

pkg/analyzer/analyzers/jira/jira.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,20 @@ func (a Analyzer) Type() analyzers.AnalyzerType {
2828
func (a Analyzer) Analyze(_ context.Context, credInfo map[string]string) (*analyzers.AnalyzerResult, error) {
2929
token, exist := credInfo["token"]
3030
if !exist {
31-
return nil, fmt.Errorf("token not found in credential info")
31+
return nil, analyzers.NewAnalysisError("Jira", "validate_credentials", "config", "", fmt.Errorf("token not found in credential info"))
3232
}
3333
domain, exist := credInfo["domain"]
3434
if !exist {
35-
return nil, fmt.Errorf("domain not found in credential info")
35+
return nil, analyzers.NewAnalysisError("Jira", "validate_credentials", "config", "", fmt.Errorf("domain not found in credential info"))
3636
}
3737
email, exist := credInfo["email"]
3838
if !exist {
39-
return nil, fmt.Errorf("email not found in credential info")
39+
return nil, analyzers.NewAnalysisError("Jira", "validate_credentials", "config", "", fmt.Errorf("email not found in credential info"))
4040
}
4141

4242
info, err := AnalyzePermissions(a.Cfg, token, domain, email)
4343
if err != nil {
44-
return nil, err
44+
return nil, analyzers.NewAnalysisError("Jira", "analyze_permissions", "API", "", err)
4545
}
4646

4747
return secretInfoToAnalyzerResult(info), nil

0 commit comments

Comments
 (0)