heimdall_tools 1.3.31 → 1.3.36

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,161 @@
1
+ require 'json'
2
+ require 'csv'
3
+ require 'heimdall_tools/hdf'
4
+ require 'utilities/xml_to_hash'
5
+
6
+ RESOURCE_DIR = Pathname.new(__FILE__).join('../../data')
7
+
8
+ CWE_NIST_MAPPING_FILE = File.join(RESOURCE_DIR, 'cwe-nist-mapping.csv')
9
+
10
+ IMPACT_MAPPING = {
11
+ high: 0.7,
12
+ medium: 0.5,
13
+ low: 0.3,
14
+ }.freeze
15
+
16
+ SNYK_VERSION_REGEX = 'v(\d+.)(\d+.)(\d+)'.freeze
17
+
18
+ DEFAULT_NIST_TAG = ["SA-11", "RA-5"].freeze
19
+
20
+ # Loading spinner sign
21
+ $spinner = Enumerator.new do |e|
22
+ loop do
23
+ e.yield '|'
24
+ e.yield '/'
25
+ e.yield '-'
26
+ e.yield '\\'
27
+ end
28
+ end
29
+
30
+ module HeimdallTools
31
+ class SnykMapper
32
+ def initialize(synk_json, name=nil, verbose = false)
33
+ @synk_json = synk_json
34
+ @verbose = verbose
35
+
36
+ begin
37
+ @cwe_nist_mapping = parse_mapper
38
+ @projects = JSON.parse(synk_json)
39
+
40
+ # Cover single and multi-project scan use cases.
41
+ unless @projects.kind_of?(Array)
42
+ @projects = [ @projects ]
43
+ end
44
+
45
+ rescue StandardError => e
46
+ raise "Invalid Snyk JSON file provided Exception: #{e}"
47
+ end
48
+ end
49
+
50
+ def extract_scaninfo(project)
51
+ info = {}
52
+ begin
53
+ info['policy'] = project['policy']
54
+ reg = Regexp.new(SNYK_VERSION_REGEX, Regexp::IGNORECASE)
55
+ info['version'] = info['policy'].scan(reg).join
56
+ info['projectName'] = project['projectName']
57
+ info['summary'] = project['summary']
58
+
59
+ info
60
+ rescue StandardError => e
61
+ raise "Error extracting project info from Synk JSON file provided Exception: #{e}"
62
+ end
63
+ end
64
+
65
+ def finding(vulnerability)
66
+ finding = {}
67
+ finding['status'] = 'failed'
68
+ finding['code_desc'] = "From : [ #{vulnerability['from'].join(" , ").to_s } ]"
69
+ finding['run_time'] = NA_FLOAT
70
+
71
+ # Snyk results does not profile scan timestamp; using current time to satisfy HDF format
72
+ finding['start_time'] = NA_STRING
73
+ [finding]
74
+ end
75
+
76
+ def nist_tag(cweid)
77
+ entries = @cwe_nist_mapping.select { |x| cweid.include? x[:cweid].to_s }
78
+ tags = entries.map { |x| x[:nistid] }
79
+ tags.empty? ? DEFAULT_NIST_TAG : tags.flatten.uniq
80
+ end
81
+
82
+ def parse_identifiers(vulnerability, ref)
83
+ # Extracting id number from reference style CWE-297
84
+ vulnerability['identifiers'][ref].map { |e| e.split("#{ref}-")[1] }
85
+ rescue
86
+ return []
87
+ end
88
+
89
+ def impact(severity)
90
+ IMPACT_MAPPING[severity.to_sym]
91
+ end
92
+
93
+ def parse_mapper
94
+ csv_data = CSV.read(CWE_NIST_MAPPING_FILE, **{ encoding: 'UTF-8',
95
+ headers: true,
96
+ header_converters: :symbol,
97
+ converters: :all })
98
+ csv_data.map(&:to_hash)
99
+ end
100
+
101
+ def desc_tags(data, label)
102
+ { "data": data || NA_STRING, "label": label || NA_STRING }
103
+ end
104
+
105
+ # Snyk report could have multiple vulnerability entries for multiple findings of same issue type.
106
+ # The meta data is identical across entries
107
+ # method collapse_duplicates return unique controls with applicable findings collapsed into it.
108
+ def collapse_duplicates(controls)
109
+ unique_controls = []
110
+
111
+ controls.map { |x| x['id'] }.uniq.each do |id|
112
+ collapsed_results = controls.select { |x| x['id'].eql?(id) }.map {|x| x['results']}
113
+ unique_control = controls.find { |x| x['id'].eql?(id) }
114
+ unique_control['results'] = collapsed_results.flatten
115
+ unique_controls << unique_control
116
+ end
117
+ unique_controls
118
+ end
119
+
120
+
121
+ def to_hdf
122
+ project_results = {}
123
+ @projects.each do | project |
124
+ controls = []
125
+ project['vulnerabilities'].each do | vulnerability |
126
+ printf("\rProcessing: %s", $spinner.next)
127
+
128
+ item = {}
129
+ item['tags'] = {}
130
+ item['descriptions'] = []
131
+ item['refs'] = NA_ARRAY
132
+ item['source_location'] = NA_HASH
133
+ item['descriptions'] = NA_ARRAY
134
+
135
+ item['title'] = vulnerability['title'].to_s
136
+ item['id'] = vulnerability['id'].to_s
137
+ item['desc'] = vulnerability['description'].to_s
138
+ item['impact'] = impact(vulnerability['severity'])
139
+ item['code'] = ''
140
+ item['results'] = finding(vulnerability)
141
+ item['tags']['nist'] = nist_tag( parse_identifiers( vulnerability, 'CWE') )
142
+ item['tags']['cweid'] = parse_identifiers( vulnerability, 'CWE')
143
+ item['tags']['cveid'] = parse_identifiers( vulnerability, 'CVE')
144
+ item['tags']['ghsaid'] = parse_identifiers( vulnerability, 'GHSA')
145
+
146
+ controls << item
147
+ end
148
+ controls = collapse_duplicates(controls)
149
+ scaninfo = extract_scaninfo(project)
150
+ results = HeimdallDataFormat.new(profile_name: scaninfo['policy'],
151
+ version: scaninfo['version'],
152
+ title: "Snyk Project: #{scaninfo['projectName']}",
153
+ summary: "Snyk Summary: #{scaninfo['summary']}",
154
+ controls: controls,
155
+ target_id: scaninfo['projectName'])
156
+ project_results[scaninfo['projectName']] = results.to_hdf
157
+ end
158
+ project_results
159
+ end
160
+ end
161
+ end
@@ -5,6 +5,8 @@ require 'heimdall_tools/hdf'
5
5
 
