← Back to scan
File as GitHub Issue repo: dlt-hub/dlt

Push this scan report to dlt-hub/dlt

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

Database service has no persistent data volume

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 SEC022 [SEC022] Database URL With Embedded Credential: A database connection URL contains an emb… docs/examples/archive/quickstart.py:22
CRIT SEC022 [SEC022] Database URL With Embedded Credential: A database connection URL contains an emb… docs/examples/postgres_to_postgres/post…:99
CRIT SEC022 [SEC022] Database URL With Embedded Credential: A database connection URL contains an emb… docs/website/docs/general-usage/snippet…:63
HIGH DKC013 Database service has no persistent data volume tests/load/sqlalchemy/docker-compose.yml:1
HIGH DKC013 Database service has no persistent data volume tests/load/sources/sql_database/docker-…:18
HIGH DKC013 Database service has no persistent data volume tests/load/sources/sql_database/docker-…:1
HIGH SEC004 [SEC004] SQL Injection Risk: String interpolation in SQL execution. Allows SQL injection. docs/examples/logfire_telemetry_export/…:61
HIGH DKC011 Database service publishes a host port tests/load/sqlalchemy/docker-compose.yml:1
HIGH DKC011 Database service publishes a host port tests/load/sources/sql_database/docker-…:34
HIGH DKC011 Database service publishes a host port tests/load/sources/sql_database/docker-…:18
HIGH DKC011 Database service publishes a host port tests/load/sources/sql_database/docker-…:1
HIGH DKC011 Database service publishes a host port tests/load/dremio/docker-compose.yml:12
HIGH DKC011 Database service publishes a host port tests/load/clickhouse/docker-compose.yml:1
HIGH SEC004 [SEC004] SQL Injection Risk: String interpolation in SQL execution. Allows SQL injection. dlt/destinations/sql_jobs.py:250
MED ERR001 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even… dlt/_workspace/helpers/dashboard/dlt_da…:1015
MED ERR001 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even… dlt/helpers/ibis.py:115
MED ERR001 [ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even… dlt/extract/resource.py:685
MED SEC007 [SEC007] Unsafe Deserialization: Unsafe deserialization can execute arbitrary code. dlt/pipeline/trace.py:341
MED DKR003 Compose service `sftpserver` image uses the latest tag tests/load/filesystem_sftp/docker-compo…:18
MED DKR002 Compose service `postgres` image has no explicit tag tests/load/sources/sql_database/docker-…:1
MED DKR002 Compose service `createbuckets` image has no explicit tag tests/load/dremio/docker-compose.yml:26
MED DKR002 Compose service `minio` image has no explicit tag tests/load/dremio/docker-compose.yml:12
MED DKR002 Compose service `clickhouse` image has no explicit tag tests/load/clickhouse/docker-compose.yml:1
MED DKC015 Database service has no healthcheck tests/load/sqlalchemy/docker-compose.yml:1
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/snowflake/snowfla…:31
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/postgres/sql_clie…:70
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/postgres/sql_clie…:44
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/mssql/sql_client.…:110
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/lancedb/utils.py:28
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/lancedb/lancedb_c…:258
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/lancedb/lancedb_a…:33
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/lancedb/factory.py:23
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/ducklake/ducklake…:156
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/dremio/sql_client…:82
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/dremio/dremio.py:24
MED AIC003 Duplicated implementation block across source files dlt/destinations/impl/databricks/sql_cl…:19
MED DKC014 Database data bind mount is inside the Docker build context tests/load/sources/sql_database/docker-…:34
MED DKR001 Docker final stage has no non-root USER tests/load/postgres/postgres/Dockerfile:1
MED DKR001 Docker final stage has no non-root USER tests/load/filesystem_sftp/bootstrap/Do…:1
MED DKR001 Docker final stage has no non-root USER tests/load/dremio/bootstrap/Dockerfile:1
MED DKR001 Docker final stage has no non-root USER deploy/dlt/Dockerfile.minimal:1
MED DKR001 Docker final stage has no non-root USER deploy/dlt/Dockerfile.airflow:1
MED DKR001 Docker final stage has no non-root USER deploy/dlt/Dockerfile:1
MED WEB003 Public web service has no security.txt .well-known/security.txt
MED DKR014 Dockerfile copies broad context with incomplete .dockerignore tests/load/dremio/bootstrap/Dockerfile:3
MED DKC013 Database service has no persistent data volume tests/load/dremio/docker-compose.yml:26
MED DKC013 Database service has no persistent data volume tests/load/dremio/docker-compose.yml:12
MED DKC007 Compose service contains a literal secret environment value tests/load/sqlalchemy/docker-compose.yml:1
MED DKC007 Compose service contains a literal secret environment value tests/load/sources/sql_database/docker-…:34
MED DKC007 Compose service contains a literal secret environment value tests/load/sources/sql_database/docker-…:18
MED DKC007 Compose service contains a literal secret environment value tests/load/sources/sql_database/docker-…:1
MED DKC007 Compose service contains a literal secret environment value tests/load/dremio/docker-compose.yml:12
MED DKC007 Compose service contains a literal secret environment value tests/load/clickhouse/docker-compose.yml:1
LOW DKR010 Dockerfile leaves apt package indexes in the image layer tests/load/dremio/bootstrap/Dockerfile:2
LOW DKC015 Database service has no healthcheck tests/load/postgres/docker-compose.yml
LOW DKC015 Database service has no healthcheck tests/load/dremio/docker-compose.yml:26
LOW DKC015 Database service has no healthcheck tests/load/dremio/docker-compose.yml:12
LOW DKR011 Dockerfile installs recommended OS packages tests/load/filesystem_sftp/bootstrap/Do…:5
LOW DKR011 Dockerfile installs recommended OS packages tests/load/dremio/bootstrap/Dockerfile:2
LOW DKR012 Dockerfile keeps pip download cache deploy/dlt/Dockerfile.minimal:58
LOW DKR012 Dockerfile keeps pip download cache deploy/dlt/Dockerfile.minimal:36
LOW DKR012 Dockerfile keeps pip download cache deploy/dlt/Dockerfile.minimal:15
LOW DKR008 .dockerignore misses sensitive defaults .dockerignore
LOW DKR012 Dockerfile keeps pip download cache deploy/dlt/Dockerfile:54
LOW DKR012 Dockerfile keeps pip download cache deploy/dlt/Dockerfile:40
LOW DKR012 Dockerfile keeps pip download cache deploy/dlt/Dockerfile:19
LOW DKC016 App service does not wait for database health tests/load/dremio/docker-compose.yml:40
LOW AIC005 Duplicate top-level symbol appears in a patch-style file dlt/common/normalizers/naming/sql_ci_v1…:1
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/weaviate/docker-compose.yml:24
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/weaviate/docker-compose.yml:1
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/sources/sql_database/docker-…:34
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/sources/sql_database/docker-…:18
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/qdrant/docker-compose.yml:1
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/filesystem_sftp/docker-compo…:18
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/dremio/docker-compose.yml:40
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/dremio/docker-compose.yml:50
LOW DKC010 Compose service lacks no-new-privileges hardening tests/load/clickhouse/docker-compose.yml:1
LOW AIC002 Source file name looks like an AI patch artifact dlt/common/normalizers/naming/sql_cs_v1…:1
LOW DKC006 Compose service does not declare a runtime user tests/load/weaviate/docker-compose.yml:24
LOW DKC006 Compose service does not declare a runtime user tests/load/weaviate/docker-compose.yml:1
LOW DKC006 Compose service does not declare a runtime user tests/load/sources/sql_database/docker-…:34
LOW DKC006 Compose service does not declare a runtime user tests/load/sources/sql_database/docker-…:18
LOW DKC006 Compose service does not declare a runtime user tests/load/qdrant/docker-compose.yml:1
LOW DKC006 Compose service does not declare a runtime user tests/load/postgres/docker-compose.yml
LOW DKC006 Compose service does not declare a runtime user tests/load/filesystem_sftp/docker-compo…:18
LOW DKC006 Compose service does not declare a runtime user tests/load/dremio/docker-compose.yml:40
LOW DKC006 Compose service does not declare a runtime user tests/load/dremio/docker-compose.yml:50
LOW DKC006 Compose service does not declare a runtime user tests/load/clickhouse/docker-compose.yml:1
Reset to top 5 88 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `dlt-hub/dlt`

**Score: 64/100 (B)**  ·  96 findings  ·  scanned 2026-05-15 16:00 UTC  ·  296,049 LOC

| Severity | Count |
|---|---|
| CRITICAL | 3 |
| HIGH | 11 |
| MEDIUM | 39 |
| LOW | 35 |

📊 [Full filterable report](https://repobility.com/scan/8787f402-3e37-4855-ad34-68a28e5a97cc/)  ·  ![scorecard](https://repobility.com/scan/8787f402-3e37-4855-ad34-68a28e5a97cc/report.png?v=1778860853-s2)

### Top findings

1. **CRITICAL** `SEC022` — Database URL With Embedded Credential
   `docs/examples/archive/quickstart.py:22` · A07:2021 Identification & Authentication Failures
2. **CRITICAL** `SEC022` — Database URL With Embedded Credential
   `docs/examples/postgres_to_postgres/postgres_to_postgres.py:99` · A07:2021 Identification & Authentication Failures
3. **CRITICAL** `SEC022` — Database URL With Embedded Credential
   `docs/website/docs/general-usage/snippets/destination-snippets.py:63` · A07:2021 Identification & Authentication Failures
4. **HIGH** `DKC013` — Database service has no persistent data volume
   `tests/load/sqlalchemy/docker-compose.yml:1`
5. **HIGH** `DKC013` — Database service has no persistent data volume
   `tests/load/sources/sql_database/docker-compose.yml:18`

---

**Security note**: this issue is public. If any flagged finding is a real, exploitable vulnerability, please redirect to your `SECURITY.md` policy or open a [private security advisory](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability) instead. We're happy to close this and re-submit privately.

---

_Filed automatically. Close this issue if not useful — we won't refile. Full report: https://repobility.com/scan/8787f402-3e37-4855-ad34-68a28e5a97cc/_
Megaproject â high spam risk
Could not determine 'dlt-hub/dlt' 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.
Already filed
63/96 findings (66%) on this scan are already flagged as test-file, won't-fix, or suppressed. The scan is too noisy to file as a single issue. Curate down to specific actionable findings, or address the FP source first.

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.