Reviewing AI Agent Permission Changes Before Merge
개요
AI 코딩 에이전트의 도입으로 코드 리뷰의 범위가 확장됨에 따라, 에이전트의 권한 및 도구 설정 변경 사항을 쉽게 인지할 수 있도록 돕는 CLI 도구인 ScopeDiff가 개발되었습니다.
주요 내용
* AI 코딩 에이전트와 코드 리뷰의 변화: AI 코딩 에이전트는 단순한 애플리케이션 코드 외에도 MCP 서버 설정, AGENTS.md 파일 수정, Cursor/Claude 규칙 변경, GitHub Actions 권한 확장, 패키지 라이프사이클 스크립트 추가 등 다양한 종류의 변경 사항을 Pull Request(PR)에 포함시킬 수 있습니다.
* ScopeDiff의 필요성: 이러한 변경 사항은 에이전트가 실행할 수 있는 도구, 예상하는 토큰, CI/CD 자동화의 배포 범위를 변경할 수 있으므로 코드 리뷰 단계에서 면밀히 검토해야 합니다.
* ScopeDiff의 기능: ScopeDiff는 로컬 CLI 도구로, PR 병합 전에 이러한 권한 및 도구 관련 변경 사항을 시각적으로 확인할 수 있도록 돕습니다. .mcp.json, AGENTS.md, .github/workflows/*.yml, package.json, Dockerfile 등 다양한 설정 파일을 스캔하여 변경 사항을 감지합니다.
* ScopeDiff의 보고서: ScopeDiff는 마크다운 및 JSON 형식의 보고서를 생성하며, 각 발견 사항에 대한 제목, 심각도, 파일 및 라인 번호, 증거, 신뢰도, 새로운 기능 추가 여부, 권한 확장 여부, 권장 리뷰 단계를 포함합니다.
* 예시: MCP 서버에 GITHUB\_TOKEN과 같은 민감한 환경 변수를 추가하거나, GitHub Actions 워크플로우를 pull_request에서 pull_request_target으로 변경하고 권한을 읽기(read)에서 쓰기(write)로 확장하는 등의 변경 사항을 ScopeDiff가 보고할 수 있습니다.
* ScopeDiff의 목적: ScopeDiff는 PR을 자동으로 차단하는 것이 아니라, 리뷰어에게 필요한 질문 목록(예: 해당 서버가 필요한가, 패키지 버전을 고정해야 하는가, 해당 토큰에 쓰기 권한이 필요한가 등)을 제공하여 리뷰 과정을 보조하는 데 목적이 있습니다.
* CI/CD 통합: ScopeDiff는 GitHub Actions 워크플로우에 통합되어 PR 검토 시 자동으로 실행될 수 있으며, ci 명령어를 통해 특정 심각도 이상의 발견 사항이 있을 경우 실패하도록 설정할 수 있습니다.
* 안전 및 개인 정보 보호: ScopeDiff v0.1.0은 로컬 우선, 읽기 전용 스캔, 텔레메트리 없음, 코드 업로드 없음, 숨겨진 네트워크 요청 없음, 기본적으로 .env 파일 읽기 방지, PR 코멘트 기본 비활성화 등 보수적인 접근 방식을 취하고 있습니다.
* ScopeDiff의 한계: ScopeDiff는 완전한 보안 감사, 취약점 스캐너, MCP 방화벽, 패키지 평판 서비스, 샌드박스, PR의 안전 보장 등을 제공하지 않으며, 놓치는 부분이 있거나 잘못된 양성(false positive)을 포함할 수 있습니다.
시사점
ScopeDiff는 AI 코딩 에이전트 관련 설정 변경 사항을 코드 리뷰 과정에서 더 쉽게 인지하고 검토할 수 있도록 지원함으로써, 잠재적인 보안 위험 및 예상치 못한 도구 변경을 사전에 감지하는 데 기여할 수 있습니다.
댓글
GitHub Discussions