29
29
def strip_newline (str ):
30
30
return str .replace ('\r ' , '' ).replace ('\n ' , '' )
31
31
32
+ def match_component (selected_components , component ):
33
+ if (len (selected_components ) == 0 ):
34
+ return True
35
+
36
+ for selected in selected_components :
37
+ if (re .search (selected , component , re .IGNORECASE )):
38
+ return True
39
+
40
+ return False
41
+
32
42
def main ():
33
43
program_name = os .path .basename (sys .argv [0 ])
34
44
parser = argparse .ArgumentParser (prog = program_name , usage = "%(prog)s [options]" , description = "Automated Assessment" )
@@ -40,8 +50,11 @@ def main():
40
50
parser .add_argument ("--components" , required = False , help = "component names, comma seperated without space" )
41
51
args = parser .parse_args ()
42
52
43
- component = args .component
44
- components = args .components .sqlit (',' )
53
+ components = args .components .split (',' ) if args .components != None else []
54
+
55
+ if (args .component != None ):
56
+ components .append (args .component )
57
+
45
58
projectname = args .project
46
59
projectversion = args .version
47
60
output = args .output if args .output != None else "output.csv"
@@ -68,7 +81,8 @@ def main():
68
81
for vulnverable_component in bd .get_resource ('vulnerable-components' , version ):
69
82
componentName = vulnverable_component ["componentName" ]
70
83
71
- if (component == None or re .search (component , componentName , re .IGNORECASE )):
84
+ #if (component == None or re.search(component, componentName, re.IGNORECASE)):
85
+ if (match_component (components , componentName )):
72
86
componentVersion = vulnverable_component ["componentVersionName" ]
73
87
remediation = vulnverable_component ['vulnerabilityWithRemediation' ]
74
88
0 commit comments