11import argparse
22import json
33from socketsecurity .core import Core , __version__
4- from socketsecurity .core .classes import FullScanParams , Diff , Package
4+ from socketsecurity .core .classes import FullScanParams , Diff , Package , Alert
55from socketsecurity .core .messages import Messages
66from socketsecurity .core .scm_comments import Comments
77from socketsecurity .core .git_interface import Git
146146def output_console_comments (diff_report : Diff , sbom_file_name : str = None ) -> None :
147147 console_security_comment = Messages .create_console_security_alert_table (diff_report )
148148 save_sbom_file (diff_report , sbom_file_name )
149- if len (diff_report . new_alerts ) > 0 :
149+ if not report_pass (diff_report ) :
150150 log .info ("Security issues detected by Socket Security" )
151- log .info (console_security_comment )
151+ msg = f"\n { console_security_comment } "
152+ log .info (msg )
152153 sys .exit (1 )
153154 else :
154155 log .info ("No New Security issues detected by Socket Security" )
@@ -158,14 +159,26 @@ def output_console_json(diff_report: Diff, sbom_file_name: str = None) -> None:
158159 console_security_comment = Messages .create_security_comment_json (diff_report )
159160 save_sbom_file (diff_report , sbom_file_name )
160161 print (json .dumps (console_security_comment ))
161- if len (diff_report . new_alerts ) > 0 :
162+ if not report_pass (diff_report ) :
162163 sys .exit (1 )
163164
164165
166+ def report_pass (diff_report : Diff ) -> bool :
167+ report_passed = True
168+ if len (diff_report .new_alerts ) > 0 :
169+ for alert in diff_report .new_alerts :
170+ alert : Alert
171+ if report_passed and alert .error :
172+ report_passed = False
173+ break
174+ return report_passed
175+
176+
165177def save_sbom_file (diff_report : Diff , sbom_file_name : str = None ):
166178 if diff_report is not None and sbom_file_name is not None :
167179 Core .save_file (sbom_file_name , json .dumps (Core .create_sbom_output (diff_report )))
168180
181+
169182def cli ():
170183 try :
171184 main_code ()
0 commit comments