We stopped AI bot spam in our GitHub repo using Git's –author flag
개요
GitHub 리포지토리에서 AI 봇 스팸을 방지하기 위해 Git의 --author 플래그를 활용한 접근 방식에 대한 내용입니다.
주요 내용
* AI 봇 스팸의 문제점: AI 봇이 GitHub 리포지토리에 무분별한 댓글, PR, 이슈를 생성하여 실제 기여자들의 대화를 묻히게 하고, 알림을 과도하게 발생시켜 개발자 경험을 저해합니다. 이는 프로젝트의 질적 저하와 보안 위험으로 이어질 수 있습니다.
* 기존 대응 시도의 한계: 기여자 평판 시스템("London-Cat" 봇)이나 AI 봇 탐지("AI sheriff") 등의 초기 대응 시도는 스팸을 효과적으로 차단하지 못했습니다.
* "Prior Contributors" 설정 활용: GitHub의 "Limit to prior contributors" 설정을 사용하여 이전 커밋 경험이 있는 사용자만 이슈 생성, PR 제출, 댓글 작성을 허용하도록 제한합니다.
* Git --author 플래그를 통한 우회: "Prior Contributors" 설정이 AI 봇과 신규 기여자를 구분하지 못하는 점을 해결하기 위해, Git의 --author 플래그를 사용하여 신규 기여자의 GitHub 계정으로 커밋을 생성하는 방식을 도입했습니다. 이를 통해 사용자의 GitHub ID를 기반으로 EXTERNAL_CONTRIBUTORS.md 파일에 추가하고, 해당 사용자를 "prior contributor"로 인식시켜 리포지토리 접근 권한을 부여합니다.
* 자동화된 온보딩 워크플로우: 웹사이트에서의 온보딩 과정(윤리적 AI 규칙 및 CAPTCHA 포함)과 GitHub Actions를 연동하여, 사용자의 GitHub ID 조회, EXTERNAL_CONTRIBUTORS.md 파일 업데이트, 그리고 해당 사용자를 저자로 하는 커밋을 메인 브랜치에 푸시하는 전체 과정을 자동화합니다.
시사점
이러한 접근 방식은 AI 봇 스팸으로 인한 오픈 소스 프로젝트의 질적 저하 및 커뮤니티 경험 악화를 방지하는 데 실질적인 해결책을 제시하며, GitHub 활동량 중심의 지표보다 실제 기여의 품질을 우선시하는 전략을 보여줍니다.
댓글
GitHub Discussions