Skip to content
This repository was archived by the owner on Oct 4, 2024. It is now read-only.

Commit f647ad7

Browse files
committed
checkov cleanup
1 parent dfed5f1 commit f647ad7

File tree

2 files changed

+13
-206
lines changed

2 files changed

+13
-206
lines changed

src/main/java/com/hack23/sonar/cloudformation/CloudformationQualityProfile.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
import org.sonar.api.server.rule.RulesDefinition.Repository;
2424
import org.sonar.api.server.rule.RulesDefinition.Rule;
2525

26-
import com.hack23.sonar.cloudformation.reports.process.CfnNagProcessReports;
27-
2826
/**
2927
* The Class CloudformationQualityProfile.
3028
*/
@@ -94,15 +92,10 @@ private void createIacQualityProfile(final Context context, final String languag
9492
for (final Repository repository : cloudformationRulesDefinition.getContext().repositories()) {
9593
if (repository.key().contains(CFN_RULE_PREFIX + language)) {
9694
for (final Rule rule : repository.rules()) {
97-
if (rule.tags().contains(CHECKOV)) {
9895
iacProfile.activateRule(CFN_RULE_PREFIX + language, rule.key());
99-
}
10096
}
10197
}
10298
}
103-
for (final String ruleKey : CfnNagProcessReports.SUPPORTED_RULES) {
104-
iacProfile.activateRule(CFN_RULE_PREFIX + language, ruleKey);
105-
}
10699
iacProfile.done();
107100
}
108101

@@ -118,15 +111,12 @@ private void createCloudformationQualityProfile(final Context context, final Str
118111
for (final Repository repository : cloudformationRulesDefinition.getContext().repositories()) {
119112
if (repository.key().contains(CFN_RULE_PREFIX + language)) {
120113
for (final Rule rule : repository.rules()) {
121-
if (rule.tags().contains(CHECKOV) && (rule.tags().contains(CLOUDFORMATION) || rule.tags().contains(SERVERLESS))) {
114+
if (rule.tags().contains(CLOUDFORMATION) || rule.tags().contains(SERVERLESS) || rule.tags().contains("cfn-nag")) {
122115
cloudFormationprofile.activateRule(CFN_RULE_PREFIX + language, rule.key());
123116
}
124117
}
125118
}
126119
}
127-
for (final String ruleKey : CfnNagProcessReports.SUPPORTED_RULES) {
128-
cloudFormationprofile.activateRule(CFN_RULE_PREFIX + language, ruleKey);
129-
}
130120
cloudFormationprofile.done();
131121
}
132122
}

src/main/java/com/hack23/sonar/cloudformation/reports/process/CfnNagProcessReports.java

Lines changed: 12 additions & 195 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,13 @@
2222
import java.io.File;
2323
import java.io.IOException;
2424
import java.nio.file.Files;
25-
import java.util.HashSet;
2625
import java.util.List;
2726
import java.util.Optional;
28-
import java.util.Set;
2927