6
6
  RESOURCE_DIR = Pathname.new(__FILE__).join('../../data')
7
7
 
8
+ DEFAULT_NIST_TAG = ["SA-11", "RA-5"].freeze
9
+
8
10
  MAPPING_FILES = {
9
11
  cwe: File.join(RESOURCE_DIR, 'cwe-nist-mapping.csv'),
10
12
  owasp: File.join(RESOURCE_DIR, 'owasp-nist-mapping.csv')
@@ -237,7 +239,7 @@ class Control
237
239
  return [@mappings[tag_type][parsed_tag]].flatten.uniq
238
240
  end
239
241
 
240
- ['unmapped'] # HDF expects this to be a list, but not an empty list even if there aren't results
242
+ DEFAULT_NIST_TAG # Entries with unmapped NIST tags are defaulted to NIST tags ‘SA-11, RA-5 Rev_4’
241
243
  end
242
244
 
243
245
  def hdf
@@ -7,6 +7,7 @@ require 'heimdall_tools/hdf'
7
7
  RESOURCE_DIR = Pathname.new(__FILE__).join('../../data')
8
8
 
9
9
  CWE_NIST_MAPPING_FILE = File.join(RESOURCE_DIR, 'cwe-nist-mapping.csv')
10
+ DEFAULT_NIST_TAG = ["SA-11", "RA-5"].freeze
10
11
 
11
12
  # rubocop:disable Metrics/AbcSize
12
13
 
@@ -66,7 +67,7 @@ module HeimdallTools
66
67
  def nist_tag(cweid)
67
68
  entries = @cwe_nist_mapping.select { |x| x[:cweid].to_s.eql?(cweid.to_s) }
68
69
  tags = entries.map { |x| [x[:nistid], "Rev_#{x[:rev]}"] }
69
- tags.empty? ? ['unmapped'] : tags.flatten.uniq
70
+ tags.empty? ? DEFAULT_NIST_TAG : tags.flatten.uniq
70
71
  end
71
72
 
72
73
  def impact(riskcode)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heimdall_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.31
4
+ version: 1.3.36
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Thew
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-06-16 00:00:00.000000000 Z
13
+ date: 2021-03-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
@@ -96,20 +96,6 @@ dependencies:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
98
  version: '2.1'
99
- - !ruby/object:Gem::Dependency
100
- name: nori
101
- requirement: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: '2.6'
106
- type: :runtime
107
- prerelease: false
108
- version_requirements: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - "~>"
111
- - !ruby/object:Gem::Version
112
- version: '2.6'
113
99
  - !ruby/object:Gem::Dependency
114
100
  name: git-lite-version-bump
115
101
  requirement: !ruby/object:Gem::Requirement
@@ -166,20 +152,6 @@ dependencies:
166
152
  - - ">="
167
153
  - !ruby/object:Gem::Version
168
154
  version: '0'
169
- - !ruby/object:Gem::Dependency
170
- name: codeclimate-test-reporter
171
- requirement: !ruby/object:Gem::Requirement
172
- requirements:
173
- - - ">="
174
- - !ruby/object:Gem::Version
175
- version: '0'
176
- type: :development
177
- prerelease: false
178
- version_requirements: !ruby/object:Gem::Requirement
179
- requirements:
180
- - - ">="
181
- - !ruby/object:Gem::Version
182
- version: '0'
183
155
  - !ruby/object:Gem::Dependency
184
156
  name: rake
185
157
  requirement: !ruby/object:Gem::Requirement
@@ -203,7 +175,6 @@ executables:
203
175
  extensions: []
204
176
  extra_rdoc_files: []
205
177
  files:
206
- - CHANGELOG.md
207
178
  - Guardfile
208
179
  - LICENSE.md
209
180
  - README.md
@@ -212,20 +183,29 @@ files:
212
183
  - lib/data/U_CCI_List.xml
213
184
  - lib/data/cwe-nist-mapping.csv
214
185
  - lib/data/nessus-plugins-nist-mapping.csv
186
+ - lib/data/nikto-nist-mapping.csv
215
187
  - lib/data/owasp-nist-mapping.csv
216
188
  - lib/heimdall_tools.rb
217
189
  - lib/heimdall_tools/burpsuite_mapper.rb
218
190
  - lib/heimdall_tools/cli.rb
219
191
  - lib/heimdall_tools/command.rb
192
+ - lib/heimdall_tools/dbprotect_mapper.rb
220
193
  - lib/heimdall_tools/fortify_mapper.rb
221
194
  - lib/heimdall_tools/hdf.rb
222
195
  - lib/heimdall_tools/help.rb
223
196
  - lib/heimdall_tools/help/burpsuite_mapper.md
197
+ - lib/heimdall_tools/help/dbprotect_mapper.md
224
198
  - lib/heimdall_tools/help/fortify_mapper.md
199
+ - lib/heimdall_tools/help/jfrog_xray_mapper.md
225
200
  - lib/heimdall_tools/help/nessus_mapper.md
201
+ - lib/heimdall_tools/help/nikto_mapper.md
202
+ - lib/heimdall_tools/help/snyk_mapper.md
226
203
  - lib/heimdall_tools/help/sonarqube_mapper.md
227
204
  - lib/heimdall_tools/help/zap_mapper.md
205
+ - lib/heimdall_tools/jfrog_xray_mapper.rb
228
206
  - lib/heimdall_tools/nessus_mapper.rb
207
+ - lib/heimdall_tools/nikto_mapper.rb
208
+ - lib/heimdall_tools/snyk_mapper.rb
229
209
  - lib/heimdall_tools/sonarqube_mapper.rb
230
210
  - lib/heimdall_tools/version.rb
231
211
  - lib/heimdall_tools/zap_mapper.rb
@@ -249,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
249
229
  - !ruby/object:Gem::Version
250
230
  version: '0'
251
231
  requirements: []
252
- rubygems_version: 3.1.2
232
+ rubygems_version: 3.2.3
253
233
  signing_key:
254
234
  specification_version: 4
255
235
  summary: Convert Forify, Openzap and Sonarqube results to HDF
data/CHANGELOG.md DELETED
@@ -1,285 +0,0 @@
1
- # Changelog
2
-
3
- ## [Unreleased](https://github.com/mitre/heimdall_tools/tree/HEAD)
4
-
5
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.30.pre1...HEAD)
6
-
7
- **Closed issues:**
8
-
9
- - nessus\_mapper CCI to NIST Mapping [\#54](https://github.com/mitre/heimdall_tools/issues/54)
10
-
11
- **Merged pull requests:**
12
-
13
- - Update to map NIST tags from CCI refs [\#55](https://github.com/mitre/heimdall_tools/pull/55) ([rx294](https://github.com/rx294))
14
-
15
- ## [v1.3.30.pre1](https://github.com/mitre/heimdall_tools/tree/v1.3.30.pre1) (2020-06-12)
16
-
17
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.29...v1.3.30.pre1)
18
-
19
- ## [v1.3.29](https://github.com/mitre/heimdall_tools/tree/v1.3.29) (2020-05-28)
20
-
21
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.28...v1.3.29)
22
-
23
- **Merged pull requests:**
24
-
25
- - Remove debug line [\#53](https://github.com/mitre/heimdall_tools/pull/53) ([rx294](https://github.com/rx294))
26
-
27
- ## [v1.3.28](https://github.com/mitre/heimdall_tools/tree/v1.3.28) (2020-05-28)
28
-
29
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.27...v1.3.28)
30
-
31
- **Closed issues:**
32
-
33
- - Map 'Policy Compliance' entries for nessus\_mapper [\#49](https://github.com/mitre/heimdall_tools/issues/49)
34
-
35
- **Merged pull requests:**
36
-
37
- - Add code to translate Policy compliance results [\#51](https://github.com/mitre/heimdall_tools/pull/51) ([rx294](https://github.com/rx294))
38
-
39
- ## [v1.3.27](https://github.com/mitre/heimdall_tools/tree/v1.3.27) (2020-05-22)
40
-
41
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.26...v1.3.27)
42
-
43
- **Merged pull requests:**
44
-
45
- - Updated the Dockerfile to run in an alpine ruby container [\#47](https://github.com/mitre/heimdall_tools/pull/47) ([jsa5593](https://github.com/jsa5593))
46
- - Require a newer version of git-lite-version-bump for Windows support [\#46](https://github.com/mitre/heimdall_tools/pull/46) ([rbclark](https://github.com/rbclark))
47
-
48
- ## [v1.3.26](https://github.com/mitre/heimdall_tools/tree/v1.3.26) (2020-05-06)
49
-
50
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.25...v1.3.26)
51
-
52
- **Implemented enhancements:**
53
-
54
- - Converter: Nessus Transform for Audit results and vulnerability scan results [\#29](https://github.com/mitre/heimdall_tools/issues/29)
55
-
56
- **Merged pull requests:**
57
-
58
- - Nessus Mapper [\#45](https://github.com/mitre/heimdall_tools/pull/45) ([rx294](https://github.com/rx294))
59
-
60
- ## [v1.3.25](https://github.com/mitre/heimdall_tools/tree/v1.3.25) (2020-04-16)
61
-
62
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.24...v1.3.25)
63
-
64
- **Closed issues:**
65
-
66
- - Add minimum required json fields to work heimdall server [\#5](https://github.com/mitre/heimdall_tools/issues/5)
67
-
68
- **Merged pull requests:**
69
-
70
- - Make sure the fields we are looking for in Fortify exist before we parse the element [\#44](https://github.com/mitre/heimdall_tools/pull/44) ([rbclark](https://github.com/rbclark))
71
- - Update actions to use ruby/setup-ruby [\#43](https://github.com/mitre/heimdall_tools/pull/43) ([Bialogs](https://github.com/Bialogs))
72
-
73
- ## [v1.3.24](https://github.com/mitre/heimdall_tools/tree/v1.3.24) (2020-04-07)
74
-
75
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.23...v1.3.24)
76
-
77
- **Implemented enhancements:**
78
-
79
- - Converter: Burp Suite Pro [\#28](https://github.com/mitre/heimdall_tools/issues/28)
80
-
81
- **Fixed bugs:**
82
-
83
- - \[Bug\] Import mapping csvs by relative path [\#41](https://github.com/mitre/heimdall_tools/issues/41)
84
-
85
- **Merged pull requests:**
86
-
87
- - Update to pull data csvs by relative path [\#42](https://github.com/mitre/heimdall_tools/pull/42) ([rx294](https://github.com/rx294))
88
- - Burpsuite mapper [\#40](https://github.com/mitre/heimdall_tools/pull/40) ([rx294](https://github.com/rx294))
89
-
90
- ## [v1.3.23](https://github.com/mitre/heimdall_tools/tree/v1.3.23) (2020-03-31)
91
-
92
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.23.pre5...v1.3.23)
93
-
94
- ## [v1.3.23.pre5](https://github.com/mitre/heimdall_tools/tree/v1.3.23.pre5) (2020-03-31)
95
-
96
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.23.pre4...v1.3.23.pre5)
97
-
98
- **Merged pull requests:**
99
-
100
- - Rubygems automatically trims the word \_api\_key when referencing the key [\#39](https://github.com/mitre/heimdall_tools/pull/39) ([rbclark](https://github.com/rbclark))
101
-
102
- ## [v1.3.23.pre4](https://github.com/mitre/heimdall_tools/tree/v1.3.23.pre4) (2020-03-31)
103
-
104
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.23.pre3...v1.3.23.pre4)
105
-
106
- **Merged pull requests:**
107
-
108
- - Cleanup GPR and Rubygems release flow [\#38](https://github.com/mitre/heimdall_tools/pull/38) ([rbclark](https://github.com/rbclark))
109
-
110
- ## [v1.3.23.pre3](https://github.com/mitre/heimdall_tools/tree/v1.3.23.pre3) (2020-03-31)
111
-
112
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.23.pre2...v1.3.23.pre3)
113
-
114
- ## [v1.3.23.pre2](https://github.com/mitre/heimdall_tools/tree/v1.3.23.pre2) (2020-03-31)
115
-
116
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.23.pre...v1.3.23.pre2)
117
-
118
- ## [v1.3.23.pre](https://github.com/mitre/heimdall_tools/tree/v1.3.23.pre) (2020-03-31)
119
-
120
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.22...v1.3.23.pre)
121
-
122
- **Merged pull requests:**
123
-
124
- - Restructure workflow for publishing gem [\#37](https://github.com/mitre/heimdall_tools/pull/37) ([rbclark](https://github.com/rbclark))
125
-
126
- ## [v1.3.22](https://github.com/mitre/heimdall_tools/tree/v1.3.22) (2020-03-31)
127
-
128
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.21...v1.3.22)
129
-
130
- ## [v1.3.21](https://github.com/mitre/heimdall_tools/tree/v1.3.21) (2020-03-31)
131
-
132
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.20...v1.3.21)
133
-
134
- ## [v1.3.20](https://github.com/mitre/heimdall_tools/tree/v1.3.20) (2020-03-30)
135
-
136
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.19...v1.3.20)
137
-
138
- **Fixed bugs:**
139
-
140
- - Unable to Convert Fortify 19.2.0 FVDL file to HDF [\#25](https://github.com/mitre/heimdall_tools/issues/25)
141
-
142
- ## [v1.3.19](https://github.com/mitre/heimdall_tools/tree/v1.3.19) (2020-03-30)
143
-
144
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.18...v1.3.19)
145
-
146
- **Merged pull requests:**
147
-
148
- - Remove all gems from Gemfile and declare them properly in the gemspec [\#33](https://github.com/mitre/heimdall_tools/pull/33) ([rbclark](https://github.com/rbclark))
149
-
150
- ## [v1.3.18](https://github.com/mitre/heimdall_tools/tree/v1.3.18) (2020-03-28)
151
-
152
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.17...v1.3.18)
153
-
154
- ## [v1.3.17](https://github.com/mitre/heimdall_tools/tree/v1.3.17) (2020-03-26)
155
-
156
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.16...v1.3.17)
157
-
158
- **Closed issues:**
159
-
160
- - Request New converters [\#23](https://github.com/mitre/heimdall_tools/issues/23)
161
-
162
- ## [v1.3.16](https://github.com/mitre/heimdall_tools/tree/v1.3.16) (2020-03-25)
163
-
164
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.15...v1.3.16)
165
-
166
- ## [v1.3.15](https://github.com/mitre/heimdall_tools/tree/v1.3.15) (2020-03-25)
167
-
168
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.14...v1.3.15)
169
-
170
- ## [v1.3.14](https://github.com/mitre/heimdall_tools/tree/v1.3.14) (2020-03-24)
171
-
172
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.13...v1.3.14)
173
-
174
- ## [v1.3.13](https://github.com/mitre/heimdall_tools/tree/v1.3.13) (2020-03-24)
175
-
176
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.12...v1.3.13)
177
-
178
- ## [v1.3.12](https://github.com/mitre/heimdall_tools/tree/v1.3.12) (2020-03-24)
179
-
180
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.11...v1.3.12)
181
-
182
- ## [v1.3.11](https://github.com/mitre/heimdall_tools/tree/v1.3.11) (2020-03-24)
183
-
184
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.10...v1.3.11)
185
-
186
- ## [v1.3.10](https://github.com/mitre/heimdall_tools/tree/v1.3.10) (2020-03-24)
187
-
188
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.9...v1.3.10)
189
-
190
- ## [v1.3.9](https://github.com/mitre/heimdall_tools/tree/v1.3.9) (2020-03-23)
191
-
192
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.8...v1.3.9)
193
-
194
- **Closed issues:**
195
-
196
- - Update XML parser [\#26](https://github.com/mitre/heimdall_tools/issues/26)
197
-
198
- **Merged pull requests:**
199
-
200
- - Update XML parser [\#27](https://github.com/mitre/heimdall_tools/pull/27) ([rx294](https://github.com/rx294))
201
-
202
- ## [v1.3.8](https://github.com/mitre/heimdall_tools/tree/v1.3.8) (2020-03-09)
203
-
204
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.7...v1.3.8)
205
-
206
- **Closed issues:**
207
-
208
- - \[BUG\] | sonarqube\_mapper is not handling NIST mapping correctly [\#21](https://github.com/mitre/heimdall_tools/issues/21)
209
-
210
- **Merged pull requests:**
211
-
212
- - Fixes \#21 \[BUG\] | sonarqube\_mapper is not handling NIST mapping correctly [\#22](https://github.com/mitre/heimdall_tools/pull/22) ([rx294](https://github.com/rx294))
213
-
214
- ## [v1.3.7](https://github.com/mitre/heimdall_tools/tree/v1.3.7) (2020-03-06)
215
-
216
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.6...v1.3.7)
217
-
218
- ## [v1.3.6](https://github.com/mitre/heimdall_tools/tree/v1.3.6) (2020-03-05)
219
-
220
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.5...v1.3.6)
221
-
222
- ## [v1.3.5](https://github.com/mitre/heimdall_tools/tree/v1.3.5) (2020-03-05)
223
-
224
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.4...v1.3.5)
225
-
226
- ## [v1.3.4](https://github.com/mitre/heimdall_tools/tree/v1.3.4) (2020-03-04)
227
-
228
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.3...v1.3.4)
229
-
230
- **Closed issues:**
231
-
232
- - Support Authenticated Sonarqube API for sonarqube\_mapper [\#18](https://github.com/mitre/heimdall_tools/issues/18)
233
-
234
- ## [v1.3.3](https://github.com/mitre/heimdall_tools/tree/v1.3.3) (2020-03-04)
235
-
236
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.2...v1.3.3)
237
-
238
- **Merged pull requests:**
239
-
240
- - Sonarqube authentication option [\#20](https://github.com/mitre/heimdall_tools/pull/20) ([rx294](https://github.com/rx294))
241
-
242
- ## [v1.3.2](https://github.com/mitre/heimdall_tools/tree/v1.3.2) (2019-12-27)
243
-
244
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.1...v1.3.2)
245
-
246
- **Merged pull requests:**
247
-
248
- - Adding dockerfile for heimdall tools [\#15](https://github.com/mitre/heimdall_tools/pull/15) ([rx294](https://github.com/rx294))
249
-
250
- ## [v1.3.1](https://github.com/mitre/heimdall_tools/tree/v1.3.1) (2019-12-27)
251
-
252
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/v1.3.0...v1.3.1)
253
-
254
- **Closed issues:**
255
-
256
- - Update HDF format generate jsons in Inspec results style [\#10](https://github.com/mitre/heimdall_tools/issues/10)
257
-
258
- **Merged pull requests:**
259
-
260
- - Updating required nori gem version [\#16](https://github.com/mitre/heimdall_tools/pull/16) ([rx294](https://github.com/rx294))
261
- - Populate shasum and runtime field [\#14](https://github.com/mitre/heimdall_tools/pull/14) ([rx294](https://github.com/rx294))
262
- - Updates as per feedback [\#13](https://github.com/mitre/heimdall_tools/pull/13) ([rx294](https://github.com/rx294))
263
- - updating samples [\#12](https://github.com/mitre/heimdall_tools/pull/12) ([rx294](https://github.com/rx294))
264
- - Change to results view on heimdall [\#11](https://github.com/mitre/heimdall_tools/pull/11) ([rx294](https://github.com/rx294))
265
-
266
- ## [v1.3.0](https://github.com/mitre/heimdall_tools/tree/v1.3.0) (2019-09-24)
267
-
268
- [Full Changelog](https://github.com/mitre/heimdall_tools/compare/c9c08305796eaf12d7abb2535c285a4acd2f5a91...v1.3.0)
269
-
270
- **Closed issues:**
271
-
272
- - README needs authors [\#9](https://github.com/mitre/heimdall_tools/issues/9)
273
- - Get NIST rev version from CSV [\#4](https://github.com/mitre/heimdall_tools/issues/4)
274
- - Output in evaluation format, not profile [\#2](https://github.com/mitre/heimdall_tools/issues/2)
275
-
276
- **Merged pull requests:**
277
-
278
- - Fixes to PR \#6 [\#8](https://github.com/mitre/heimdall_tools/pull/8) ([rx294](https://github.com/rx294))
279
- - Update README fortify-fvdl flag to fvdl as in usage [\#7](https://github.com/mitre/heimdall_tools/pull/7) ([mirskiy](https://github.com/mirskiy))
280
- - Add SonarQube Mapper and OWASP NIST mappings [\#6](https://github.com/mitre/heimdall_tools/pull/6) ([mirskiy](https://github.com/mirskiy))
281
- - OWASP ZAP Mapper PR [\#3](https://github.com/mitre/heimdall_tools/pull/3) ([rx294](https://github.com/rx294))
282
-
283
-
284
-
285
- \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*