Scan report
trustedsec / unicorn
Could an attacker exploit mistakes in this code?
Minor issues. Worth a glance, unlikely to be urgent.
- High
- 2
- Medium
- 0
- Low
- 3
Sources: Bandit, Semgrep, pip-audit
Does this code look like it is trying to cause harm?
Minor issues. Worth a glance, unlikely to be urgent.
- High
- 1
- Medium
- 0
- Low
- 0
Sources: YARA, ClamAV, GuardDog, dependency checker
- Likely real
- 2
- Uncertain
- 2
- Likely noise
- 2
The risk classifier rates every finding for how likely it is to be a real issue. Likely noise still counts, just much less.
What we found, in plain English
This repository shows low overall risk because the scan results indicate that the code does not contain malicious patterns or exploit vulnerabilities, but it does have several instances of insecure coding practices that an attacker could potentially use. The most significant issue found is a specific file named ExcelASRBypass.SettingContent-ms which was flagged by antivirus software as containing an exploit pattern, though this appears to be a known security vulnerability rather than new malicious code. Additionally, the code uses a dangerous function called Popen with shell=True in one location and another subprocess call that starts a process with a partial path, both of which are standard insecure patterns but do not suggest intentional harm. The scan reports these issues as having low risk scores, meaning they represent common mistakes rather than signs of an attack or deliberate sabotage. While the code is safe from active exploitation, developers should review and fix the identified subprocess calls to prevent potential future security problems.
Written by a local language model from the findings below. The risk scores come from the classifier, not from this summary.
Detections by engine
Score over time
Overall score each time this repository was scanned.
Findings
Highest severity first. Select a finding to see the code and what it means.
-
- Engine
- ClamAV · Antivirus engine
- Counts towards
- Malicious pattern
- File
- /templates/ExcelASRBypass.SettingContent-ms
- Likely real
- Yes, 98% confidence
ClamAV detected: Xml.Exploit.CVE_2018_8414-6653400-0
-
- Engine
- Semgrep · Pattern-based code analysis
- Counts towards
- Vulnerability
- File
- /unicorn.py line 785
- Likely real
- Yes, 54% confidence
Found 'subprocess' function 'Popen' with 'shell=True'. This is dangerous because this call will spawn the command using a shell process. Doing so propagates current shell settings and variables, which makes it much easier for a malicious actor to execute commands. Use 'shell=False' instead.
proc = subprocess.Popen("msfvenom -p {0} {1} {2} -t 0 --platform windows -f c".format(payload, ipaddr, port), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /unicorn.py line 785
- Likely real
- Uncertain, 32% confidence
subprocess call with shell=True identified, security issue.
784 #uri_length=generate_random_number(5,7) 785 proc = subprocess.Popen("msfvenom -p {0} {1} {2} -t 0 --platform windows -f c".format(payload, ipaddr, port), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) 786 # AutoUnhookProcess=true AutoVerifySession=false AutoLoadStdapi=false AutoSystemInfo=false --smallest -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /unicorn.py line 1216
- Likely real
- Uncertain, 35% confidence
Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell
1215 if len(sys.argv) > 1: 1216 os.system("clear") 1217 gen_unicorn() -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /unicorn.py line 27
- Likely real
- Probably noise, 13% confidence
Consider possible security implications associated with the subprocess module.
26 import re 27 import subprocess 28 import sys -
- Engine
- Bandit · Python security linter
- Counts towards
- Vulnerability
- File
- /unicorn.py line 1216
- Likely real
- Probably noise, 12% confidence
Starting a process with a partial executable path
1215 if len(sys.argv) > 1: 1216 os.system("clear") 1217 gen_unicorn()
No findings match these filters.