Skip to content

Commit 8d9100f

Browse files
committed
Add TLSH, SHA1 column for binary analysis
1 parent 01d28f6 commit 8d9100f

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ openpyxl
44
progress
55
pyyaml
66
beautifulsoup4
7-
fosslight_util>=1.4.36
7+
fosslight_util>=1.4.41
88
fosslight_source>=1.7.3
99
fosslight_dependency>=3.7.4
10-
fosslight_binary>=4.1.24
10+
fosslight_binary>=4.1.28
1111
fosslight_prechecker>=3.0.1

src/fosslight_scanner/common.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
logger = logging.getLogger(constant.LOGGER_NAME)
2222
SRC_SHEET = 'SRC_FL_Source'
2323
BIN_SHEET = 'BIN_FL_Binary'
24+
BIN_EXT_HEADER = {'BIN_FL_Binary': ['ID', 'Binary Name', 'OSS Name',
25+
'OSS Version', 'License', 'Download Location',
26+
'Homepage', 'Copyright Text', 'Exclude',
27+
'Comment', 'Vulnerability Link', 'TLSH', 'SHA1']}
28+
BIN_HIDDEN_HEADER = {'TLSH', "SHA1"}
2429

2530

2631
def copy_file(source, destination):
@@ -250,7 +255,7 @@ def correct_scanner_result(_output_dir, output_files, output_extension, exist_sr
250255
logger.warning(err_msg)
251256
if exist_bin:
252257
success, err_msg = write_output_with_osslist(bin_oss_list, _output_dir, output_files['BIN'],
253-
output_extension, BIN_SHEET)
258+
output_extension, BIN_SHEET, BIN_EXT_HEADER, BIN_HIDDEN_HEADER)
254259
if not success:
255260
logger.warning(err_msg)
256261
if duplicates:
@@ -260,18 +265,19 @@ def correct_scanner_result(_output_dir, output_files, output_extension, exist_sr
260265
return
261266

262267

263-
def write_output_with_osslist(oss_list, output_dir, output_file, output_extension, sheetname):
268+
def write_output_with_osslist(oss_list, output_dir, output_file, output_extension, sheetname, extended_hdr={}, hidden_hdr={}):
264269
new_oss_list = []
265270
sheet_list = {}
266271
sheet_list[sheetname] = []
267272

268273
for src_item in oss_list:
269-
new_oss_list.append(src_item.get_print_array()[0])
274+
scanner_name = constant.supported_sheet_and_scanner[sheetname]
275+
new_oss_list.append(src_item.get_print_array(scanner_name)[0])
270276
sheet_list[sheetname].extend(new_oss_list)
271277
if os.path.exists(os.path.join(output_dir, output_file)):
272278
os.remove(os.path.join(output_dir, output_file))
273279
success, err_msg, _ = write_output_file(os.path.join(output_dir, output_file).rstrip(output_extension),
274-
output_extension, sheet_list)
280+
output_extension, sheet_list, extended_hdr, hidden_hdr)
275281
return success, err_msg
276282

277283

src/fosslight_scanner/fosslight_scanner.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import sys
1212
import shutil
1313
import shlex
14+
import subprocess
1415
from pathlib import Path
1516
from datetime import datetime
1617
from fosslight_binary import binary_analysis
@@ -26,9 +27,9 @@
2627
overwrite_excel,
2728
merge_yamls, correct_scanner_result,
2829
create_scancodejson)
29-
from fosslight_util.write_excel import merge_excels
30+
from fosslight_util.write_excel import merge_excels, merge_cover_comment
3031
from ._run_compare import run_compare
31-
import subprocess
32+
from fosslight_util.cover import CoverItem
3233
fosslight_source_installed = True
3334
try:
3435
from fosslight_source.cli import run_scanners as source_analysis
@@ -188,6 +189,10 @@ def run_scanner(src_path, dep_arguments, output_path, keep_raw_data=False,
188189
output_file_without_ext = os.path.join(final_excel_dir, output_file)
189190
final_report = f"{output_file_without_ext}{output_extension}"
190191
merge_files = [output_files["SRC"], output_files["BIN"], output_files["DEP"]]
192+
cover = CoverItem(tool_name=PKG_NAME,
193+
start_time=_start_time,
194+
input_path=abs_path)
195+
cover.comment = merge_cover_comment(_output_dir, merge_files)
191196

192197
if output_extension == ".xlsx":
193198
tmp_dir = f"tmp_{datetime.now().strftime('%y%m%d_%H%M')}"
@@ -208,7 +213,7 @@ def run_scanner(src_path, dep_arguments, output_path, keep_raw_data=False,
208213
overwrite_excel(_output_dir, default_oss_name, "OSS Name")
209214
overwrite_excel(_output_dir, default_oss_version, "OSS Version")
210215
overwrite_excel(_output_dir, url, "Download Location")
211-
success, err_msg = merge_excels(_output_dir, final_report, merge_files)
216+
success, err_msg = merge_excels(_output_dir, final_report, merge_files, cover)
212217

213218
if correct_mode:
214219
if exist_src:

0 commit comments

Comments
 (0)