heimdall_tools 1.3.46 → 1.3.50
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +209 -217
- data/lib/heimdall_tools/asff_compatible_products/firewall_manager.rb +11 -0
- data/lib/heimdall_tools/asff_compatible_products/prowler.rb +19 -0
- data/lib/heimdall_tools/asff_compatible_products/securityhub.rb +89 -0
- data/lib/heimdall_tools/asff_mapper.rb +232 -0
- data/lib/heimdall_tools/aws_config_mapper.rb +1 -1
- data/lib/heimdall_tools/cli.rb +39 -7
- data/lib/heimdall_tools/fortify_mapper.rb +3 -3
- data/lib/heimdall_tools/help/asff_mapper.md +6 -0
- data/lib/heimdall_tools/help/prowler_mapper.md +5 -0
- data/lib/heimdall_tools/nessus_mapper.rb +14 -6
- data/lib/heimdall_tools/prowler_mapper.rb +8 -0
- data/lib/heimdall_tools/sonarqube_mapper.rb +5 -1
- data/lib/heimdall_tools/xccdf_results_mapper.rb +161 -0
- data/lib/heimdall_tools.rb +4 -0
- metadata +41 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b18e944c199cc2c1312da5ea554db437f2c27853036334f95cdaad0567680788
|
4
|
+
data.tar.gz: 2404b491dbe900134e480fe3ae1f641206ed73b3e3d8f0c1225cec053a16b324
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d336f6df9950edf830d1d49ba13704b718ae3c1c9a3a9233813d64dba710499d27ccb0812b1eb0636f303201429b091026ec698d6e06e4e95f1efc41634e0c8d
|
7
|
+
data.tar.gz: ad4549d6ded0e20a3669634f8cb24836e6332966851921dbfb55e0a5d0811d6e98c9e155a461f1c1478335ddd92b6fbcb7c53de577a174a105f0f87a36f442d7
|
data/README.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# Heimdall Tools has been depreciated. See the new [SAF CLI](https://github.com/mitre/saf)
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
# Heimdall Tools
|
2
6
|
|
3
7
|
![Overall Status](https://github.com/mitre/heimdall_tools/workflows/heimdall_tools/badge.svg)
|
@@ -5,32 +9,32 @@
|
|
5
9
|
|
6
10
|
HeimdallTools supplies several methods to convert output from various tools to "Heimdall Data Format"(HDF) format to be viewable in Heimdall. The current converters are:
|
7
11
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
12
|
+
1. [**aws_config_mapper**](#aws_config_mapper) - assess, audit, and evaluate AWS resources
|
13
|
+
1. [**burpsuite_mapper**](#burpsuite_mapper) - commercial dynamic analysis tool
|
14
|
+
1. [**dbprotect_mapper**](#dbprotect_mapper) - database vulnerability scanner
|
15
|
+
1. [**fortify_mapper**](#fortify_mapper) - commercial static code analysis tool
|
16
|
+
1. [**jfrog_xray_mapper**](#jfrog_xray_mapper) - package vulnerability scanner
|
17
|
+
1. [**nessus_mapper**](#nessus_mapper) - commercial security scanner (supports compliance and vulnerability scans from Tenable.sc and Tenable.io)
|
18
|
+
1. [**netsparker_mapper**](#netsparker_mapper) - web application security scanner
|
19
|
+
1. [**nikto_mapper**](#nikto_mapper) - open-source web server scanner
|
20
|
+
1. [**sarif_mapper**](#sarif_mapper) - static analysis results interchange format
|
21
|
+
1. [**scoutsuite_mapper**](#scoutsuite_mapper) - multi-cloud security auditing tool
|
22
|
+
1. [**snyk_mapper**](#snyk_mapper) - commercial package vulnerability scanner
|
23
|
+
1. [**sonarqube_mapper**](#sonarqube_mapper) - open-source static code analysis tool
|
24
|
+
1. [**xccdf_results_mapper**](#xccdf_results_mapper) - extensible configuration checklist description results format
|
25
|
+
1. [**scc_mapper**](#xccdf_results_mapper) - scap compliance checker format
|
26
|
+
1. [**zap_mapper**](#zap_mapper) - OWASP ZAP - open-source dynamic code analysis tool
|
21
27
|
|
22
28
|
## Want to recommend a mapper for another tool? Please use these steps:
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
7. Finally, We'll provide final peer review and support merging your pull request.
|
33
|
-
We appreciate your contributions, but we're here to help!
|
29
|
+
|
30
|
+
1. Create an [issue](https://github.com/mitre/heimdall_tools/issues/new), and email saf@groups.mitre.org citing the issue link so we can help
|
31
|
+
2. Provide a sample output, preferably the most detailed the tool can provide, and also preferably in a machine-readable format, such as xml, json, or csv - whichever is natively available. If it is sensitive we'll work that in #3. (If it's an API only, we'll also just talk about it in #3)
|
32
|
+
3. Let's arrange a time to take a close look at the data it provides to get an idea of all it has to offer. We'll suggest an initial mapping of the HDF core elements.
|
33
|
+
4. Note: if the tool doesn't provide a NIST SP 800-53 reference, we've worked on mappings to other references such as CWE or OWASP Top 10.
|
34
|
+
5. If the tool doesn't provide something for #4, or another core element such as impact, we'll help you identify a custom mapping approach.
|
35
|
+
6. We'll help you decide how to preserve any other information (non-core elements) the tool provides to ensure that all of the original tool's intent comes through for the user when the data is viewed in Heimdall.
|
36
|
+
7. Finally, We'll provide final peer review and support merging your pull request.
|
37
|
+
We appreciate your contributions, but we're here to help!
|
34
38
|
|
35
39
|
## How to Install Heimdall Tools:
|
36
40
|
|
@@ -66,7 +70,7 @@ Verify the installed version number:
|
|
66
70
|
|
67
71
|
### Installation on Ubuntu-based systems
|
68
72
|
|
69
|
-
|
73
|
+
|
70
74
|
|
71
75
|
# Installation of Heimdall Tools:
|
72
76
|
|
@@ -79,77 +83,82 @@ For detailed help on any command, run `heimdall_tools help [COMMAND]`. Help can
|
|
79
83
|
|
80
84
|
For Docker usage, replace the `heimdall_tools` command with the correct Docker command below for your operating system:
|
81
85
|
|
82
|
-
-
|
83
|
-
-
|
86
|
+
- **On Linux and Mac:** `docker run -it -v$(pwd):/share mitre/heimdall_tools`
|
87
|
+
- **On Windows CMD:** `docker run -it -v%cd%:/share mitre/heimdall_tools`
|
84
88
|
|
85
89
|
Note that all of the above Docker commands will mount your current directory on the Docker container. Ensure that you have navigated to the directory you intend to convert files in before executing the command.
|
86
90
|
|
87
|
-
##
|
88
|
-
|
89
|
-
sonarqube_mapper pulls SonarQube results, for the specified project, from the API and outputs in HDF format Json to be viewed on Heimdall
|
90
|
-
|
91
|
-
```
|
92
|
-
USAGE: heimdall_tools sonarqube_mapper [OPTIONS] -n <project-name> -u <api-url> -o <scan-results.json>
|
91
|
+
## aws_config_mapper
|
93
92
|
|
94
|
-
|
95
|
-
-n --name <project-key> : Project Key of the project in SonarQube
|
96
|
-
-u --api_url <api-url> : url of the SonarQube Server API. Typically ends with /api.
|
97
|
-
--auth <credentials> : username:password or token [optional].
|
98
|
-
-o --output <scan-results> : path to output scan-results json.
|
99
|
-
-V --verbose : verbose run [optional].
|
93
|
+
aws_config_mapper pulls Ruby AWS SDK data to translate AWS Config Rule results into HDF format json to be viewable in Heimdall
|
100
94
|
|
101
|
-
|
95
|
+
### AWS Config Rule Mapping:
|
102
96
|
|
103
|
-
|
97
|
+
The mapping of AWS Config Rules to 800-53 Controls was sourced from [this link](https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_4.html).
|
104
98
|
|
105
|
-
|
106
|
-
```
|
99
|
+
### Authentication with AWS:
|
107
100
|
|
108
|
-
|
101
|
+
[Developer Guide for configuring Ruby AWS SDK for authentication](https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html)
|
109
102
|
|
110
|
-
|
103
|
+
USAGE: heimdall_tools aws_config_mapper [OPTIONS] -o
|
104
|
+
|
105
|
+
FLAGS:
|
106
|
+
-o --output : path to output scan-results json.
|
107
|
+
-V --verbose : verbose run [optional].
|
108
|
+
|
109
|
+
example: heimdall_tools aws_config_mapper -o aws_config_results_hdf.json
|
111
110
|
|
112
|
-
|
113
|
-
USAGE: heimdall_tools fortify_mapper [OPTIONS] -f <fortify-fvdl> -o <scan-results.json>
|
111
|
+
## burpsuite_mapper
|
114
112
|
|
115
|
-
|
116
|
-
-f --fvdl <fortify-fvdl> : path to Fortify Scan FVDL file.
|
117
|
-
-o --output <scan-results> : path to output scan-results json.
|
118
|
-
-V --verbose : verbose run [optional].
|
113
|
+
burpsuite_mapper translates an BurpSuite Pro exported XML results file into HDF format json to be viewable in Heimdall
|
119
114
|
|
120
|
-
|
121
|
-
|
115
|
+
USAGE: heimdall_tools burpsuite_mapper [OPTIONS] -x -o
|
116
|
+
|
117
|
+
FLAGS:
|
118
|
+
-x : path to BurpSuitePro exported XML results file.
|
119
|
+
-o --output : path to output scan-results json.
|
120
|
+
-V --verbose : verbose run [optional].
|
121
|
+
|
122
|
+
example: heimdall_tools burpsuite_mapper -x burpsuite_results.xml -o scan_results.json
|
122
123
|
|
123
|
-
##
|
124
|
-
|
125
|
-
zap_mapper translates OWASP ZAP results Json to HDF format Json be viewed on Heimdall
|
124
|
+
## dbprotect_mapper
|
126
125
|
|
127
|
-
|
128
|
-
USAGE: heimdall_tools zap_mapper [OPTIONS] -j <zap-json> -n <site-name> -o <scan-results.json>
|
126
|
+
dbprotect_mapper translates DBProtect report in `Check Results Details` format XML to HDF format JSON be viewed on Heimdall.
|
129
127
|
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
128
|
+
USAGE: heimdall_tools dbprotect_mapper [OPTIONS] -x -o
|
129
|
+
|
130
|
+
FLAGS:
|
131
|
+
-x : path to DBProtect report XML file.
|
132
|
+
-o --output : path to output scan-results json.
|
133
|
+
-V --verbose : verbose run [optional].
|
134
|
+
|
135
|
+
example: heimdall_tools dbprotect_mapper -x check_results_details_report.xml -o db_protect_hdf.json
|
135
136
|
|
136
|
-
|
137
|
-
```
|
137
|
+
## fortify_mapper
|
138
138
|
|
139
|
-
|
139
|
+
fortify_mapper translates an Fortify results FVDL file into HDF format json to be viewable in Heimdall
|
140
140
|
|
141
|
-
|
141
|
+
USAGE: heimdall_tools fortify_mapper [OPTIONS] -f -o
|
142
|
+
|
143
|
+
FLAGS:
|
144
|
+
-f --fvdl : path to Fortify Scan FVDL file.
|
145
|
+
-o --output : path to output scan-results json.
|
146
|
+
-V --verbose : verbose run [optional].
|
147
|
+
|
148
|
+
example: heimdall_tools fortify_mapper -f audit.fvdl -o scan_results.json
|
142
149
|
|
143
|
-
|
144
|
-
USAGE: heimdall_tools burpsuite_mapper [OPTIONS] -x <burpsuite-xml> -o <scan-results.json>
|
150
|
+
## jfrog_xray_mapper
|
145
151
|
|
146
|
-
|
147
|
-
-x <burpsuite_xml> : path to BurpSuitePro exported XML results file.
|
148
|
-
-o --output <scan-results> : path to output scan-results json.
|
149
|
-
-V --verbose : verbose run [optional].
|
152
|
+
jfrog_xray_mapper translates an JFrog Xray results JSON file into HDF format JSON to be viewable in Heimdall
|
150
153
|
|
151
|
-
|
152
|
-
|
154
|
+
USAGE: heimdall_tools jfrog_xray_mapper [OPTIONS] -j -o
|
155
|
+
|
156
|
+
FLAGS:
|
157
|
+
-j : path to xray results JSON file.
|
158
|
+
-o --output : path to output scan-results json.
|
159
|
+
-V --verbose : verbose run [optional].
|
160
|
+
|
161
|
+
example: heimdall_tools jfrog_xray_mapper -j xray_results.json -o xray_results_hdf.json
|
153
162
|
|
154
163
|
## nessus_mapper
|
155
164
|
|
@@ -158,50 +167,57 @@ Supports compliance and vulnerability scans from Tenable.sc and Tenable.io.
|
|
158
167
|
|
159
168
|
Note: A separate HDF JSON file is generated for each host reported in the Nessus Report.
|
160
169
|
|
161
|
-
|
162
|
-
|
170
|
+
USAGE: heimdall_tools nessus_mapper [OPTIONS] -x -o
|
171
|
+
|
172
|
+
FLAGS:
|
173
|
+
-x : path to Nessus-exported XML results file.
|
174
|
+
-o --output_prefix : path to output scan-results json.
|
175
|
+
-V --verbose : verbose run [optional].
|
176
|
+
|
177
|
+
example: heimdall_tools nessus_mapper -x nessus-results.xml -o test-env
|
163
178
|
|
164
|
-
|
165
|
-
-x <nessus-results-xml> : path to Nessus-exported XML results file.
|
166
|
-
-o --output_prefix <prefix> : path to output scan-results json.
|
167
|
-
-V --verbose : verbose run [optional].
|
168
|
-
|
169
|
-
example: heimdall_tools nessus_mapper -x nessus-results.xml -o test-env
|
170
|
-
```
|
171
|
-
|
172
|
-
## snyk_mapper
|
173
|
-
|
174
|
-
snyk_mapper translates an Snyk results JSON file into HDF format json to be viewable in Heimdall
|
175
|
-
|
176
|
-
Note: A separate HDF JSON is generated for each project reported in the Snyk Report.
|
179
|
+
## netsparker_mapper
|
177
180
|
|
178
|
-
|
179
|
-
USAGE: heimdall_tools snyk_mapper [OPTIONS] -x <snyk-results-json> -o <hdf-file-prefix>
|
181
|
+
netsparker_mapper translates an Netsparker XML results file into HDF format JSON to be viewable in Heimdall.
|
180
182
|
|
181
|
-
|
182
|
-
-j <snyk_results_jsonl> : path to Snyk results JSON file.
|
183
|
-
-o --output_prefix <prefix> : path to output scan-results json.
|
184
|
-
-V --verbose : verbose run [optional].
|
183
|
+
The current iteration only works with Netsparker Enterprise Vulnerabilities Scan.
|
185
184
|
|
186
|
-
|
187
|
-
|
185
|
+
USAGE: heimdall_tools netsparker_mapper [OPTIONS] -x -o
|
186
|
+
|
187
|
+
FLAGS:
|
188
|
+
-x : path to netsparker results XML file.
|
189
|
+
-o --output : path to output scan-results json.
|
190
|
+
-V --verbose : verbose run [optional].
|
191
|
+
|
192
|
+
example: heimdall_tools netsparker_mapper -x netsparker_results.xml -o netsparker_hdf.json
|
188
193
|
|
189
194
|
## nikto_mapper
|
190
195
|
|
191
196
|
nikto_mapper translates an Nikto results JSON file into HDF format JSON to be viewable in Heimdall
|
192
|
-
|
197
|
+
|
193
198
|
Note: Current this mapper only support single target Nikto Scans.
|
194
199
|
|
195
|
-
|
196
|
-
|
200
|
+
USAGE: heimdall_tools nikto_mapper [OPTIONS] -x -o
|
201
|
+
|
202
|
+
FLAGS:
|
203
|
+
-j : path to Nikto results JSON file.
|
204
|
+
-o --output_prefix : path to output scan-results json.
|
205
|
+
-V --verbose : verbose run [optional].
|
206
|
+
|
207
|
+
example: heimdall_tools nikto_mapper -j nikto_results.json -o nikto_results.json
|
197
208
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
-V --verbose : verbose run [optional].
|
209
|
+
## sarif_mapper
|
210
|
+
|
211
|
+
sarif_mapper translates a SARIF JSON file into HDF format JSON to be viewable in Heimdall
|
202
212
|
|
203
|
-
|
204
|
-
|
213
|
+
USAGE: heimdall_tools sarif_mapper [OPTIONS] -j -o
|
214
|
+
|
215
|
+
FLAGS:
|
216
|
+
-j : path to SARIF results JSON file.
|
217
|
+
-o --output_prefix : path to output scan-results json.
|
218
|
+
-V --verbose : verbose run [optional].
|
219
|
+
|
220
|
+
example: heimdall_tools sarif_mapper -j sarif_results.json -o sarif_results_hdf.json
|
205
221
|
|
206
222
|
## scoutsuite_mapper
|
207
223
|
|
@@ -209,105 +225,81 @@ scoutsuite_mapper translates Scout Suite results from Javascript to HDF-formatte
|
|
209
225
|
|
210
226
|
Note: Currently this mapper only supports AWS.
|
211
227
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
example: heimdall_tools scoutsuite_mapper -i scoutsuite_results.js -o scoutsuite_hdf.json
|
220
|
-
```
|
221
|
-
|
222
|
-
## jfrog_xray_mapper
|
223
|
-
|
224
|
-
jfrog_xray_mapper translates an JFrog Xray results JSON file into HDF format JSON to be viewable in Heimdall
|
225
|
-
|
226
|
-
```
|
227
|
-
USAGE: heimdall_tools jfrog_xray_mapper [OPTIONS] -j <xray-results-json> -o <hdf-scan-results.json>
|
228
|
-
|
229
|
-
FLAGS:
|
230
|
-
-j <xray_results_json> : path to xray results JSON file.
|
231
|
-
-o --output <scan-results> : path to output scan-results json.
|
232
|
-
-V --verbose : verbose run [optional].
|
233
|
-
|
234
|
-
example: heimdall_tools jfrog_xray_mapper -j xray_results.json -o xray_results_hdf.json
|
235
|
-
```
|
236
|
-
|
237
|
-
## dbprotect_mapper
|
238
|
-
|
239
|
-
dbprotect_mapper translates DBProtect report in `Check Results Details` format XML to HDF format JSON be viewed on Heimdall.
|
240
|
-
|
241
|
-
```
|
242
|
-
USAGE: heimdall_tools dbprotect_mapper [OPTIONS] -x <check_results_details_report_xml> -o <db_protect_hdf.json>
|
243
|
-
|
244
|
-
FLAGS:
|
245
|
-
-x <check_results_details_report_xml> : path to DBProtect report XML file.
|
246
|
-
-o --output <scan-results> : path to output scan-results json.
|
247
|
-
-V --verbose : verbose run [optional].
|
248
|
-
|
249
|
-
example: heimdall_tools dbprotect_mapper -x check_results_details_report.xml -o db_protect_hdf.json
|
250
|
-
```
|
251
|
-
|
252
|
-
## aws_config_mapper
|
253
|
-
|
254
|
-
aws_config_mapper pulls Ruby AWS SDK data to translate AWS Config Rule results into HDF format json to be viewable in Heimdall
|
255
|
-
|
256
|
-
### AWS Config Rule Mapping:
|
257
|
-
The mapping of AWS Config Rules to 800-53 Controls was sourced from [this link](https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-nist-800-53_rev_4.html).
|
258
|
-
|
259
|
-
### Authentication with AWS:
|
260
|
-
[Developer Guide for configuring Ruby AWS SDK for authentication](https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html)
|
261
|
-
|
262
|
-
```
|
263
|
-
USAGE: heimdall_tools aws_config_mapper [OPTIONS] -o <hdf-scan-results.json>
|
264
|
-
|
265
|
-
FLAGS:
|
266
|
-
-o --output <scan-results> : path to output scan-results json.
|
267
|
-
-V --verbose : verbose run [optional].
|
268
|
-
|
269
|
-
example: heimdall_tools aws_config_mapper -o aws_config_results_hdf.json
|
270
|
-
```
|
271
|
-
|
272
|
-
## netsparker_mapper
|
228
|
+
USAGE: heimdall_tools scoutsuite_mapper -i -o
|
229
|
+
|
230
|
+
FLAGS:
|
231
|
+
-i --input -j --javascript : path to Scout Suite results Javascript file.
|
232
|
+
-o --output : path to output scan-results json.
|
233
|
+
|
234
|
+
example: heimdall_tools scoutsuite_mapper -i scoutsuite_results.js -o scoutsuite_hdf.json
|
273
235
|
|
274
|
-
|
236
|
+
## snyk_mapper
|
275
237
|
|
276
|
-
|
238
|
+
snyk_mapper translates an Snyk results JSON file into HDF format json to be viewable in Heimdall
|
277
239
|
|
278
|
-
|
279
|
-
USAGE: heimdall_tools netsparker_mapper [OPTIONS] -x <netsparker_results_xml> -o <hdf-scan-results.json>
|
240
|
+
Note: A separate HDF JSON is generated for each project reported in the Snyk Report.
|
280
241
|
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
242
|
+
USAGE: heimdall_tools snyk_mapper [OPTIONS] -x -o
|
243
|
+
|
244
|
+
FLAGS:
|
245
|
+
-j : path to Snyk results JSON file.
|
246
|
+
-o --output_prefix : path to output scan-results json.
|
247
|
+
-V --verbose : verbose run [optional].
|
248
|
+
|
249
|
+
example: heimdall_tools snyk_mapper -j snyk_results.json -o output-file-prefix
|
285
250
|
|
286
|
-
|
287
|
-
```
|
251
|
+
## sonarqube_mapper
|
288
252
|
|
289
|
-
|
253
|
+
sonarqube_mapper pulls SonarQube results, for the specified project, from the API and outputs in HDF format Json to be viewed on Heimdall
|
290
254
|
|
291
|
-
|
255
|
+
USAGE: heimdall_tools sonarqube_mapper [OPTIONS] -n -u -o
|
256
|
+
|
257
|
+
FLAGS:
|
258
|
+
-n --name : Project Key of the project in SonarQube
|
259
|
+
-u --api_url : url of the SonarQube Server API. Typically ends with /api.
|
260
|
+
--auth : username:password or token [optional].
|
261
|
+
-o --output : path to output scan-results json.
|
262
|
+
-V --verbose : verbose run [optional].
|
263
|
+
|
264
|
+
example:
|
265
|
+
|
266
|
+
heimdall_tools sonarqube_mapper -n sonar_project_key -u http://sonar:9000/api -o scan_results.json
|
267
|
+
|
268
|
+
heimdall_tools sonarqube_mapper -n sonar_project_key -u http://sonar:9000/api --auth admin:admin -o scan_results.json
|
269
|
+
|
270
|
+
## xccdf_results_mapper
|
271
|
+
|
272
|
+
Note: SCC outputs scan results in XCCDF-Results format.
|
273
|
+
|
274
|
+
xccdf_results_mapper translates an XCCDF_Results XML scan into HDF format json to be viewable in Heimdall.
|
275
|
+
|
276
|
+
USAGE: heimdall_tools xccdf_results_mapper [OPTIONS] -x -o
|
277
|
+
|
278
|
+
FLAGS:
|
279
|
+
-x : path to XCCDF-Results XML file.
|
280
|
+
-o --output : path to output scan-results json.
|
281
|
+
|
282
|
+
example: heimdall_tools xccdf_results_mapper -x xccdf_results.xml -o scan_results.json
|
292
283
|
|
293
|
-
|
294
|
-
USAGE: heimdall_tools sarif_mapper [OPTIONS] -j <sarif-results-json> -o <hdf-scan-results.json>
|
284
|
+
## zap_mapper
|
295
285
|
|
296
|
-
|
297
|
-
-j <sarif_results_json> : path to SARIF results JSON file.
|
298
|
-
-o --output_prefix <prefix> : path to output scan-results json.
|
299
|
-
-V --verbose : verbose run [optional].
|
286
|
+
zap_mapper translates OWASP ZAP results Json to HDF format Json be viewed on Heimdall
|
300
287
|
|
301
|
-
|
302
|
-
|
288
|
+
USAGE: heimdall_tools zap_mapper [OPTIONS] -j -n -o
|
289
|
+
|
290
|
+
FLAGS:
|
291
|
+
-j --json : path to OWASP ZAP results JSON file.
|
292
|
+
-n --name : URL of the site being evaluated.
|
293
|
+
-o --output : path to output scan-results json.
|
294
|
+
-V --verbose : verbose run [optional].
|
295
|
+
|
296
|
+
example: heimdall_tools zap_mapper -j zap_results.json -n site_name -o scan_results.json
|
303
297
|
|
304
|
-
## version
|
298
|
+
## version
|
305
299
|
|
306
300
|
Prints out the gem version
|
307
301
|
|
308
|
-
|
309
|
-
USAGE: heimdall_tools version
|
310
|
-
```
|
302
|
+
USAGE: heimdall_tools version
|
311
303
|
|
312
304
|
# Development
|
313
305
|
|
@@ -315,26 +307,26 @@ USAGE: heimdall_tools version
|
|
315
307
|
|
316
308
|
### A complete PR should include 7 core elements:
|
317
309
|
|
318
|
-
-
|
319
|
-
-
|
320
|
-
-
|
321
|
-
-
|
322
|
-
-
|
323
|
-
-
|
324
|
-
|
325
|
-
-
|
310
|
+
- A signed PR ( aka `git commit -a -s` )
|
311
|
+
- Code for the new functionality
|
312
|
+
- Updates to the CLI
|
313
|
+
- New unit tests for the functionality
|
314
|
+
- Updates to the docs and examples in `README.md` and `./docs/*`
|
315
|
+
- (if needed) Example / Template files ( `metadata.yml`,`example.yml`, etc )
|
316
|
+
- Scripts / Scaffolding code for the Example / Template files ( `generate_map` is an example )
|
317
|
+
- Example Output of the new functionality if it produces an artifact
|
326
318
|
|
327
319
|
### Overview of our PR process
|
328
320
|
|
329
|
-
1.
|
330
|
-
2.
|
331
|
-
3.
|
332
|
-
4.
|
333
|
-
5.
|
334
|
-
6.
|
335
|
-
7.
|
336
|
-
8.
|
337
|
-
9.
|
321
|
+
1. open an issue on the main inspec_tools website noting the issues your PR will address
|
322
|
+
2. fork the repo
|
323
|
+
3. checkout your repo
|
324
|
+
4. cd to the repo
|
325
|
+
5. git co -b ``
|
326
|
+
6. bundle install
|
327
|
+
7. `hack as you will`
|
328
|
+
8. test via rake
|
329
|
+
9. ensure unit tests still function and add unit tests for your new feature
|
338
330
|
10. add new docs to the `README.md` and to `./docs/examples`
|
339
331
|
11. update the CLI as needed and add in `usage` example
|
340
332
|
12. (if needed) create and document any example or templates
|
@@ -342,18 +334,18 @@ USAGE: heimdall_tools version
|
|
342
334
|
14. (opt) gem build inspec_tools.gemspec
|
343
335
|
15. (opt) gem install inspec_tools
|
344
336
|
16. (opt) test via the installed gem
|
345
|
-
17. git commit -a -s
|
337
|
+
17. git commit -a -s ``
|
346
338
|
18. Open a PRs aginst the MITRE inspec_tools repo
|
347
339
|
|
348
340
|
# Publishing a Release
|
349
341
|
|
350
342
|
If you are a maintainer, it is very easy to cut a release of this gem:
|
351
343
|
|
352
|
-
1.
|
353
|
-
2.
|
354
|
-
3.
|
355
|
-
4.
|
356
|
-
5.
|
344
|
+
1. Click on "Releases" and there should be a draft pending.
|
345
|
+
2. Make sure the Tag version and Release title match!
|
346
|
+
3. Add any additional notes can be added in the Description box.
|
347
|
+
4. Click "Publish release".
|
348
|
+
5. Release notes will be posted and a new gem will be pushed to Rubygems & Github Packages with the version you specified on step 2.
|
357
349
|
|
358
350
|
# Testing
|
359
351
|
|
@@ -367,8 +359,8 @@ To release a new version, update the version number in `version.rb` according to
|
|
367
359
|
|
368
360
|
### Authors
|
369
361
|
|
370
|
-
-
|
371
|
-
-
|
362
|
+
- Author:: Rony Xavier [rx294](https://github.com/rx294)
|
363
|
+
- Author:: Dan Mirsky [mirskiy](https://github.com/mirskiy)
|
372
364
|
|
373
365
|
### NOTICE
|
374
366
|
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module HeimdallTools
|
2
|
+
class FirewallManager
|
3
|
+
def self.finding_id(finding, *, encode:, **)
|
4
|
+
encode.call(finding['Title'])
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.product_name(findings, *, encode:, **)
|
8
|
+
encode.call("#{findings[0]['ProductFields']['aws/securityhub/CompanyName']} #{findings[0]['ProductFields']['aws/securityhub/ProductName']}")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module HeimdallTools
|
2
|
+
class Prowler
|
3
|
+
def self.subfindings_code_desc(finding, *, encode:, **)
|
4
|
+
encode.call(finding['Description'])
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.finding_id(finding, *, encode:, **)
|
8
|
+
encode.call(finding['GeneratorId'].partition('-')[-1])
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.product_name(findings, *, encode:, **)
|
12
|
+
encode.call(findings[0]['ProductFields']['ProviderName'])
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.desc(*, **)
|
16
|
+
' '
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|