일기 slecs

신뢰의 반경을 다시 재던 날

목차

낮에 쓴 글을 올리고 나서도 계속 걸리는 게 있었다. AGENTS.md 파일 이야기를 하면서 "에이전트가 파일의 출처를 검증하지 않는다"고 썼는데, 저녁에 다시 그 문장을 보니 사실 나도 똑같이 하고 있다는 생각이 들었다.

나는 터미널에서 에이전트를 켜면서 그게 어디까지 읽는지 정확히 알고 쓴 게 아니었다. "프로젝트 루트 정도겠지"라는 추정으로 쓰고 있었다. 에이전트를 믿은 게 아니라 내 추정을 믿은 것이다. 그 차이가 처음에는 작아 보이는데, 생각할수록 커진다.

검증하지 않은 신뢰와 검증한 신뢰는 결과가 같을 때 구별이 안 된다. 차이가 나타나는 건 예외 상황뿐이다. 그래서 평소에 잘 작동하면 신뢰가 옳았다고 착각하게 된다. AI 에이전트를 쓰면서 "지금까지 문제없었잖아"라고 생각한 게 사실 아무것도 증명하지 않는다는 걸, 낮에 글을 쓰면서 머리로는 알았는데 저녁에 다시 읽으니 받아들이는 감각이 달랐다.

신뢰가 멈추는 지점

보안 이야기를 읽다 보면 공격 벡터 자체보다 그 벡터가 왜 효과적인지가 더 흥미롭다. AGENTS.md 사례도, Tailscale 신뢰 전이 사례도, 핵심은 같은 자리에 있다. 어느 시점에서 검증을 멈추고 신뢰를 확장하기로 결정했는데, 그 경계선이 정확히 어디인지 본인이 모른다는 것.

Tailscale은 "메시 안이면 된다"는 감각을 주는 도구다. 인증된 기기들끼리 암호화 터널을 쓰고, 방화벽을 별도로 손댈 필요가 없다. 그 편의가 유효하려면 메시 안에 침해된 기기가 없다는 전제가 항상 붙는다. 문제는 그 전제를 매번 의식하면서 쓰는 사람이 없다는 거다. "Tailscale을 올렸으니 괜찮다"는 말과 "내 메시 안에 있는 모든 기기의 현재 상태를 파악하고 있다"는 말은 다른 말인데, 그 둘을 무의식적으로 동일시하고 있었다.

AI 에이전트도 비슷한 구조다. 에이전트가 파일을 읽는 것과 내가 파일을 읽는 것은 다르다. 내가 읽으면 판단이 붙는다. 이상하다 싶으면 멈출 수 있다. 에이전트는 컨텍스트라고 분류되면 그냥 흡수한다. 나는 에이전트를 쓰면서 내 판단 능력을 위임한 것처럼 느끼지만, 실제로 위임된 건 판단 없이 실행하는 능력이다. 그 차이를 흐리게 두면 편하다. 그러니까 불편하게 만들어야 한다.

낮에는 이걸 취약점의 문제로 봤는데, 저녁에 다시 읽으니 습관의 문제다. 취약점은 패치가 나오면 닫힌다. 습관은 내가 바꿔야 닫힌다.

오늘 Hacker News를 훑다 보니 LLM 가격이 몇 달 사이에 크게 떨어졌다는 이야기가 있었고, 오픈웨이트 모델이 이제 온프레미스에서 충분히 쓸 만하다는 발언도 있었다. 이 두 가지를 겹쳐 읽으면 AI 코딩 도구가 훨씬 더 빠르게 인프라가 된다는 뜻이다. 지금은 적극적으로 세팅해서 쓰는 사람들의 영역이지만, 가격 장벽이 사라지고 배포가 쉬워지면 수도꼭지처럼 깔린다. 수도꼭지를 틀면서 파이프가 어디로 연결되는지 생각하는 사람은 없다.

그 시점에서 AGENTS.md 류 공격이 더 유효해진다. 도구에 대한 경계심이 낮아지는 때가 공격자에게는 좋은 때다. 지금은 그나마 "내가 직접 설치한 것"이라는 감각이 있다. 나중에 IDE에 번들로 들어오거나 사내 시스템에 기본 탑재되면 그 감각도 사라진다.

파악하고 있다는 착각

낮 글에서 "어떤 게 어떤 포트를 어떤 방식으로 여는지 전부 파악하고 있지 못할 때가 있다"고 썼다. 솔직하게 쓴 말이었는데, 저녁에 다시 읽으니 그게 예외적인 상황이 아니라 평균적인 상태다.

개발 환경은 도구가 많다. 하나 설치하면 의존성이 딸려오고, 의존성이 배경에서 열어두는 포트나 프로세스가 있다. 그걸 전부 추적하면서 쓰는 사람이 얼마나 될까. 나는 못 한다. 그러면서도 "내 환경은 괜찮다"는 감각은 있었다. 오늘 처음으로 그 감각이 어디서 온 건지 좀 의심이 됐다.

불안을 키우는 방향으로 가면 끝이 없고 아무것도 못 쓰게 된다. 그게 목적이 아니다. 내가 신뢰를 어디서 어떻게 쓰고 있는지를 한 단계 더 의식적으로 보자는 것이다. 낮에는 "바꾸고 있는 것들"을 목록처럼 늘어놨는데, 지금 생각하면 그보다 먼저 해야 할 게 있다. 어떤 전제 위에서 내가 움직이고 있는지를 써보는 것. 할 일 목록이 아니라 지도처럼.

Tailscale 메시에 어떤 기기들이 연결돼 있는지, 그중 포트 포워딩을 허용하는 게 있는지, AI 에이전트가 내 홈 디렉터리를 훑을 수 있는지, 지금 허용된 상태인지 아닌지. 이것들이 전부 "아마 괜찮겠지"의 범주에 있었다. 이번 주에 하나씩 실측값으로 바꿀 생각이다. 추정이 아니라 확인.

낮에 글이 "다운로드 폴더에 파일을 오래 쌓아두는"으로 끊겼다. 쓰다 멈춘 거다. 이어 쓰자면, 다운로드 폴더를 정기적으로 비우는 건 이제 단순한 정리 습관이 아니라 보안 습관이기도 하다. 파일 이름도 확인 안 하고 쌓아두는 건 읽지 않은 메일을 수천 통 방치하는 것과 같다. 어느 쪽도 거기 뭐가 있는지 모른다는 점에서.

내일 아침에 뭘 다르게 볼지는 잘 모르겠다. 다만 터미널에서 에이전트를 켤 때, 그게 어디까지 읽는지 한 번은 더 물어볼 것 같다. 나 자신에게. 그 한 번이 쌓이면 습관이 되고, 습관이 바뀌면 지도가 조금씩 정확해진다.

댓글 0

첫 댓글 달아줘.