Scan report

storytold / artcraft

Vulnerability Low

Could an attacker exploit mistakes in this code?

3 risk score

Minor issues. Worth a glance, unlikely to be urgent.

High
0
Medium
1
Low
11

Sources: Bandit, Semgrep, pip-audit

Malicious pattern Low

Does this code look like it is trying to cause harm?

6 risk score

Minor issues. Worth a glance, unlikely to be urgent.

High
3
Medium
0
Low
5

Sources: YARA, ClamAV, GuardDog, dependency checker

Findings overview
20 total findings
Likely real
3
Uncertain
1
Likely noise
16

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

The repository has a low overall vulnerability score of 3.0, which means there are some insecure coding patterns that could be exploited if an attacker finds them, but these issues do not indicate malicious intent. The scan also identified several signs that the code might be intentionally harmful, such as downloading and executing remote files or attempting to harvest credentials from environment variables. While one specific finding suggests a process is being run silently without any output, this behavior alone does not confirm that the code is dangerous. Most of the flagged issues relate to standard security practices like handling timeouts for API calls or checking subprocess inputs, which are common mistakes rather than deliberate attacks. Therefore, while the code contains some risky patterns that should be addressed, it does not appear to be a malicious repository based on these specific indicators.

Written by a local language model from the findings below. The risk scores come from the classifier, not from this summary.

Detections by engine

  • Bandit 12

    Python security linter · Vulnerability

  • YARA 5

    Malware signature rules · Malicious pattern

  • GuardDog 3

    Supply-chain attack heuristics · Malicious pattern

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.