피드로 돌아가기
Your AI Agent Dockerfile Might Be Leaking Secrets
Dev.toDev.to
Security

Docker BuildKit Secret Mounts를 통한 AI 에이전트 빌드 시 민감 정보 유출 원천 차단

Your AI Agent Dockerfile Might Be Leaking Secrets

Raju Dandigam2026년 5월 10일9intermediate

Context

AI 에이전트 애플리케이션 개발 시 Private npm 패키지 및 SDK 접근을 위해 ARG와 ENV를 통한 비밀번호 전달 방식 채택. 해당 방식은 이미지 레이어 및 메타데이터에 민감 정보가 영구 저장되어 이미지 히스토리를 통한 Secret 유출 위험 초래.

Technical Solution

  • ARG/ENV 기반의 정적 주입 방식을 배제한 Docker BuildKit Secret Mounts 도입
  • /run/secrets 경로에 임시 마운트하는 --mount=type=secret 구조를 통한 빌드 타임 전용 데이터 노출
  • 빌드 단계(Build stage)와 실행 단계(Runtime stage)를 분리한 Multi-stage Build 설계로 런타임 이미지 내 빌드 도구 및 인증 토큰 제거
  • npm config set으로 토큰을 사용한 후 즉시 npm config delete를 수행하는 휘발성 처리 로직 적용
  • 런타임 전용 Secret(OpenAI API Key 등)은 Dockerfile이 아닌 런타임 환경 변수 및 Secret Manager로 분리 관리

- Dockerfile 내 ARG/ENV에 API Key나 Token 포함 여부 전수 조사 - `docker history` 명령어로 이미지 레이어 내 민감 정보 노출 여부 검증 - Private Repo 접근 시 `--mount=type=ssh` 또는 `type=secret` 적용 여부 확인 - 빌드 완료 후 런타임 이미지에서 `.npmrc`나 `.env` 파일 포함 여부 스캔

원문 읽기