Hide secrets from `docker inspect` command (and commit, debug, etc.)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Start by reading the Docker secrets-engine documentation and tracing how se:// values are resolved into container environment variables; the issue does not name implementation files or tests. Investigate how resolved values reach inspectable container configuration and committed images, then define and test behavior that prevents secret values from persisting or being exposed while preserving the intended runtime use.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I understand this is beyond the scope of the secrets engine (which is primarily for guarding secrets access), but wanted to share my first impressions coming into docker pass, and I suspect other users.
My mental model was images get a se:// pointer, so secrets never get pushed to Hub. But the resolved secret value appears to be written back to disk, survive reference deletion and commited into image metadata.
Not sure what set my expectation. Probably secrets usage in cloud Sandboxes so 'credentials never enter the VM', or maybe 'you no longer need plaintext secrets on disk' in the readme, or 'secrets resolve just before the container starts' and 'the same reference can be reused across environments ... resolve against your local OS keychain in dev and against a prod vault in CI' in the docs docs made me think this was ephemeral runtime injection.
docker pass set db-password=supersecret123
cat > compose.yaml <<'EOF'
services:
db:
image: postgres:alpine
environment:
- POSTGRES_PASSWORD=se://db-password
EOF
docker compose up -d
docker inspect $(docker compose ps -q db) --format '{{json .Config.Env}}'
# ["POSTGRES_PASSWORD=supersecret123", ...] <- plaintext secret stored on disk
docker pass rm db-password
docker commit $(docker compose ps -q db) db:snapshot
docker inspect db:snapshot --format '{{json .Config.Env}}'
# ["POSTGRES_PASSWORD=supersecret123", ...] <- baked into any image you commit or push
Mostly concerned about accidental (agentic or otherwise) push/save, and anyone who pull/load the image reads the resolved secret value without access to the original keychain. Keeping the se:// reference in Config.Env would keep the value out of there but I doubt it's that trivial to solve.
- Ngôn ngữ chính
- Go
- Star
- 95
- Fork
- 18
- Merge trung bình
- 7 giờ 52 phút
- Pull request đã merge (30 ngày)
- 31
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của docker/secrets-engine
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
docker/secrets-engine#682 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
docker/secrets-engine#665 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Linux keychain dials a new D-Bus connection per operation, defeating per-entry access confirmationĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 42/100
docker/secrets-engine#648 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
docker/secrets-engine#584 · 1 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`GetSecretsRequest` carries no caller context, making project-local plugin backends impossibleĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
docker/secrets-engine#551 · 3 bình luận · 3 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của docker/secrets-engine
Issue tương tự
-
Action Required: Fix Renovate ConfigurationCó thể đã có người làm @thompson-tomo đã nhận hôm nay. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
open-telemetry/opentelemetry-collector#16170 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
automation awf compiler specifications
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
state:triage-needed
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
puppe1990/amarra-cais#342 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
replay: a run cancelled during environment setup is logged as an ERROR (Instrument drops the cancellation)Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày