← Back to scan
File as GitHub Issue repo: elastic/elasticsearch

Push this scan report to elastic/elasticsearch

Click the green button below to open GitHub’s new-issue form, pre-filled with the report title, summary table, top findings, and an embedded score-card image. No authentication needed — you review on GitHub before submitting. Repobility is credited as the scanner.

Embedded score card image

This image will render at the top of the issue body. Hosted on Repobility, refreshes automatically after re-scans.

Repobility score card

Issue title

Compose service contains a literal secret environment value

Curate findings to include

Pick exactly which findings appear in the issue body. By default the top 5 are included. Uncheck noise, check what matters.

Top 5 (default)
Severity Rule Title File:line
CRIT MINED005 [MINED005] Lua Loadstring: loadstring/load executes Lua code. Code injection. build-tools/src/integTest/groovy/org/el…:118
CRIT MINED005 [MINED005] Lua Loadstring: loadstring/load executes Lua code. Code injection. build-tools/src/integTest/groovy/org/el…:165
CRIT DKC008 Compose service mounts the Docker socket dev-tools/prometheus-local/docker-compo…:1
CRIT DKC007 Compose service contains a literal secret environment value qa/remote-clusters/docker-compose.yml:58
CRIT DKC007 Compose service contains a literal secret environment value qa/remote-clusters/docker-compose.yml:3
CRIT DKC007 Compose service contains a literal secret environment value dev-tools/prometheus-local/docker-compo…:82
CRIT DKC007 Compose service contains a literal secret environment value dev-tools/prometheus-local/docker-compo…:59
HIGH MINED026 [MINED026] Fake Verification: assert True, expect(1).toBe(1), or other tautology used to … modules/apm/src/main/java/org/elasticse…:46
HIGH MINED036 [MINED036] Python Os System Call: os.system() invokes shell with no escaping. dev-tools/prepare_release_update_docume…:28
HIGH MINED034 [MINED034] Python Subprocess Shell True: subprocess(..., shell=True) enables command inje… dev-tools/prepare_release_update_docume…:33
HIGH SEC103 [SEC103] LDAP injection — non-constant search filter: User input concatenated into an LDA… dev-tools/prepare_release_update_docume…:82
HIGH SEC024 [SEC024] XML External Entity (XXE) — Java parser default: Java XML parsers accept externa… build-tools-internal/src/main/java/org/…:58
HIGH SEC078 [SEC078] Python: requests without timeout: requests.get/post without a timeout will hang … build-tools-internal/src/integTest/groo…:113
HIGH MINED011 [MINED011] Scala Get On Option: Option.get throws NoSuchElementException on None. Use get… build-tools-internal/src/integTest/groo…:113
HIGH MINED011 [MINED011] Scala Get On Option: Option.get throws NoSuchElementException on None. Use get… build-tools-internal/src/integTest/groo…:72
HIGH MINED011 [MINED011] Scala Get On Option: Option.get throws NoSuchElementException on None. Use get… build-tools-internal/src/integTest/groo…:23
HIGH MINED004 [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums). modules/ip-location/qa/multi-project/sr…:141
HIGH MINED004 [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums). distribution/tools/geoip-cli/src/main/j…:116
HIGH MINED004 [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums). build-tools-internal/src/integTest/groo…:135
HIGH SEC128 [SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call … build-tools-internal/src/main/groovy/or…:50
HIGH SEC128 [SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call … build-tools-internal/src/integTest/groo…:153
HIGH SEC128 [SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call … build-conventions/src/main/java/org/ela…:100
HIGH SEC029 [SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT… build-tools-internal/src/integTest/groo…:102
HIGH SEC029 [SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT… build-conventions/src/main/java/org/ela…:131
HIGH SEC029 [SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT… benchmarks/src/main/java/org/elasticsea…:116
HIGH MINED012 [MINED012] Curl Pipe Bash: curl ... | sh / bash — runs unverified network code. .buildkite/scripts/setup_node.sh:8
HIGH SEC085 [SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in… build-conventions/src/main/java/org/ela…:77
HIGH SEC085 [SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in… .buildkite/scripts/flakiness-detection/…:23
HIGH SEC085 [SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in… .buildkite/scripts/flakiness-detection/…:20
HIGH SEC040 [SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w… .buildkite/scripts/smart-retry/summariz…:95
HIGH SEC040 [SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w… .buildkite/scripts/flakiness-detection/…:144
HIGH MINED104 [MINED104] Chmod 777: chmod 777 makes a file or directory world-readable, world-writable,… .buildkite/scripts/cuvs-snapshot/config…:21
HIGH DKC006 Compose service explicitly runs as root docs/reference/setup/install/docker/doc…:3
HIGH DKR006 Dockerfile pipes a remote script into a shell libs/parquet-rs/native/Dockerfile.rust-…:41
HIGH MINED134 [MINED134] Binary file `plugins/examples/gradle/wrapper/gradle-wrapper.jar` committed in … plugins/examples/gradle/wrapper/gradle-…:1
HIGH MINED134 [MINED134] Binary file `distribution/src/bin/elasticsearch-service-mgr.exe` committed in … distribution/src/bin/elasticsearch-serv…:1
HIGH MINED134 [MINED134] Binary file `distribution/src/bin/elasticsearch-service-x64.exe` committed in … distribution/src/bin/elasticsearch-serv…:1
HIGH MINED134 [MINED134] Binary file `gradle/wrapper/gradle-wrapper.jar` committed in source repo: `gra… gradle/wrapper/gradle-wrapper.jar:1
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout… .github/workflows/check-esql-generated-…:22
HIGH MINED115 [MINED115] Action `elastic/docs-actions/.github/workflows/docs-preview-cleanup.yml` pinne… .github/workflows/docs-preview-cleanup.…:12
HIGH MINED115 [MINED115] Action `elastic/oblt-actions/updatecli/run` pinned to mutable ref `@v1`: `uses… .github/workflows/updatecli-compose.yml:51
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout… .github/workflows/updatecli-compose.yml:38
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout… .github/workflows/updatecli-compose.yml:19
HIGH MINED115 [MINED115] Action `elastic/docs-actions/.github/workflows/docs-deploy.yml` pinned to muta… .github/workflows/docs-deploy.yml:14
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout… .github/workflows/gradle-wrapper-valida…:13
HIGH MINED115 [MINED115] Action `elastic/docs-actions/.github/workflows/docs-build.yml` pinned to mutab… .github/workflows/docs-build.yml:14
HIGH MINED118 [MINED118] Dockerfile FROM `debian:trixie-slim` not pinned by digest: `FROM debian:trixie… libs/simdvec/native/Dockerfile.cross-to…:20
HIGH MINED118 [MINED118] Dockerfile FROM `debian:trixie-slim` not pinned by digest: `FROM debian:trixie… libs/parquet-rs/native/Dockerfile.rust-…:19
HIGH MINED118 [MINED118] Dockerfile FROM `docker.elastic.co/elasticsearch-dev/es-rust-cross-toolchain:1… x-pack/plugin/esql-datasource-parquet-r…:11
HIGH MINED118 [MINED118] Dockerfile FROM `alpine:3.21.0` not pinned by digest: `FROM alpine:3.21.0` res… test/fixtures/krb5kdc-fixture/Dockerfile:1
HIGH MINED118 [MINED118] Dockerfile FROM `redhat/ubi8 (no tag)` not pinned by digest: `FROM redhat/ubi8… dev-tools/zstd.Dockerfile:1
HIGH DKC013 Database service has no persistent data volume qa/remote-clusters/docker-compose.yml:58
HIGH DKC013 Database service has no persistent data volume qa/remote-clusters/docker-compose.yml:3
HIGH DKC013 Database service has no persistent data volume docs/reference/setup/install/docker/doc…:3
HIGH DKC011 Database service publishes a host port qa/remote-clusters/docker-compose.yml:58
HIGH DKC011 Database service publishes a host port qa/remote-clusters/docker-compose.yml:3
HIGH DKC011 Database service publishes a host port docs/reference/setup/install/docker/doc…:64
MED SEC034 [SEC034] Log Injection / Log Forging — unsanitized user input in log: User input is logge… client/rest/src/main/java/org/elasticse…:58
MED SEC031 [SEC031] Catastrophic Backtracking Regex (ReDoS): Regex contains nested quantifiers like … build-tools/src/main/java/org/elasticse…:42
MED SEC134 [SEC134] AI scaffold leftover — Lorem ipsum / example.com / John Doe in code: Lorem ipsum… build-tools-internal/src/integTest/groo…:91
MED SEC012 [SEC012] ZipSlip — Archive Path Traversal: Archive extraction without path validation all… build-tools-internal/src/main/java/org/…:89
MED SEC012 [SEC012] ZipSlip — Archive Path Traversal: Archive extraction without path validation all… build-tools-internal/src/main/java/org/…:115
MED SEC012 [SEC012] ZipSlip — Archive Path Traversal: Archive extraction without path validation all… build-tools-internal/src/integTest/groo…:138
MED SEC045 [SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even … build-tools/reaper/src/main/java/org/el…:72
MED DKR003 Compose service `grafana_dashboard_init` image uses the latest tag dev-tools/prometheus-local/docker-compo…:105
MED DKR003 Compose service `grafana` image uses the latest tag dev-tools/prometheus-local/docker-compo…:82
MED DKR003 Compose service `kibana_settings` image uses the latest tag dev-tools/prometheus-local/docker-compo…:38
MED DKR003 Compose service `prometheus` image uses the latest tag dev-tools/prometheus-local/docker-compo…:21
MED DKR007 Docker build context has no .dockerignore .dockerignore
MED DKR015 Docker build context is very large .dockerignore
MED DKR001 Docker final stage has no non-root USER x-pack/plugin/esql-datasource-parquet-r…:12
MED DKR001 Docker final stage has no non-root USER test/fixtures/krb5kdc-fixture/Dockerfile:1
MED DKR001 Docker final stage has no non-root USER libs/simdvec/native/Dockerfile.cross-to…:21
MED DKR001 Docker final stage has no non-root USER libs/parquet-rs/native/Dockerfile.rust-…:20
MED AGT015 Remote install command pipes network code directly to a shell .buildkite/scripts/setup_node.sh:8
LOW SEC132 [SEC132] String concat where the language has interpolation (AI style drift): String buil… benchmarks/src/main/java/org/elasticsea…:175
LOW SEC132 [SEC132] String concat where the language has interpolation (AI style drift): String buil… benchmarks/src/main/java/org/elasticsea…:108
LOW SEC132 [SEC132] String concat where the language has interpolation (AI style drift): String buil… benchmarks/src/main/java/org/elasticsea…:190
LOW SEC003 [SEC003] Hardcoded Secret: Hardcoded secret key found in source code. modules/repository-s3/src/yamlRestTest/…:33
LOW AIC003 Duplicated implementation block across source files distribution/tools/windows-service-cli/…:75
LOW AIC003 Duplicated implementation block across source files build-tools-internal/src/main/java/org/…:109
LOW AIC003 Duplicated implementation block across source files build-tools-internal/src/main/java/org/…:44
LOW AIC003 Duplicated implementation block across source files build-tools-internal/src/main/java/org/…:371
LOW DKC010 Compose service lacks no-new-privileges hardening qa/remote-clusters/docker-compose.yml:113
LOW DKC010 Compose service lacks no-new-privileges hardening docs/reference/setup/install/docker/doc…:190
LOW DKC006 Compose service does not declare a runtime user qa/remote-clusters/docker-compose.yml:113
LOW DKC006 Compose service does not declare a runtime user docs/reference/setup/install/docker/doc…:190
INFO MINED048 [MINED048] Php Error Suppress: @function() suppresses errors silently. Hides real issues. build-tools/src/integTest/groovy/org/el…:26
INFO MINED048 [MINED048] Php Error Suppress: @function() suppresses errors silently. Hides real issues. build-tools/src/integTest/groovy/org/el…:19
INFO MINED048 [MINED048] Php Error Suppress: @function() suppresses errors silently. Hides real issues. build-tools/src/integTest/groovy/org/el…:23
INFO MINED092 [MINED092] Java Runtime Exec: Runtime.getRuntime().exec(cmd) with concat string args = co… build-tools/reaper/src/main/java/org/el…:72
INFO MINED085 [MINED085] Java Systemexit: System.exit() inside a library kills the whole JVM. client/benchmark/src/main/java/org/elas…:24
INFO MINED085 [MINED085] Java Systemexit: System.exit() inside a library kills the whole JVM. client/benchmark/src/main/java/org/elas…:36
INFO MINED085 [MINED085] Java Systemexit: System.exit() inside a library kills the whole JVM. build-tools/reaper/src/main/java/org/el…:53
INFO MINED083 [MINED083] Java Thread Start: Raw thread creation. Should use ExecutorService for managed… distribution/tools/cli-launcher/src/mai…:112
INFO MINED083 [MINED083] Java Thread Start: Raw thread creation. Should use ExecutorService for managed… client/benchmark/src/main/java/org/elas…:63
INFO MINED083 [MINED083] Java Thread Start: Raw thread creation. Should use ExecutorService for managed… build-tools-internal/src/main/java/org/…:105
INFO MINED081 [MINED081] Java Printstacktrace: Should use logger, not stack trace to stderr. build-tools/src/main/java/org/elasticse…:153
INFO MINED081 [MINED081] Java Printstacktrace: Should use logger, not stack trace to stderr. build-tools-internal/src/main/java/org/…:96
INFO MINED081 [MINED081] Java Printstacktrace: Should use logger, not stack trace to stderr. build-tools-internal/src/main/java/org/…:131
INFO MINED067 [MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f… build-tools-internal/src/integTest/groo…:113
INFO MINED043 [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr… build-tools-internal/src/main/java/org/…:46
INFO MINED043 [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr… build-tools-internal/src/integTest/groo…:49
INFO MINED043 [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr… build-tools-internal/src/integTest/groo…:37
INFO MINED042 [MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri… build-tools-internal/src/integTest/groo…:24
INFO MINED042 [MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri… build-tools-internal/src/integTest/groo…:41
INFO MINED042 [MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri… build-tools-internal/src/integTest/groo…:40
INFO MINED052 [MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety. .buildkite/scripts/pull-request/bwc-ver…:8
INFO MINED049 [MINED049] Print Pii: Logging password/token/email/ssn directly to stdout. .buildkite/scripts/flakiness-detection/…:107
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … .buildkite/scripts/flakiness-detection/…:14
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … .buildkite/scripts/flakiness-detection/…:20
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … .buildkite/scripts/flakiness-detection/…:12
Reset to top 5 112 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `elastic/elasticsearch`

**Score: 70/100 (A-)**  ·  132 findings  ·  scanned 2026-06-05 07:40 UTC  ·  2,279,086 LOC

| Severity | Count |
|---|---|
| CRITICAL | 7 |
| HIGH | 50 |
| MEDIUM | 18 |
| LOW | 12 |

📊 [Full filterable report](https://repobility.com/scan/d4be5fa3-841a-4364-9c0a-d77b4a437a6b/)  ·  ![scorecard](https://repobility.com/scan/d4be5fa3-841a-4364-9c0a-d77b4a437a6b/report.png?v=1780645205-s2)

### Top findings

1. **CRITICAL** `MINED005` — Lua Loadstring
   `build-tools/src/integTest/groovy/org/elasticsearch/gradle/plugin/StablePluginBuildPluginFuncTest.groovy:118` · CWE-95 · ✓ Repobility
2. **CRITICAL** `MINED005` — Lua Loadstring
   `build-tools/src/integTest/groovy/org/elasticsearch/gradle/plugin/PluginBuildPluginFuncTest.groovy:165` · CWE-95 · ✓ Repobility
3. **CRITICAL** `DKC008` — Compose service mounts the Docker socket
   `dev-tools/prometheus-local/docker-compose.yml:1`
4. **CRITICAL** `DKC007` — Compose service contains a literal secret environment value
   `qa/remote-clusters/docker-compose.yml:58`
5. **CRITICAL** `DKC007` — Compose service contains a literal secret environment value
   `qa/remote-clusters/docker-compose.yml:3`

---

_Filed automatically. Close this issue if not useful — we won't refile. Full report: https://repobility.com/scan/d4be5fa3-841a-4364-9c0a-d77b4a437a6b/_
Already filed
'elastic' is on the known-megaproject org list. These projects use auto-triage bots and established security disclosure channels. Unsolicited automated issues from Repobility would be perceived as AI-generated spam. For security findings, follow the project's SECURITY.md policy. For non-security findings, open a focused PR or community discussion instead.
Megaproject â high spam risk
Could not determine 'elastic/elasticsearch' star count (GitHub API rate-limited or unreachable). When in doubt about repo size, prefer opening a focused PR or a discussion rather than an issue.

The button opens GitHubâs new-issue page in a new tab. You will see the title + body pre-filled â review, edit if you want, then click GitHubâs "Submit new issue" button. Repobility never posts anything on your behalf.

For real security findings on big repos: use the project's SECURITY.md or private advisory flow instead of a public issue.