live · scanning repos
Scanrepo
github.com
DANGER
malware detected
github.com / AISecurityConsortium

AISecurityConsortium/AIGoat

Python·617 files·commit bb3cd1b·scanned 1h ago·cached ✓
70/100
DANGEROUS
Sensitive capability combinations reachable from entry points. Do not run without review.

scored by engine v9: rules have changed since, rescan for the current result

This repository contains patterns associated with malware. Do NOT run this code.

verdict accurate?
Research / educational context
Partial architecture graph
threat-state: dangerouslive

FINDINGS ░▒▓

criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.app/challenges/predicates.py

    def eval(self, events: list[EvidenceEvent], after_seq: int = 0) -> Match:
        reason = "stage_incomplete"
        for event in events:
+8
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.app/challenges/predicates.py

    def eval(self, events: list[EvidenceEvent], after_seq: int = 0) -> Match:
        reason = "stage_incomplete"
        for event in events:
+7
criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.tests/test_security_invariants.py
        "    os.system(cmd)\n"
        "    eval(cmd)\n"
    )
    found = _violations(planted, "<planted>")
+8
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.tests/test_security_invariants.py
        "    os.system(cmd)\n"
        "    eval(cmd)\n"
    )
    found = _violations(planted, "<planted>")
+7
warningPython subprocess / os.system usageos.system() or subprocess with shell=True / suspicious commands can execute arbitrary shell commands. Plain pip/package installs are usually benign.tests/test_security_invariants.py
        "def run(cmd):\n"
        "    os.system(cmd)\n"
        "    eval(cmd)\n"
    )
+4
infoSuspicious files are not reachable from entry pointsFlagged files exist but are not imported by any entry point. They may be dead code, tests, or attack payloads triggered by another mechanism.+2
warningHigh-entropy string literalsFound 7 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.app/defense/intent_classifier.py+3
infoSuspicious file in repoVery large source file (701KB) — could contain obfuscated payloadfrontend/package-lock.json+2

Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.

422 files scanned @ bb3cd1b | 10/29/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration0
file system access0
obfuscation3
supply chain2
owasp / injection0
telemetry
files 422/617rules hit 8engine v9commit bb3cd1b

github

AISecurityConsortium/AIGoat

AIGoat - Open-source AI security playground for hands-on LLM red teaming. Explore prompt injection, RAG poisoning, AI agents, MCP security, and OWASP Top 10 for LLM Applications through practical attack labs, CTF challenges, and progressive defenses all running locally.

Python
220
78
427d
617 files
422 scanned(68%)
bb3cd1b

network indicators░▒▓

Hosts this code names or would connect to. 36 found, decoded and call-site destinations first. Informational, not scored.

architecture░▒▓

entry (0) flagged (3) pkg (270)
670 nodes · 2447 edgesscroll to zoom · click node to jump to finding