AI 슬롭 방지: Archestra가 Git의 --author 플래그를 사용해 봇 스팸을 차단한 방법

대형 언어 모델(LLM)의 부상은 오픈 소스에 역설적인 도전을 가져왔습니다: AI가 개발을 가속화할 수 있는 반면, "AI 슬롭"이라 불리는 저품질, 테스트되지 않은, 종종 환상적인 기여가 넘쳐 유지보수자를 압도합니다. Archestra 팀에게는 MCP Apps 지원을 위한 $900 현상금이 재능 있는 개발자뿐 아니라 AI 봇 무리까지 끌어들여 위기가 되었습니다.

그 뒤로 단일 이슈에 253개의 댓글과 단일 제공자 통합에 대한 27개의 풀 리퀘스트가 폭주했으며, 대부분은 전혀 테스트되지 않았습니다. 그 결과 "소음의 벽"이 형성되어 정당한 기여자를 가리고 팀원들이 매주 반나절을 쓰레기 정리에만 소비하게 만들었습니다.

전통적인 필터링의 실패

  • 평판 봇: 그들은 병합된 PR을 기반으로 기여자 평판을 계산하는 "London-Cat"이라는 봇을 만들었습니다. 식별에 도움이 되었지만 스팸 유입을 막지는 못했습니다.
  • AI 보안관: 그들은 의심스러운 PR을 닫는 자동 "AI sheriff"를 구현했지만, 때때로 정당한 기여가 실수로 닫히는 경우도 있었습니다.

궁극적으로 팀은 진입 장벽이 없으면 AI 봇이 현상금과 오픈 이슈를 이용해 자체 메트릭을 올리거나 GitHub 카르마를 "농사"할 것이라는 사실을 깨달았습니다.

"핵 옵션": 기발한 GitHub 해킹

레포지토리를 되찾기 위해 Archestra는 엄격한 온보딩 프로세스를 도입했습니다. 그러나 GitHub에는 PR을 열거나 댓글을 남길 수 있는 사람을 세밀하게 제어하는 기본 화이트리스트가 없습니다. 이를 해결하기 위해 팀은 특정 GitHub 설정인 **"Limit to prior contributors."**을 활용했습니다.

이 설정에서는 이전에 main 브랜치에 커밋한 사용자만 레포와 상호작용할 수 있습니다. 문제는 정당한 신규 기여자도 이 규칙에 의해 차단된다는 점입니다. 이를 우회하기 위해 Archestra는 Git의 --author 플래그를 이용한 해결책을 개발했습니다.

화이트리스트 작동 방식

Git은 author(코드를 작성한 사람)와 committer(레포에 변경을 적용한 사람)를 구분합니다. --author 플래그를 사용하면 유지보수자가 다른 사용자에게 귀속되는 커밋을 만들 수 있습니다.

  1. 온보딩: 잠재적 기여자가 CAPTCHA를 완료하고 전용 웹사이트에서 윤리적 AI 규칙에 동의합니다.
  2. 식별: GitHub Action이 API를 통해 사용자의 고유 GitHub ID를 가져와 noreply 이메일 주소(\<id\>+\<username\>@users.noreply.github.com)를 찾습니다.
  3. 귀속: 시스템은 다음 명령을 사용해 main에 자동으로 커밋을 생성합니다(예: EXTERNAL_CONTRIBUTORS.md 파일 업데이트): git commit --author="their-username <ID+their-username@users.noreply.github.com>" -m "chore: add user to external contributors"
  4. 활성화: 사용자가 이제 main에 커밋의 author가 되었으므로 GitHub은 그들을 "prior contributor"로 인식하여 댓글 작성 및 PR 열기 권한을 부여합니다.

커뮤니티 관점 및 반론

이 접근법은 Hacker News에서 큰 논쟁을 일으켰으며, AI 생산성과 레포지토리 건강 사이의 광범위한 긴장을 부각시켰습니다.

보안 및 기술적 우려

일부 사용자는 이 해킹이 보안 위험을 초래할 수 있다고 지적했습니다. 한 댓글 작성자 @captn3m0는 다음과 같이 말했습니다:

"레포지토리 기여자는 포크 PR 실행에 대한 승인 요구를 피하는 등 더 높은 권한을 가집니다... 악의적인 사용자는 유지보수자가 간단한 오타나 다른 무해한 변경을 승인하도록 함으로써 이 요구를 충족시킬 수 있습니다."

또한, 일부는 해결책의 장기적인 지속 가능성을 의문시했습니다. @optionalsquid는 스팸이 사라진 것이 아니라 PR에서 커밋 기록으로 단순히 이동했으며, 현재 레포의 커밋 중 10% 이상이 온보딩 프로세스에 의해 생성된 잡음이라고 관찰했습니다.

"현상금" 문제

오픈 소스에서 금전적 인센티브가 "슬롭"의 근본 원인일 수 있다는 강한 의견이 있습니다. @jart는 보상이 돈보다 존중과 인정을 중심으로 해야 하며, 이는 익명 계정과 봇을 끌어들인다고 주장했습니다:

"사람들에게 존중과 인정을 보상으로 제공하세요. 아무도 들어본 적 없는 이상한 익명 계정은 떠날 것입니다. 왜냐하면 자신의 정체성을 숨기는 사람(또는 무언가)은 인정을 통해 얻을 것이 없기 때문입니다."

다른 사람들은 "Pfand"(보증금) 시스템을 제안했는데, 기여자가 PR을 제출할 때 소액을 지불하고, 승인되면 환불받는 방식으로 봇이 쉽게 넘을 수 없는 금전적 장벽을 만든다고 했습니다.

오픈 소스에 대한 광범위한 영향

이 상황은 GitHub과 같은 플랫폼이 보고하는 메트릭(기여의 "대규모 성장"을 축하할 수 있음)과 유지보수자의 실제 경험 사이에 커지는 격차를 강조합니다. AI가 생성한 활동을 "contribution"으로 계산하면 데이터는 품질 저하를 가리는 허세 메트릭이 됩니다.

Archestra 팀에게 선택은 명확했습니다: AI가 만든 잡음의 양보다 인간 대화의 품질을 우선시하는 것입니다. 해결책은 난해하지만, LLM 기반 자동화 시대에 오픈 소스 프로젝트가 경계를 방어해야 하는 필수적인 진화를 반영합니다.

Sources