API키와 시크릿을 .env에 평문으로 두면 그 파일 자체가 자산이
됨. 1Password CLI를 쓰면 값을 볼트에 암호화해 두고, .env에는
참조 문자열만 남길 수 있음.
- 기존: UPBIT_API_KEY=xR9k2…실제키
- 이후: UPBIT_API_KEY=op://trading/upbit/api_key```
실행 시점에만 프로세스 메모리로 주입됨.
op run --env-file=.env -- python main.py
보안상 얻는 것
- 디스크에 평문이 기록되는 순간이 사라짐
- .env가 유출돼도 노출되는 건 볼트·항목 이름뿐, 키 자체는 안
나감
- 백업 아카이브, Time Machine, 클라우드 동기화 폴더, git 커
밋 실수, 화면 공유 같은 간접 유출 경로가 전부 무력화됨
- 키를 꺼내려면 생체인증 언락이 필요해짐. 디스크 이미지만 탈
취해도 복호화 불가
- 접근·변경 이력이 남아 언제 어떤 키가 교체됐는지 추적 가능
- 유출 정황이 있을 때 볼트에서 한 번만 교체하면 즉시 반영됨
- 서버에는 읽기 전용 권한의 서비스 계정 토큰만 두면 되므로,
서버가 뚫려도 다른 자격증명은 보호됨