3028
import org.apache.commons.lang3.StringUtils;
3129
import org.sonar.api.batch.fs.FileSystem;
3230
import org.sonar.api.batch.fs.InputFile;
31+
import org.sonar.api.batch.rule.ActiveRules;
3332
import org.sonar.api.batch.sensor.SensorContext;
3433
import org.sonar.api.batch.sensor.issue.internal.DefaultIssueLocation;
3534
import org.sonar.api.rule.RuleKey;
@@ -45,9 +44,6 @@
4544
*/
4645
public final class CfnNagProcessReports extends AbstractProcessReports {
4746

48-
/** The Constant SUPPORTED_RULES. */
49-
public static final Set<String> SUPPORTED_RULES = new HashSet<>();
50-
5147
/** The Constant UNDEFINED_FAILURE. */
5248
public static final String UNDEFINED_FAILURE = "FUNDEFINED";
5349

@@ -66,180 +62,6 @@ public final class CfnNagProcessReports extends AbstractProcessReports {
6662
/** The file system. */
6763
private final FileSystem fileSystem;
6864

69-
static {
70-
SUPPORTED_RULES.add("F1");
71-
SUPPORTED_RULES.add("F2");
72-
SUPPORTED_RULES.add("F3");
73-
SUPPORTED_RULES.add("F4");
74-
SUPPORTED_RULES.add("F5");
75-
SUPPORTED_RULES.add("F6");
76-
SUPPORTED_RULES.add("F7");
77-
SUPPORTED_RULES.add("F8");
78-
SUPPORTED_RULES.add("F9");
79-
SUPPORTED_RULES.add("F10");
80-
SUPPORTED_RULES.add("F11");
81-
SUPPORTED_RULES.add("F12");
82-
SUPPORTED_RULES.add("F13");
83-
SUPPORTED_RULES.add("F14");
84-
SUPPORTED_RULES.add("F15");
85-
SUPPORTED_RULES.add("F16");
86-
SUPPORTED_RULES.add("F18");
87-
SUPPORTED_RULES.add("F19");
88-
SUPPORTED_RULES.add("F20");
89-
SUPPORTED_RULES.add("F21");
90-
SUPPORTED_RULES.add("F22");
91-
SUPPORTED_RULES.add("F23");
92-
SUPPORTED_RULES.add("F24");
93-
SUPPORTED_RULES.add("F25");
94-
SUPPORTED_RULES.add("F26");
95-
SUPPORTED_RULES.add("F27");
96-
SUPPORTED_RULES.add("F28");
97-
SUPPORTED_RULES.add("F29");
98-
SUPPORTED_RULES.add("F30");
99-
SUPPORTED_RULES.add("F31");
100-
SUPPORTED_RULES.add("F32");
101-
SUPPORTED_RULES.add("F33");
102-
SUPPORTED_RULES.add("F34");
103-
SUPPORTED_RULES.add("F35");
104-
SUPPORTED_RULES.add("F36");
105-
SUPPORTED_RULES.add("F37");
106-
SUPPORTED_RULES.add("F38");
107-
SUPPORTED_RULES.add("F39");
108-
SUPPORTED_RULES.add("F40");
109-
SUPPORTED_RULES.add("F41");
110-
SUPPORTED_RULES.add("F42");
111-
SUPPORTED_RULES.add("F43");
112-
SUPPORTED_RULES.add("F44");
113-
SUPPORTED_RULES.add("F45");
114-
SUPPORTED_RULES.add("F46");
115-
SUPPORTED_RULES.add("F47");
116-
SUPPORTED_RULES.add("F48");
117-
SUPPORTED_RULES.add("F49");
118-
SUPPORTED_RULES.add("F50");
119-
SUPPORTED_RULES.add("F51");
120-
SUPPORTED_RULES.add("F52");
121-
SUPPORTED_RULES.add("F53");
122-
SUPPORTED_RULES.add("F54");
123-
SUPPORTED_RULES.add("F55");
124-
SUPPORTED_RULES.add("F56");
125-
SUPPORTED_RULES.add("F57");
126-
SUPPORTED_RULES.add("F58");
127-
SUPPORTED_RULES.add("F60");
128-
SUPPORTED_RULES.add("F61");
129-
SUPPORTED_RULES.add("F62");
130-
SUPPORTED_RULES.add("F63");
131-
SUPPORTED_RULES.add("F64");
132-
SUPPORTED_RULES.add("F65");
133-
SUPPORTED_RULES.add("F66");
134-
SUPPORTED_RULES.add("F67");
135-
SUPPORTED_RULES.add("F68");
136-
SUPPORTED_RULES.add("F69");
137-
SUPPORTED_RULES.add("F70");
138-
SUPPORTED_RULES.add("F71");
139-
SUPPORTED_RULES.add("F74");
140-
SUPPORTED_RULES.add("F75");
141-
SUPPORTED_RULES.add("F76");
142-
SUPPORTED_RULES.add("F77");
143-
SUPPORTED_RULES.add("F78");
144-
SUPPORTED_RULES.add("F79");
145-
SUPPORTED_RULES.add("F80");
146-
147-
SUPPORTED_RULES.add("F665");
148-
SUPPORTED_RULES.add("F1000");
149-
SUPPORTED_RULES.add("F2000");
150-
151-
SUPPORTED_RULES.add("W1");
152-
SUPPORTED_RULES.add("W2");
153-
SUPPORTED_RULES.add("W5");
154-
SUPPORTED_RULES.add("W9");
155-
SUPPORTED_RULES.add("W10");
156-
SUPPORTED_RULES.add("W11");
157-
SUPPORTED_RULES.add("W12");
158-
SUPPORTED_RULES.add("W13");
159-
SUPPORTED_RULES.add("W14");
160-
SUPPORTED_RULES.add("W15");
161-
SUPPORTED_RULES.add("W16");
162-
SUPPORTED_RULES.add("W17");
163-
SUPPORTED_RULES.add("W18");
164-
SUPPORTED_RULES.add("W19");
165-
SUPPORTED_RULES.add("W20");
166-
SUPPORTED_RULES.add("W21");
167-
SUPPORTED_RULES.add("W22");
168-
SUPPORTED_RULES.add("W23");
169-
SUPPORTED_RULES.add("W24");
170-
SUPPORTED_RULES.add("W26");
171-
SUPPORTED_RULES.add("W27");
172-
SUPPORTED_RULES.add("W28");
173-
SUPPORTED_RULES.add("W29");
174-
SUPPORTED_RULES.add("W31");
175-
SUPPORTED_RULES.add("W32");
176-
SUPPORTED_RULES.add("W33");
177-
SUPPORTED_RULES.add("W34");
178-
SUPPORTED_RULES.add("W35");
179-
SUPPORTED_RULES.add("W36");
180-
SUPPORTED_RULES.add("W37");
181-
SUPPORTED_RULES.add("W38");
182-
SUPPORTED_RULES.add("W39");
183-
SUPPORTED_RULES.add("W40");
184-
SUPPORTED_RULES.add("W41");
185-
SUPPORTED_RULES.add("W42");
186-
SUPPORTED_RULES.add("W43");
187-
SUPPORTED_RULES.add("W44");
188-
SUPPORTED_RULES.add("W45");
189-
SUPPORTED_RULES.add("W46");
190-
SUPPORTED_RULES.add("W47");
191-
SUPPORTED_RULES.add("W48");
192-
SUPPORTED_RULES.add("W49");
193-
SUPPORTED_RULES.add("W50");
194-
SUPPORTED_RULES.add("W51");
195-
SUPPORTED_RULES.add("W52");
196-
SUPPORTED_RULES.add("W53");
197-
SUPPORTED_RULES.add("W54");
198-
SUPPORTED_RULES.add("W55");
199-
SUPPORTED_RULES.add("W56");
200-
SUPPORTED_RULES.add("W57");
201-
SUPPORTED_RULES.add("W58");
202-
SUPPORTED_RULES.add("W59");
203-
SUPPORTED_RULES.add("W60");
204-
SUPPORTED_RULES.add("W61");
205-
SUPPORTED_RULES.add("W62");
206-
SUPPORTED_RULES.add("W63");
207-
SUPPORTED_RULES.add("W64");
208-
SUPPORTED_RULES.add("W65");
209-
SUPPORTED_RULES.add("W66");
210-
SUPPORTED_RULES.add("W67");
211-
SUPPORTED_RULES.add("W68");
212-
SUPPORTED_RULES.add("W69");
213-
SUPPORTED_RULES.add("W70");
214-
SUPPORTED_RULES.add("W71");
215-
SUPPORTED_RULES.add("W72");
216-
SUPPORTED_RULES.add("W73");
217-
SUPPORTED_RULES.add("W74");
218-
SUPPORTED_RULES.add("W75");
219-
SUPPORTED_RULES.add("W76");
220-
SUPPORTED_RULES.add("W77");
221-
SUPPORTED_RULES.add("W78");
222-
SUPPORTED_RULES.add("W79");
223-
SUPPORTED_RULES.add("W80");
224-
SUPPORTED_RULES.add("W81");
225-
SUPPORTED_RULES.add("W82");
226-
SUPPORTED_RULES.add("W83");
227-
SUPPORTED_RULES.add("W84");
228-
SUPPORTED_RULES.add("W85");
229-
SUPPORTED_RULES.add("W86");
230-
SUPPORTED_RULES.add("W87");
231-
SUPPORTED_RULES.add("W88");
232-
SUPPORTED_RULES.add("W89");
233-
SUPPORTED_RULES.add("W90");
234-
SUPPORTED_RULES.add("W91");
235-
SUPPORTED_RULES.add("W92");
236-
237-
SUPPORTED_RULES.add("W1200");
238-
SUPPORTED_RULES.add("W1201");
239-
240-
SUPPORTED_RULES.add(UNDEFINED_FAILURE);
241-
SUPPORTED_RULES.add(UNDEFINED_WARNING);
242-
}
24365

24466
/**
24567
* Instantiates a new cfn nag process reports.
@@ -254,16 +76,6 @@ public CfnNagProcessReports(final FileSystem fileSystem, final PathResolver path
25476
this.pathResolver = pathResolver;
25577
}
25678

257-
/**
258-
* Checks for rule.
259-
*
260-
* @param id the id
261-
* @return true, if successful
262-
*/
263-
public static boolean hasRule(final String id) {
264-
return SUPPORTED_RULES.contains(id);
265-
}
266-
26779
/**
26880
* Process cfn nag report.
26981
*
@@ -329,30 +141,32 @@ private void handleCfnNagScanReports(final SensorContext context, final String r
329141
*/
330142
private static void addIssue(final SensorContext context, final CfnNagViolation violation,
331143
final InputFile templateInputFile) {
144+
final ActiveRules activeRules = context.activeRules();
145+
332146
if (templateInputFile != null) {
333147

334148
if (violation.getLineNumbers().isEmpty()) {
335-
context.newIssue().forRule(RuleKey.of("cfn-" + templateInputFile.language(), findRuleId(violation)))
149+
context.newIssue().forRule(RuleKey.of("cfn-" + templateInputFile.language(), findRuleId(activeRules, violation)))
336150
.at(new DefaultIssueLocation().on(templateInputFile).message(violation.getMessage())).save();
337151
} else {
338152
final List<Integer> lineNumbers = violation.getLineNumbers();
339153
for (final Integer line : lineNumbers) {
340154
if (line != null && line >= 0) {
341155
context.newIssue()
342-
.forRule(RuleKey.of("cfn-" + templateInputFile.language(), findRuleId(violation)))
156+
.forRule(RuleKey.of("cfn-" + templateInputFile.language(), findRuleId(activeRules, violation)))
343157
.at(new DefaultIssueLocation().on(templateInputFile).message(violation.getMessage())
344158
.at(templateInputFile.selectLine(line)))
345159
.save();
346160
} else {
347161
context.newIssue()
348-
.forRule(RuleKey.of("cfn-" + templateInputFile.language(), findRuleId(violation)))
162+
.forRule(RuleKey.of("cfn-" + templateInputFile.language(), findRuleId(activeRules, violation)))
349163
.at(new DefaultIssueLocation().on(templateInputFile).message(violation.getMessage()))
350164
.save();
351165
}
352166
}
353167
}
354168
} else {
355-
context.newIssue().forRule(RuleKey.of("cfn-yaml", findRuleId(violation)))
169+
context.newIssue().forRule(RuleKey.of("cfn-yaml", findRuleId(activeRules, violation)))
356170
.at(new DefaultIssueLocation().on(context.project()).message(violation.getMessage())).save();
357171
}
358172
}
@@ -363,8 +177,11 @@ private static void addIssue(final SensorContext context, final CfnNagViolation
363177
* @param violation the violation
364178
* @return the string
365179
*/
366-
private static String findRuleId(final CfnNagViolation violation) {
367-
if (hasRule(violation.getId())) {
180+
private static String findRuleId(final ActiveRules activeRules, final CfnNagViolation violation) {
181+
RuleKey ruleKeyYaml = RuleKey.of("cfn-yaml", violation.getId());
182+
RuleKey ruleKeyJson = RuleKey.of("cfn-json", violation.getId());
183+
184+
if (activeRules.find(ruleKeyYaml) != null || activeRules.find(ruleKeyJson) != null) {
368185
return violation.getId();
369186
} else {
370187
if (violation.getId().startsWith("W")) {

0 commit comments

Comments
 (0)