CRIT
MINED107
Missing import: `ssl` used but not imported
artemis/reporting/modules/mail_dns_scan…:115
CRIT
MINED107
Missing import: `html` used but not imported
artemis/reporting/export/main.py:79
CRIT
MINED107
Missing import: `queue` used but not imported
artemis/karton_utils.py:30
CRIT
DKC007
Compose service contains a literal secret environment value
docker-compose.yaml:48
HIGH
SEC135
[SEC135] Auth/permission check missing on AI-generated endpoint: Mutating HTTP endpoint g…
artemis/reporting/api.py:20
HIGH
SEC088
[SEC088] Go: TLS InsecureSkipVerify=true: tls.Config{InsecureSkipVerify:true} disables ce…
artemis/modules/utils/wappalyzer/main.go:26
HIGH
SEC113
[SEC113] SSH host-key verification disabled (MITM): Accepting any SSH host key on first c…
artemis/reporting/modules/vcs/reporter.…:192
HIGH
SEC113
[SEC113] SSH host-key verification disabled (MITM): Accepting any SSH host key on first c…
artemis/modules/ssh_bruter.py:64
HIGH
SEC082
[SEC082] Python: paramiko AutoAddPolicy or no host-key verification: AutoAddPolicy / Warn…
artemis/modules/ssh_bruter.py:64
HIGH
SEC103
[SEC103] LDAP injection — non-constant search filter: User input concatenated into an LDA…
artemis/modules/wp_scanner.py:76
HIGH
SEC103
[SEC103] LDAP injection — non-constant search filter: User input concatenated into an LDA…
artemis/modules/joomla_scanner.py:51
HIGH
MINED014
[MINED014] Disabled Tls Verify: verify=False in requests, rejectUnauthorized:false in nod…
artemis/modules/utils/wappalyzer/main.go:26
HIGH
MINED014
[MINED014] Disabled Tls Verify: verify=False in requests, rejectUnauthorized:false in nod…
artemis/http_requests.py:113
HIGH
SEC078
[SEC078] Python: requests without timeout: requests.get/post without a timeout will hang …
artemis/wordfence.py:54
HIGH
SEC078
[SEC078] Python: requests without timeout: requests.get/post without a timeout will hang …
artemis/crawling.py:61
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
artemis/modules/runtime_configuration/m…:17
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
artemis/modules/nuclei_router.py:47
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
artemis/cleanup.py:71
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
artemis/karton_logger.py:57
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
artemis/fallback_api_cache.py:14
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
artemis/blocklist.py:18
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
artemis/modules/api_scanner.py:57
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
artemis/crawling.py:61
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
artemis/api.py:39
HIGH
MINED108
`self.check_response` used but never assigned in __init__
artemis/placeholder_page_detector.py:36
HIGH
MINED108
`self._strip_internal_db_info` used but never assigned in __init__
artemis/db.py:710
HIGH
MINED108
`self.dict_to_str` used but never assigned in __init__
artemis/db.py:668
HIGH
MINED108
`self.task_to_dict` used but never assigned in __init__
artemis/db.py:655
HIGH
MINED108
`self._strip_internal_db_info` used but never assigned in __init__
artemis/db.py:543
HIGH
MINED108
`self._iter_results` used but never assigned in __init__
artemis/db.py:540
HIGH
MINED108
`self._strip_internal_db_info` used but never assigned in __init__
artemis/db.py:526
HIGH
MINED108
`self._iter_results` used but never assigned in __init__
artemis/db.py:523
HIGH
MINED108
`self._iter_results` used but never assigned in __init__
artemis/db.py:516
HIGH
MINED108
`self._get_task_deduplication_data` used but never assigned in __init__
artemis/db.py:485
HIGH
MINED108
`self._strip_internal_db_info` used but never assigned in __init__
artemis/db.py:452
HIGH
MINED108
`self._to_postgresql_query` used but never assigned in __init__
artemis/db.py:423
HIGH
MINED108
`self._strip_internal_db_info` used but never assigned in __init__
artemis/db.py:437
HIGH
MINED108
`self._to_postgresql_query` used but never assigned in __init__
artemis/db.py:384
HIGH
MINED108
`self._strip_internal_db_info` used but never assigned in __init__
artemis/db.py:388
HIGH
MINED108
`self._strip_internal_db_info` used but never assigned in __init__
artemis/db.py:355
HIGH
MINED108
`self.task_to_dict` used but never assigned in __init__
artemis/db.py:311
HIGH
MINED108
`self.task_to_dict` used but never assigned in __init__
artemis/db.py:281
HIGH
MINED108
`self._strip_internal_db_info` used but never assigned in __init__
artemis/db.py:250
HIGH
MINED108
`self.value` used but never assigned in __init__
artemis/db.py:52
HIGH
MINED108
`self._rotate_logs` used but never assigned in __init__
artemis/karton_logger.py:27
HIGH
MINED108
`self.content` used but never assigned in __init__
artemis/http_requests.py:59
HIGH
MINED108
`self.content` used but never assigned in __init__
artemis/http_requests.py:55
HIGH
MINED108
`self.release` used but never assigned in __init__
artemis/resource_lock.py:113
HIGH
MINED108
`self.acquire` used but never assigned in __init__
artemis/resource_lock.py:110
HIGH
COMP001
[COMP001] High cognitive complexity: Function `should_block_scanning` has cognitive compl…
artemis/blocklist.py:105
HIGH
COMP001
[COMP001] High cognitive complexity: Function `blocklist_reports` has cognitive complexit…
artemis/blocklist.py:178
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v6`
.github/workflows/test-unit.yml:12
HIGH
MINED115
Action `actions/setup-python` pinned to mutable ref `@v6`
.github/workflows/check_no_translations…:14
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v6`
.github/workflows/check_no_translations…:12
HIGH
MINED126
Workflow container/services image `python:3.13-alpine3.20` unpinned
.github/workflows/fix_dependabot_pull_r…:12
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v6`
.github/workflows/fix_dependabot_pull_r…:18
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v6`
.github/workflows/docker_release.yml:14
HIGH
MINED115
Action `actions/setup-python` pinned to mutable ref `@v6`
.github/workflows/liccheck.yml:14
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v6`
.github/workflows/liccheck.yml:12
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v6`
.github/workflows/test-e2e.yml:12
HIGH
MINED115
Action `actions/setup-python` pinned to mutable ref `@v6`
.github/workflows/lint.yml:14
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v6`
.github/workflows/lint.yml:12
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v6`
.github/workflows/docker_nightly.yml:17
HIGH
MINED118
Dockerfile FROM `alpine:3.20` not pinned by digest
test/data/ssh_bad_keys/Dockerfile:1
HIGH
MINED118
Dockerfile FROM `python:3.10-slim` not pinned by digest
test/data/flask_vulnerable_api/Dockerfi…:2
HIGH
MINED118
Dockerfile FROM `python:3.10-slim` not pinned by digest
test/data/dast_vuln_app/Dockerfile:2
HIGH
MINED118
Dockerfile FROM `php:8.0-apache` not pinned by digest
test/images/php-postgres/Dockerfile:1
HIGH
MINED118
Dockerfile FROM `nginx:1.29.0` not pinned by digest
test/images/nginx-with-sni-tls/Dockerfi…:1
HIGH
MINED118
Dockerfile FROM `php:8.0-apache` not pinned by digest
test/images/php-mysql/Dockerfile:1
HIGH
MINED118
Dockerfile FROM `python:3.13.3-alpine3.20` not pinned by digest
docker/Dockerfile:2
HIGH
MINED121
requirements.txt installs from `libmailgoose @ git+https://github.com/CERT-Polska/...` (g…
docs/requirements.txt:63
HIGH
MINED121
requirements.txt installs from `libmailgoose @ git+https://github.com/CERT-Polska/...` (g…
requirements.txt:60
HIGH
MINED131
pre-commit hook `https://github.com/PyCQA/flake8` pinned to mutable rev `7.3.0`
.pre-commit-config.yaml:58
HIGH
MINED131
pre-commit hook `https://github.com/pre-commit/mirrors-mypy` pinned to mutable rev `v1.19…
.pre-commit-config.yaml:20
HIGH
MINED131
pre-commit hook `https://github.com/pycqa/isort` pinned to mutable rev `8.0.0`
.pre-commit-config.yaml:15
HIGH
MINED131
pre-commit hook `https://github.com/psf/black` pinned to mutable rev `26.1.0`
.pre-commit-config.yaml:10
HIGH
MINED131
pre-commit hook `https://github.com/pre-commit/pre-commit-hooks` pinned to mutable rev `v…
.pre-commit-config.yaml:2
HIGH
SEC013
[SEC013] Path Traversal — User Input in File Path: User-controlled input used in file pat…
artemis/crawling.py:99
HIGH
MINED112
FastAPI POST /build-html-message has no auth
artemis/reporting/api.py:21
HIGH
MINED112
FastAPI POST /export has no auth
artemis/api.py:279
HIGH
MINED112
FastAPI POST /build-html-message has no auth
artemis/api.py:264
HIGH
MINED112
FastAPI POST /export/delete/{id} has no auth
artemis/api.py:255
HIGH
MINED112
FastAPI POST /archive-tag has no auth
artemis/api.py:216
HIGH
MINED112
FastAPI POST /stop-and-delete-analysis has no auth
artemis/api.py:202
HIGH
MINED112
FastAPI POST /add has no auth
artemis/api.py:78
HIGH
MINED112
FastAPI POST /logout has no auth
artemis/frontend.py:140
HIGH
MINED112
FastAPI POST /login has no auth
artemis/frontend.py:120
HIGH
SEC013
[SEC013] Path Traversal — User Input in File Path: User-controlled input used in file pat…
scripts/create_development_docker_compo…:80
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/api.py:254
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/api.py:248
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/frontend.py:543
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/frontend.py:500
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/frontend.py:415
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/frontend.py:399
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/frontend.py:358
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/frontend.py:332
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
artemis/frontend.py:280
MED
SEC136
[SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all excepti…
artemis/reporting/modules/vcs/reporter.…:117
MED
SEC127
[SEC127] AI agent stub — TODO: implement / pass placeholder body: Function body left as T…
artemis/reporting/export/translations.py:23
MED
SEC127
[SEC127] AI agent stub — TODO: implement / pass placeholder body: Function body left as T…
artemis/reporting/export/hook.py:16
MED
SEC015
[SEC015] Insecure Randomness for Security: Weak PRNG used in security-sensitive context. …
artemis/csrf.py:18
MED
SEC015
[SEC015] Insecure Randomness for Security: Weak PRNG used in security-sensitive context. …
artemis/auth.py:20
MED
MINED111
Bare except continues silently
artemis/reporting/modules/vcs/reporter.…:143
MED
MINED111
Bare except continues silently
artemis/reporting/modules/vcs/reporter.…:122
MED
MINED109
Mutable default argument in `export` (dict)
artemis/reporting/export/main.py:214
MED
MINED111
Bare except continues silently
artemis/modules/dangling_dns_detector.py:66
MED
MINED111
Bare except continues silently
artemis/modules/dangling_dns_detector.py:45
MED
MINED111
Bare except continues silently
artemis/modules/dangling_dns_detector.py:34
MED
MINED111
Bare except continues silently
artemis/modules/bruter.py:81
MED
MINED109
Mutable default argument in `_scan` (list)
artemis/modules/nuclei.py:444
MED
MINED111
Bare except continues silently
artemis/modules/port_scanner.py:244
MED
MINED111
Bare except continues silently
artemis/crawling.py:53
MED
MINED111
Bare except continues silently
artemis/crawling.py:48
MED
MINED111
Bare except continues silently
artemis/module_base.py:851
MED
MINED111
Bare except continues silently
artemis/retrying_resolver.py:29
MED
MINED109
Mutable default argument in `create_report_generation_task` (dict)
artemis/db.py:588
MED
MINED109
Mutable default argument in `create_tasks` (list)
artemis/producer.py:15
MED
ERR001
[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even…
artemis/modules/mysql_bruter.py:54
MED
ERR001
[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even…
artemis/modules/postgresql_bruter.py:54
MED
SEC014
[SEC014] SSL Verification Disabled: SSL certificate verification is disabled, allowing ma…
artemis/modules/ftp_bruter.py:68
MED
SEC014
[SEC014] SSL Verification Disabled: SSL certificate verification is disabled, allowing ma…
artemis/http_requests.py:113
MED
COMP001
[COMP001] High cognitive complexity: Function `add` has cognitive complexity 25 (SonarSou…
artemis/api.py:78
MED
DKR003
Compose service `s3mock` image uses the latest tag
docker-compose.yaml:30
MED
AUC001
[AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks…
—
MED
DKC015
Database service has no healthcheck
docker-compose.yaml:48
MED
DKR009
Dockerfile separates apt update from install
test/images/php-postgres/Dockerfile:2
MED
DKR009
Dockerfile separates apt update from install
test/images/php-mysql/Dockerfile:3
MED
DKR001
Docker final stage has no non-root USER
test/images/php-postgres/Dockerfile:1
MED
DKR001
Docker final stage has no non-root USER
test/images/php-mysql/Dockerfile:1
MED
DKR001
Docker final stage has no non-root USER
test/images/nginx-with-sni-tls/Dockerfi…:1
MED
DKR001
Docker final stage has no non-root USER
test/data/ssh_bad_keys/Dockerfile:1
MED
DKR001
Docker final stage has no non-root USER
test/data/flask_vulnerable_api/Dockerfi…:2
MED
DKR001
Docker final stage has no non-root USER
test/data/dast_vuln_app/Dockerfile:2
MED
DKR001
Docker final stage has no non-root USER
docker/Dockerfile:2
MED
WEB003
Public web service has no security.txt
.well-known/security.txt
MED
AUC002
[AUC002] Low visible authorization coverage in route inventory: Only 15.8% of discovered …
—
MED
AUC012
[AUC012] FastAPI interactive docs may be exposed by framework defaults: FastAPI exposes /…
—
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:645
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:383
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:363
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:358
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:332
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:280
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:268
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:256
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:186
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
artemis/frontend.py:169
LOW
AIC003
Duplicated implementation block across source files
artemis/modules/wordpress_plugins.py:350
LOW
AIC003
Duplicated implementation block across source files
test/data/php_redirect_login/index.php:8
LOW
AIC003
Duplicated implementation block across source files
artemis/sql_injection_data.py:4
LOW
AIC003
Duplicated implementation block across source files
artemis/reporting/modules/wp_scanner/re…:58
LOW
AIC003
Duplicated implementation block across source files
artemis/reporting/modules/mysql_or_post…:18
LOW
DKC012
Compose service performs heavy setup work on every startup
docker-compose.yaml:83
LOW
DKC012
Compose service performs heavy setup work on every startup
docker-compose.yaml:70
LOW
DKC012
Compose service performs heavy setup work on every startup
docker-compose.yaml:61
LOW
WEB005
robots.txt does not advertise a sitemap
artemis/crawling.py
LOW
DKC015
Database service has no healthcheck
docker-compose.yaml:21
LOW
DKR012
Dockerfile keeps pip download cache
test/data/dast_vuln_app/Dockerfile:9
LOW
DKR008
.dockerignore misses sensitive defaults
.dockerignore
LOW
DKC010
Compose service lacks no-new-privileges hardening
docker-compose.yaml:91
LOW
DKC006
Compose service does not declare a runtime user
docker-compose.yaml:91
INFO
MINED055
[MINED055] Npm Install No Lockfile: Production image runs npm install (resolves new versi…
utils/slow_pusher/slow_pusher.sh:8
INFO
MINED067
[MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f…
artemis/wordfence.py:54
INFO
MINED067
[MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f…
artemis/modules/reverse_dns_lookup.py:39
INFO
MINED067
[MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f…
artemis/crawling.py:61
INFO
MINED072
[MINED072] Python Pass Only Class: class Foo: pass — stub waiting to be filled in.
artemis/modules/classifier.py:20
INFO
MINED072
[MINED072] Python Pass Only Class: class Foo: pass — stub waiting to be filled in.
artemis/fallback_api_cache.py:14
INFO
MINED072
[MINED072] Python Pass Only Class: class Foo: pass — stub waiting to be filled in.
artemis/blocklist.py:18
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
artemis/fallback_api_cache.py:15
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
artemis/cleanup.py:82
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
artemis/blocklist.py:19
INFO
MINED063
[MINED063] Toctou Os Path Exists: if os.path.exists(p): open(p) — file can be replaced/de…
artemis/csrf.py:21
INFO
MINED063
[MINED063] Toctou Os Path Exists: if os.path.exists(p): open(p) — file can be replaced/de…
artemis/auth.py:23
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
artemis/reporting/base/normal_form.py:18
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
artemis/placeholder_page_detector.py:24
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
artemis/api.py:268