in dusty/processors/issue_hash/processor.py [0:0]
def execute(self):
""" Run the processor """
log.info("Injecting issue hashes")
for item in self.context.findings:
issue_hash = None
# Legacy code: prepare issue hash
if isinstance(item, DastFinding):
title = re.sub('[^A-Za-zА-Яа-я0-9//\\\.\- _]+', '', item.title) # pylint: disable=W1401
issue_hash = hashlib.sha256(
f'{title}_None_None__'.strip().encode('utf-8')
).hexdigest()
if isinstance(item, SastFinding):
title = re.sub('[^A-Za-zА-Яа-я0-9//\\\.\- _]+', '', item.title) # pylint: disable=W1401
cwe = item.get_meta("legacy.cwe", "None")
line = item.get_meta("legacy.line", "None")
file = item.get_meta("legacy.file", "")
issue_hash = hashlib.sha256(
f'{title}_{cwe}_{line}_{file}_'.strip().encode('utf-8')
).hexdigest()
# Inject issue hash
if issue_hash:
item.set_meta("issue_hash", issue_hash)
if isinstance(item, DastFinding):
item.description += f"\n\n**Issue Hash:** {issue_hash}"
if isinstance(item, SastFinding):
item.description[0] += f"\n\n**Issue Hash:** {issue_hash}"