소개
매일 쌓이는 아웃룩 메일을 정리하고 싶다. 컨플루언스를 쓰고 있으니 이력을 등록하면 되겠으나, 내용을 정리해서 등록하는것도 일이다. 메일을 능동적으로 검토하고 기존 이력에 넣어서 정리하며, 필요시 action item 으로 정리해서 관리하게 해주는 앱이 필요해서 요청했더니, Claude Code 플러그인이라서, 사용 중인 Claude Code 안에서 슬래시 명령으로 직접 설치해야합니다. 그런데 회사 방화벽이 막혀있어서 클로드 코드 설치가 불가능해요
그래도 어떻게든 사용하고 싶어서 코워크 플러그인을 넣어보자는 생각을 했습니다. 클로드에게 요청하니 업로드용 플러그인 파일을 만들어 주었습니다. 이 단계 부터는 /gatekit-discover로 요구사항 협의가 가능하네요
한국어 버전 앱의 스크린샷
진행 방법
클로드에게 진행한 내용을 요약하라 했더니 이렇게 말해줍니다.
gatekit 플러그인: Claude Cowork 설치와 보안 검토
1. 범위
이 문서는 gatekit 플러그인 관련 작업을 요약합니다.
플러그인의 출처는 https://github.com/LovelyPaul/gatekit 입니다.
버전은 0.11.2(커밋 20a3607)입니다.
2. 설명
2.1 플러그인의 목적
gatekit은 AI를 이용한 소프트웨어 개발용 플러그인입니다. 개발 작업을 단계별로 통제합니다. 단계는 인터뷰, 스펙 작성, 작업 분해, 완료 기준, 빌드, 검증입니다.
제작자는 이 플러그인을 Claude Code용으로 만들었습니다. 회사는 Claude Code 사용을 허용하지 않습니다. 따라서 플러그인을 Claude Cowork에 설치했습니다.
2.2 설치
Cowork에 처음 설치할 때 실패했습니다. 플러그인에 bin/ 폴더가 있었는데, Cowork는 bin/ 폴더가 있는 플러그인을 받지 않습니다.
이 문제를 다음 순서로 해결했습니다.
bin/gatekit.py 파일을 scripts/gatekit.py로 옮겼습니다.
명령 파일 10개와 Python 파일 2개에서 파일 경로를 바꾸었습니다.
패키지에서 테스트 파일을 뺐습니다.
플러그인 테스트 1,106개를 실행했습니다. 모두 통과했습니다.
새 패키지를 Cowork에 설치했습니다. 설치에 성공했습니다.
그 밖의 코드는 바꾸지 않았습니다.
2.3 보안 검토
Python 코드 전체(약 9,300줄)와 지시 문서 전체(약 3,800줄)를 검토했습니다.
다음 항목은 발견되지 않았습니다.
악성 코드
네트워크 코드 또는 외부 서버로의 데이터 전송
숨긴 문자, 인코딩된 데이터, 읽기 어렵게 만든 코드
~/.ssh, 인증 정보 등 민감한 파일에 대한 접근
사용자 대신 승인하라는 지시
3. 위험 요소
번호 등급 위험 요소 발생 조건
1 높음 응답이 끝날 때마다 Stop 훅이 .gatekit/contract.json의 명령을 실행합니다. 이때 사용자가 그 명령을 승인했는지 확인하지 않습니다. 허가 창도 나타나지 않습니다. /gatekit:build 또는 /gatekit:verify가 활성 상태일 때
2 중간 gatekit 명령은 Bash, Write, Edit를 동작마다 허가 창 없이 허용합니다. gatekit 명령을 실행하는 동안
3 중간 /gatekit:interview는 웹 검색을 자동으로 합니다. 검색어에 미공개 제품 정보가 포함될 수 있습니다. 인터뷰 2.5단계
4 중간 /gatekit:design은 웹 페이지를 읽고 Chrome 브라우저를 조작할 수 있습니다. 웹 페이지에 숨은 악성 지시를 막는 장치가 없습니다. 사용자가 URL을 줄 때
5 중간 플러그인이 Claude Code CLI(claude --version, claude -p)를 실행할 수 있습니다. 회사 정책에 어긋날 수 있습니다. /gatekit:setup 또는 워커 모드
6 낮음 기본 완료 기준에 npx playwright test가 들어 있습니다. 이 명령은 npm에서 패키지를 내려받을 수 있습니다. /gatekit:gate
7 낮음 spec/ 폴더가 있는 다른 프로젝트에서도 파일 쓰기가 막힐 수 있습니다. 프로젝트에 spec/ 폴더가 있을 때
4. 절차: 안전한 사용
경고: 외부에서 받은 프로젝트 폴더에 .gatekit/ 또는 spec/ 폴더가 있으면 gatekit을 사용하지 마십시오. Stop 훅이 그 파일의 명령을 자동으로 실행할 수 있습니다.
다음 명령만 사용하십시오: /gatekit:discover, /gatekit:interview, /gatekit:tasks, /gatekit:gate.
/gatekit:build와 /gatekit:verify는 사용하지 마십시오.
인터뷰를 시작할 때 Claude에게 "웹 검색은 하지 마"라고 말하십시오.
디자인 참고 자료는 스크린샷이나 HTML 파일로 주십시오. URL은 주지 마십시오.
완료 기준을 승인하기 전에 spec/05-gate.md의 명령을 하나씩 읽으십시오.
/gatekit:setup이 Codex를 켜자고 하면 거절하십시오.
플러그인이 권한을 더 요구하면 거절하십시오.결과와 배운 점
아웃룩 문서를 드래그 드롭하면 이력 정리해주는 툴로 만들고 싶습니다,.