피드로 돌아가기
Dotsync – A zero-knowledge CLI to sync dotfiles and secrets in Go
Dev.toDev.to
Security

Argon2id와 AES-256-GCM 기반 Zero-knowledge dotfiles 동기화 CLI

Dotsync – A zero-knowledge CLI to sync dotfiles and secrets in Go

Chauhan Pruthviraj2026년 6월 26일2intermediate

Context

Slack DM이나 Git 커밋을 통한 .env 파일 공유 과정에서 발생하는 Secret 유출 위험 및 관리 파편화 문제. 중앙 서버 신뢰 기반의 기존 방식이 가진 보안 취약점 해결 필요성 대두.

Technical Solution

  • Client-side Encryption 기반의 Zero-knowledge 아키텍처 설계로 서버의 데이터 접근 권한 원천 차단
  • Argon2id Key Derivation 적용 및 64MB Memory Cost 설정을 통한 Brute-force 공격 방어
  • AES-256-GCM 알고리즘 채택으로 데이터 기밀성과 무결성을 동시에 보장하는 암호화 체계 구축
  • Memory-only Secret Injection 방식을 통한 디스크 내 평문 저장 방지 및 런타임 환경 변수 주입 구현
  • Go 언어 기반의 Single Binary 배포 구조를 통한 Runtime Dependency 제거 및 설치 복잡도 최소화

- Secret 관리 도구 설계 시 서버가 복호화 키를 가지지 않는 Zero-knowledge 구조 검토 - KDF(Key Derivation Function) 선정 시 메모리 비용 설정을 통한 하드웨어 가속 공격 방어책 마련 - Secret 유출 방지를 위해 파일 쓰기 없이 프로세스 메모리에 직접 주입하는 런타임 인터페이스 설계

원문 읽기