88 mypath = os .getcwd ()
99
1010filelist = []
11- opbufferinit = 'Running security analysis:\n '
11+ keyfilelist = []
12+ opbufferinit = '\n Running security analysis:'
1213opbuffer = ''
1314for (dirpath , dirnames , filenames ) in walk (mypath ):
1415 for filename in fnmatch .filter (filenames , '*.c' ):
1920 filelist .append (os .path .join (dirpath ,filename ))
2021 for filename in fnmatch .filter (filenames , '*.json' ):
2122 filelist .append (os .path .join (dirpath ,filename ))
23+ for filename in fnmatch .filter (filenames , '*.key' ):
24+ keyfilelist .append (os .path .join (dirpath ,filename ))
25+ for filename in fnmatch .filter (filenames , '*.pem' ):
26+ keyfilelist .append (os .path .join (dirpath ,filename ))
2227
2328doregex = re .compile ('([A-Z0-9]{64})[\s\' \" \;\)\]\}]*$' )
2429awsregex = re .compile ('([A-Z]*[0-9][A-Z0-9]+)[\s\' \" \;\)\]\}]*$' )
3035 linenum += 1
3136 eachline = eachline .lstrip ().rstrip ()
3237 if len (doregex .findall (eachline )):
33- opbuffer += '\n ' + 'Filename: {}\n Line number: {}\n ' .format (filename , linenum )
38+ opbuffer += '\n \n ' + 'Filename: {}\n Line number: {}' .format (filename , linenum )
3439 break
3540 elif len (awsregex .findall (eachline )):
3641 flag = False
3742 for eachtoken in awsregex .findall (eachline ):
3843 if len (eachtoken ) == 40 :
39- opbuffer += '\n ' + 'Filename: {}\n Line number: {}\n ' .format (filename , linenum )
44+ opbuffer += '\n \n ' + 'Filename: {}\n Line number: {}' .format (filename , linenum )
4045 flag = True
4146 break
4247 if flag :
4348 break
49+ if len (keyfilelist ):
50+ opbuffer += "\n \n Found files with security keys."
51+ for eachfile in keyfilelist :
52+ opbuffer += '\n ' + 'Filename: {}' .format (eachfile )
53+ opbuffer += "\n \n Please remove these files before pushing changes."
54+
4455with open (os .path .join (os .path .dirname (os .path .abspath (sys .argv [0 ])),'secanalysis.result' ),'w' ) as opfile :
4556 opfile .write (opbufferinit )
46- if len (opbuffer ):
47- opbuffer += '\n STATUS: FAILURE'
57+ if len (opbuffer ) or len ( keyfilelist ) :
58+ opbuffer += '\n \ n STATUS: FAILURE'
4859 else :
49- opbuffer += '\n STATUS: SUCCESS'
60+ opbuffer += '\n \ n STATUS: SUCCESS'
5061 opfile .write (opbuffer )
51- print opbufferinit + opbuffer + '\n '
62+ print opbufferinit + opbuffer + '\n '
0 commit comments