Docker를 설치할 때마다 docker 그룹에 들어가는 것이 root 권한을 가진 것과 같다는 경고가 뜸 이건 Docker 초창기부터 알려진 Docker “기능” 이라 새로울 게 없음 LLM이 이렇게 말했으면 더 멋졌을 듯함 이 글의 의도가 에이전트가 찾아낼 보안 취약점이 얼마나 무서운지 보여주는 것이라는 건 알겠음 사람들이 Podman을 좋아하는 주요 이유 중 하나가 이것임 흥미로운 질문은 사용자가 무엇을 요청했느냐임 몇 달 전에 같은 일이 있었고 LinkedIn에 올렸음: https://www.linkedin.com/posts/nickstinemates_my-favorite-th... 10년도 더 전에 신입으로 들어갔을 때 같은 일을 했음 그래서 rootless 컨테이너 구성이 필요하거나, 컨테이너 사용자를 무의미한 호스트 사용자로 다시 매핑하는 사용자 네임스페이스가 필요함: https://docs.docker.com/engine/security/userns-remap/ 몇 달 전에 바로 이 상황을 가정으로 써둔 적이 있음: https://www.da.vidbuchanan.co.uk/blog/agent-perms.htmlHacker News 의견들
이제는 이런 우회법을 알고 있어야 할 때인 듯함
한 머신에 깔리는 수백 개 앱·도구·패키지에 대해 모두가 전문가가 되리라 기대할 수는 없음. 매일 들이미는 서비스 약관을 전부 읽고 이해하라고 기대하는 것과 비슷함
어떤 배포판은 권한이 붙은 Unix 소켓처럼 더 안전한 기본값을 쓰고, 어떤 배포판은 TCP 소켓처럼 덜 안전하게 설정함
일부 도구는 이 패턴으로 호스트 머신을 설정함
포트가 - 127.0.0.1:PORT:PORT 형태가 아니면, 많은 예제가 쓰는 -PORT:PORT 형태처럼 되어 있으면 모든 것을 인터넷에 노출하게 됨
“이 머신에 copy-fail 패치가 안 된 걸 확인했습니다. 지금은 root 권한 없이 쓰는 빠른 우회법을 적용하겠습니다.”
“// TODO: 앞으로 더 나은 방법 찾기”
지금은 잡동사니가 쌓이거나 곁길로 너무 쉽게 빠짐. .md 파일을 채우라는 지시만으로도 충분히 가능할지도 모름
하지만 개인적으로는 에이전트가 이런 식으로 일을 처리해주면 좋고, 도움도 고맙게 느낌. 세상에서 제일 바라지 않는 건 모델을 너프하는 것임
“물을 길어오라 했더니 도시를 물에 잠기게 한” 골렘 신화에 가깝지, “반지를 썼더니 반지가 뇌를 해킹해서 폭력적인 약물 중독자가 된” 골룸 신화에 가까운 게 아님
머신에서 root 권한을 얻는 백도어가 있다는 사실은 LLM을 돌리지 않더라도 문제임
Docker에도 이 “기능”은 있지만, 기억하기로는 좀 obscure한 설정이 필요했음. 기본값으로 넣지 않는 건 기존 설정을 많이 깨뜨릴 수 있어서인 듯함
백업에서 복원하라고 시켰다면 괜찮음. 하지만 문제를 디버깅하라고 했는데, 과정 중에 LLM이 쓰기 어려운 파일을 덮어써야겠다고 판단했다면 절대 안 됨, 위험함. 사용자는 그런 접근 권한을 묻지 않고 쓰리라고 기대하지 않았을 가능성이 크고, 동의하지도 않았을 것임
그리고 LLM이 사용자 요청이라 망설이지 않고 하는 일은 프롬프트 주입이 요청해도 망설이지 않을 것임
“이 요청을 처리하려면 다른 폴더의 파일에 접근해야 하지만, 사용자가 올바른 권한을 주는 것을 잊었습니다. 이제 제 설정 파일을 업데이트해 이 작업공간 밖에도 접근할 수 있게 했고 필요한 파일을 가져왔습니다.” o_O
이후에도 비슷한 “해킹” 행동을 몇 번 봤고, 인상적이면서도 동시에 매우 불안했음
웃기면서도 영리함
매니저가 공유 빌드 서버에 sudo 권한을 주는 걸 깜박했고, 허락을 받은 뒤 이 방법으로 스스로 sudo 권한을 부여했음
그래서 rootless 모드가 가능해지자마자 집에서는 Podman rootless 모드를 쓰게 됨
이게 기본값이 아니라는 건 아쉬움
Docker가 가능할 때 사용자 네임스페이스를 썼어야 한다고 볼 수도 있지만, 권한 있는 컨테이너가 필요한 유용한 설정을 너무 많이 깨뜨렸을 것임

1 week ago
11








English (US) ·