AI 서재
책으로 읽는 AI서재
한 권을 고르고, 목차에서 차례대로 읽을 수 있게 정리했습니다.
PDF 다운로드 책
다국어로 읽는 대학생 교양 인공지능
한국어 원문과 외국어 번역을 함께 실은 유학생용 교재입니다. 각 책 소개 페이지에서 PDF를 받을 수 있습니다.
[AI서재] 29장 고급 해킹 팁 7가지
클로드 코드 완전정복
29장 고급 해킹 팁 7가지
김경진 변호사
한계를 밀어붙이는 사람들
터미널 다섯 개가 동시에 열려 있습니다. 왼쪽 모니터에서는 세 개의 클로드 코드 세션이 각각 다른 기능을 만들고 있고, 오른쪽 모니터에서는 브라우저가 자동으로 열리면서 방금 생성된 웹 앱의 폼을 채우고 버튼을 누릅니다. 알림음이 울릴 때마다 완료된 세션을 확인하고, 다음 작업을 할당합니다.
공상 과학이 아닙니다. 클로드 코드의 고급 기능을 조합하면 실제로 가능한 작업 방식입니다. 이 장에서 다루는 일곱 가지 팁은 클로드 코드를 극한까지 활용하려는 사람들을 위한 것입니다.
팁 21. Chrome DevTools로 기능 검증
스크린샷은 시각적 문제를 잡아냅니다. 하지만 버튼을 눌렀을 때 실제로 동작하는지, 폼 제출이 정상적으로 처리되는지는 스크린샷만으로 알 수 없습니다.
클로드 코드는 크롬 개발자 도구(Chrome DevTools)를 직접 활용할 수 있습니다. 브라우저를 열고, 앱과 상호작용하고, 콘솔 에러를 확인하고, 네트워크 요청이 정상적으로 오가는지 점검합니다.
이것은 스크린샷 루프의 확장입니다. 스크린샷이 "눈으로 보는 검사"라면, DevTools 활용은 "손으로 만져보는 검사"입니다. 프론트엔드 작업에서 이 두 가지를 조합하면, 클로드가 만든 결과물의 시각적 완성도와 기능적 안정성을 동시에 확보할 수 있습니다.
한 가지 더. DevTools 검증은 명시적 API가 없는 서비스와 상호작용해야 할 때도 유용합니다. 로그인된 상태에서 브라우저를 통해 데이터를 읽어오거나, 양식을 채우거나, 버튼을 클릭하는 작업을 클로드에게 위임할 수 있습니다.
[그림 29-1] 클로드 코드가 Chrome DevTools를 통해 앱 기능을 검증하는 화면 예시
팁 22. MCP 연결 서버 체이닝(Chaining)
MCP(Model Context Protocol) 서버는 클로드 코드에 외부 기능을 연결하는 강력한 수단입니다. 노션(Notion) MCP를 연결하면 노션 데이터베이스를 읽고 쓸 수 있고, 깃허브 MCP를 연결하면 풀 리퀘스트(Pull Request)를 관리할 수 있습니다.
그런데 MCP 연결 서버를 하나만 쓸 이유는 없습니다. 여러 MCP 연결 서버를 동시에 연결하면, 클로드가 서로 다른 서비스를 넘나들며 작업합니다. 노션에서 기획 문서를 읽고, 그 내용을 바탕으로 깃허브에 이슈를 생성하고, 구글 캘린더에 마감일을 등록하는 흐름이 하나의 세션 안에서 이루어집니다.
다만 주의할 점이 있습니다. MCP 연결 서버마다 도구 정의(tool definition)가 컨텍스트 창에 로드됩니다. 서버를 많이 연결할수록 기본 모델이 세는 글 조각 소비가 늘어납니다. 현재 작업에 필요한 서버만 활성화하고, 쓰지 않는 서버는 비활성화하는 관리가 필요합니다.
앞서 팁 5에서 배운 /context 명령어로 각 MCP 연결 서버가 얼마나 모델이 세는 글 조각을 잡아먹고 있는지 확인할 수 있습니다.
모든 MCP를 연결해 놓는 것이 능사가 아닙니다. 프로젝트에서 실제로 한두 가지 기능만 필요하다면, MCP 대신 직접 API 엔드포인트(endpoint)를 하드코딩하는 것이 모델이 세는 글 조각 효율 면에서 나을 수 있습니다. 상황에 맞는 판단이 필요합니다.
[그림 29-2] 복수의 MCP 연결 서버가 체이닝되어 작동하는 구조도
팁 23. 에이전트가 에이전트를 만들게 하기
보조 에이전트는 메인 에이전트가 작업을 위임하는 대상입니다. 그런데 한 단계 더 나아갈 수 있습니다. 클로드에게 "이 작업을 수행할 에이전트를 설계해 줘"라고 지시하는 것입니다.
이것은 작업을 위임하는 것이 아니라, 작업을 수행할 체계 자체를 설계하게 하는 것입니다. 클로드가 에이전트의 역할 분담, 사용할 모델, 실행 순서, 검증 방법을 정하고, 그 설계에 따라 에이전트들을 생성합니다.
에이전트 팀(Agent Teams) 기능을 사용하면 이 접근이 더 효과적입니다. 일반 보조 에이전트는 서로 통신할 수 없습니다. 각자 독립적으로 작업하고 결과를 메인에 보고할 뿐입니다. 에이전트 팀은 다릅니다. 팀 내의 에이전트들이 작업 목록을 공유하고, 서로 소통하며, 상대방의 완료 여부를 인지합니다. 다른 에이전트에게 작업을 할당할 수도 있습니다.
비용은 더 들고 실행 시간도 깁니다. 하지만 규모가 큰 프로젝트에서 훨씬 응집력 있는 결과물이 나옵니다. 에이전트들이 각각 다른 곳을 바라보고 만든 코드 조각들을 억지로 합치는 것과, 에이전트들이 서로 조율하면서 만든 코드를 통합하는 것은 결과의 일관성이 다릅니다.
팁 24. 여러 클로드 코드 세션 동시 운영
한 프로젝트 폴더에서 터미널 여러 개를 열고 각각에서 클로드 코드를 실행하면, 같은 파일을 동시에 수정하다 충돌이 발생할 위험이 있습니다.
깃 워크트리(Git Worktree)와 결합하면 이 문제가 해결됩니다. 각 세션이 별도의 브랜치, 별도의 디렉터리에서 작업하므로 서로 간섭하지 않습니다. 클로드 코드에서는 --worktree 플래그를 사용해 간단히 워크트리를 생성할 수 있습니다.
claude --worktree feature-login
claude --worktree bugfix-payment
claude --worktree refactor-api이렇게 하면 세 개의 독립적인 작업 공간이 만들어지고, 각각에서 클로드 코드 세션이 돌아갑니다. 네 개, 다섯 개를 동시에 돌릴 수도 있습니다. 작업이 끝나면 각 브랜치를 메인에 병합(merge)하면 됩니다.
이 방식을 극한으로 밀어붙이는 사람도 있습니다. 클로드 코드의 핵심 개발자 중 한 명은 터미널에서 항상 다섯 개의 에이전트를 돌리고, 웹에서 추가로 열 개 정도를 운영한다고 합니다.
[그림 29-3] 여러 워크트리에서 클로드 코드 세션을 동시 운영하는 화면 구성 예시
팁 25. 커스텀 슬래시 명령어 만들기
클로드 코드의 기본 슬래시 명령어(/init, /compact, /rewind 등) 외에도 나만의 명령어를 만들 수 있습니다.
스킬 파일과 비슷하지만, 슬래시 명령어는 더 직접적인 호출 방식을 제공합니다. 자주 수행하는 워크플로를 하나의 명령어로 묶어서, 한 줄 입력으로 복잡한 절차를 시작할 수 있습니다.
예를 들어 /deploy-check라는 커스텀 명령어를 만들어 둔다고 합시다. 이 명령어 하나로 검증 실행, 린트(lint) 검사, 구축 확인, 스테이징 환경 배포까지 순차적으로 진행되도록 구성할 수 있습니다. 매번 "검증 돌리고, 린트 확인하고, 구축해 보고..."라고 타이핑하는 대신 /deploy-check 한 줄이면 됩니다.
팀 전체가 사용하는 커스텀 명령어를 만들면 워크플로의 표준화에 기여합니다. 신규 팀원이 합류해도 "이 명령어들 사용하면 돼"라고 안내하면, 숙련된 팀원과 동일한 품질의 작업 흐름을 바로 시작할 수 있습니다.
팁 26. 브라우저 자동화
크롬 DevTools를 이용한 기능 검증에서 한 걸음 더 나아가면, 본격적인 브라우저 자동화 영역에 들어섭니다.
클로드 코드가 브라우저를 열고, 웹사이트를 탐색하고, 양식을 채우고, 버튼을 클릭하고, 데이터를 읽어옵니다. 명시적 API가 제공되지 않는 서비스에서 데이터를 수집하거나, 반복적인 웹 작업을 자동화하는 데 활용할 수 있습니다.
참고하고 싶은 웹사이트의 디자인을 가져오는 것도 가능합니다. 마음에 드는 사이트의 스크린샷을 찍거나 HTML 스타일을 추출해서 클로드에게 전달하면, 그 디자인 패턴을 재현합니다. 물론 그대로 복사하는 것이 아니라, 영감의 소스로 활용하고 자신만의 요소를 더하는 것이 바람직합니다.
브라우저 자동화의 범위는 넓습니다. 다만 이미 로그인된 상태에서 탐색, 클릭, 입력 등의 작업을 수행하는 형태가 가장 안정적입니다. 자동화 범위를 정할 때는 어디까지를 클로드에게 맡기고 어디부터를 사람이 개입할지 미리 정해 두는 것이 좋습니다.
[그림 29-4] 브라우저 자동화를 통한 웹 데이터 수집 흐름도
팁 27. 보안 주의사항: API 키 관리
고급 기능을 적극 활용할수록 보안의 중요성도 커집니다. MCP 연결 서버 여러 개를 연결하고, 브라우저 자동화를 하고, 다중 세션을 돌리면, 그만큼 API 키와 인증 정보가 여러 곳에 노출될 수 있습니다.
몇 가지 원칙을 지켜야 합니다.
API 키는 코드에 직접 넣지 않습니다. 환경 변수(environment variable)나 .env 파일을 통해 관리합니다. .env 파일은 반드시 .gitignore에 추가해서 깃허브에 올라가지 않도록 합니다. 한 번이라도 커밋 히스토리에 들어간 키는 이미 노출된 것으로 간주하고 즉시 재발급해야 합니다.
클로드 코드 세션에서도 마찬가지입니다. API 키가 포함된 응답을 클로드가 생성했다면, 그 내용이 컨텍스트에 남습니다. 가능한 한 키 값 자체가 대화에 등장하지 않도록 구조를 설계해야 합니다.
VS Code 확장 프로그램(extension)이나 MCP 연결 서버를 설치할 때도 보안 검증이 필요합니다. 개발자의 신원, 아웃바운드 네트워크 호출 여부, 데이터 수집 여부, 셸 명령어 실행 가능 여부 등을 사전에 확인하십시오. 확인 없이 설치했다가 크리덴셜(credential)이 외부로 유출되면 돌이킬 수 없습니다.
[그림 29-5] API 키 관리 체크리스트
도구의 깊이를 아는 사람
고급 팁 일곱 가지는 클로드 코드라는 도구의 깊이를 보여줍니다. 브라우저를 제어하고, 에이전트가 에이전트를 설계하게 하고, 수십 개의 세션을 동시에 관리하면서도 보안을 놓지 않는 것. 이것이 도구를 제대로 활용하는 수준입니다.
이런 기법들을 안전하게 사용하려면, 깃 워크트리의 작동 원리와 클로드 코드의 권한 설정 체계를 이해해야 합니다. 병렬 작업의 안전망이 되는 워크트리, 그리고 자율성과 통제 사이의 균형을 잡아주는 권한 설정이 그 기반입니다.
이 책이 잠시라도 당신 곁에 머물렀다면, 다음 이야기가 세상에 나올 수 있도록 후원해 주세요.
(자발적 후원 부탁 구좌 : 농협 302-1096-0948-81 예금주 : 김경진)













