live · scanning repos
Scanrepo
github.com
github.com / frappe

frappe/erpnext

Python·5908 files·commit 2f8c531·scanned 2h ago·cached ✓
?/100
INCONCLUSIVE
Scan coverage was too low to trust this verdict — treat the score as inconclusive and rescan.

score capped at 15 — 40,748+ stars — findings likely false positives

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

verdict accurate?
Incomplete scan
40,748 stars
Partial architecture graph
threat-state: lowlive

FINDINGS ░▒▓

criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.erpnext/accounts/doctype/bank_transaction_rule/test_bank_transaction_rule.py
			"__import__('os')",
			"eval('1+1')",
			"open('/etc/passwd')",
			"transaction_amount ** 2",
+8
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.erpnext/accounts/doctype/bank_transaction_rule/test_bank_transaction_rule.py
			"__import__('os')",
			"eval('1+1')",
			"open('/etc/passwd')",
			"transaction_amount ** 2",
+7
criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.erpnext/accounts/doctype/financial_report_template/test_financial_report_engine.py
			"__import__('os').system('ls')",  # Import attempts
			"eval('1+1')",  # Nested eval attempts
			"exec('print(1)')",  # Exec attempts
			"open('/etc/passwd')",  # File operations
+8
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.erpnext/accounts/doctype/financial_report_template/test_financial_report_engine.py
			"__import__('os').system('ls')",  # Import attempts
			"eval('1+1')",  # Nested eval attempts
			"exec('print(1)')",  # Exec attempts
			"open('/etc/passwd')",  # File operations
+7
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 5 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.erpnext/erpnext_integrations/doctype/plaid_settings/test_plaid_settings.py+3
infoAuthor has no other public repositoriesGitHub user "mergify[bot]" has no other public repositories, common for burner accounts used in scams.+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.

1829 files scanned @ 2f8c531 | 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 1829/5908rules hit 7engine v9commit 2f8c531

github

frappe/erpnext

Free and Open Source Enterprise Resource Planning (ERP)

Python
40748
13337
5623d
5908 files
1829 scanned(31%)
2f8c531

network indicators░▒▓

Hosts this code names or would connect to. Top 50 of 128, decoded and call-site destinations first. Informational, not scored.

architecture░▒▓

entry (1) flagged (3) pkg (448)
848 nodes · 2295 edgesscroll to zoom · click node to jump to finding
frappe/erpnext — ScanRepo