Skip to content

Commit

Permalink
fix(report): fix filename for dataflow report (#171)
Browse files Browse the repository at this point in the history
* fix: fix filename for dataflow report

* fix: do not add slash for nil paths
  • Loading branch information
elsapet committed Nov 28, 2022
1 parent 01d7aa3 commit d5a6e41
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{"data_types":[{"name":"Email Address","detectors":[{"name":"detect_ruby_logger","locations":[{"filename":"main.rb","line_number":1}]},{"name":"ruby","locations":[{"filename":"main.rb","line_number":1}]}]}],"risks":[{"detector_id":"detect_ruby_logger","data_types":[{"name":"Email Address","stored":false,"locations":[{"filename":"main.rb","line_number":1}]}]}],"components":[]}
{"data_types":[{"name":"Email Address","detectors":[{"name":"detect_ruby_logger","locations":[{"filename":"testdata/simple/main.rb","line_number":1}]},{"name":"ruby","locations":[{"filename":"testdata/simple/main.rb","line_number":1}]}]}],"risks":[{"detector_id":"detect_ruby_logger","data_types":[{"name":"Email Address","stored":false,"locations":[{"filename":"testdata/simple/main.rb","line_number":1}]}]}],"components":[]}

--

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ data_types:
detectors:
- name: detect_sql_create_public_table
locations:
- filename: schema.sql
- filename: testdata/verified_by/schema.sql
line_number: 8
encrypted: true
verified_by:
Expand All @@ -12,19 +12,19 @@ data_types:
line_number: 2
- name: ruby
locations:
- filename: user.rb
- filename: testdata/verified_by/user.rb
line_number: 2
- name: Date of birth
detectors:
- name: detect_sql_create_public_table
locations:
- filename: schema.sql
- filename: testdata/verified_by/schema.sql
line_number: 6
- name: Email Address
detectors:
- name: detect_sql_create_public_table
locations:
- filename: schema.sql
- filename: testdata/verified_by/schema.sql
line_number: 5
encrypted: true
verified_by:
Expand All @@ -33,25 +33,25 @@ data_types:
line_number: 2
- name: ruby
locations:
- filename: user.rb
- filename: testdata/verified_by/user.rb
line_number: 2
- name: Firstname
detectors:
- name: detect_sql_create_public_table
locations:
- filename: schema.sql
- filename: testdata/verified_by/schema.sql
line_number: 3
- name: Lastname
detectors:
- name: detect_sql_create_public_table
locations:
- filename: schema.sql
- filename: testdata/verified_by/schema.sql
line_number: 4
- name: Physical Address
detectors:
- name: detect_sql_create_public_table
locations:
- filename: schema.sql
- filename: testdata/verified_by/schema.sql
line_number: 7
encrypted: true
verified_by:
Expand All @@ -60,7 +60,7 @@ data_types:
line_number: 2
- name: ruby
locations:
- filename: user.rb
- filename: testdata/verified_by/user.rb
line_number: 2
components: []

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ critical:
- policy_name: Logger leaking
policy_description: Logger leaks detected
line_number: 1
filename: testdata/policiesusers.rb
filename: testdata/policies/users.rb
category_group: Personal data
parent_line_number: 1
parent_content: logger.info(user.address)
Expand Down
15 changes: 15 additions & 0 deletions pkg/report/output/dataflow/dataflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ func GetOutput(input []interface{}, config settings.Config, isInternal bool) (*D
return nil, err
}

// add full path to filename
castDetection.Source.Filename = getFullFilename(config.Target, castDetection.Source.Filename)

switch detectionType {
case detections.TypeSchemaClassified:
err = dataTypesHolder.AddSchema(castDetection, nil)
Expand Down Expand Up @@ -132,3 +135,15 @@ func GetOutput(input []interface{}, config settings.Config, isInternal bool) (*D

return dataflow, nil
}

func getFullFilename(path string, filename string) string {
if filename == "." {
return path
}

if path == "" {
return filename
}

return path + "/" + filename
}
10 changes: 1 addition & 9 deletions pkg/report/output/policies/policies.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ func GetOutput(dataflow *dataflow.DataFlow, config settings.Config) (map[string]
policyResult := PolicyResult{
PolicyName: policy.Name,
PolicyDescription: policy.Description,
Filename: getFullFilename(config.Target, policyOutput.Filename),
Filename: policyOutput.Filename,
LineNumber: policyOutput.LineNumber,
CategoryGroup: policyOutput.CategoryGroup,
ParentLineNumber: policyOutput.ParentLineNumber,
Expand Down Expand Up @@ -139,14 +139,6 @@ func BuildReportString(policyResults map[string][]PolicyResult, policies map[str
return reportStr
}

func getFullFilename(path string, filename string) string {
if filename == "." {
return path
}

return path + filename
}

func writePolicyListToString(reportStr *strings.Builder, policies map[string]*settings.Policy) {
// list policies that were run
reportStr.WriteString("\nPolicy list: \n\n")
Expand Down

0 comments on commit d5a6e41

Please sign in to comment.