🍚 깃밥 PRO가 열렸어요 — 월 3,900원 · 알아보기 →
테크 반찬2026년 10월 12일· Tide 제공· 조회 14

Grass Pass란? 밖에 나가 사진 찍어야 Reddit 풀리는 오픈소스 확장

  • Grass Pass는 X·레딧·인스타 등 6개 SNS를 막는 크롬 확장
  • 해제하려면 서로 다른 잎 3장을 사진으로 찍어 인증
  • 사진 검증은 서버 전송 없이 브라우저 안 로컬 AI가 처리

Hacktoberfest Open-Source AI Challenge에 제출된 크롬 확장 프로그램 'Grass Pass'가 SNS 차단 방식을 다르게 풀어냈습니다. 사이트를 열면 곧바로 차단 화면이 뜨고, 밖에 나가 사진을 찍어야만 다시 접속할 수 있습니다. 개발자 Bharath Vankayala는 이 사진 검증을 외부 서버가 아니라 사용자 컴퓨터에서 직접 돌리는 오픈소스 비전 AI 모델로 구현했습니다.

Grass Pass는 어떻게 SNS 차단을 풀게 만드나

핵심: SNS를 열면 "Go touch grass" 버튼이 뜨고, 사진 인증을 마쳐야 다시 접속할 수 있습니다.

Grass Pass는 크롬, 엣지, 브레이브 같은 Chromium 기반 브라우저에 설치하는 확장 프로그램입니다. Chromium 확장 프로그램은 브라우저에 추가 기능을 더하는 작은 소프트웨어를 말합니다. 이 확장은 Hacktoberfest Open-Source AI Challenge Week 1(Touch Grass) 과제로 제출됐습니다. Hacktoberfest는 전 세계 개발자들이 오픈소스 프로젝트에 기여하도록 독려하는 행사입니다.

기본 차단 목록에는 X, 레딧(Reddit), 인스타그램, 틱톡, 페이스북, 유튜브가 들어 있습니다. 이 중 하나를 열면 바로 차단 페이지로 넘어가고 "Go touch grass" 버튼이 나타납니다. 버튼을 누르면 "서로 다르게 생긴 잎 세 장을 사진으로 찍어라" 같은 과제가 주어지고, 사용자는 휴대폰에서 사진을 올리거나 웹캠으로 직접 찍어 제출합니다.

제출된 사진은 사용자 자신의 컴퓨터에서 동작하는 비전 모델이 하나씩 검사합니다. 데모는 Vercel에 배포돼 있습니다.

출처: dev.to | 원문 보기 ↗

왜 오픈소스 비전 모델로 사진을 검증하나

핵심: 사진이 기기 밖으로 나가지 않도록, 오픈소스로 공개된 비전-언어 모델을 브라우저 안에서 직접 돌리는 구조를 택했습니다.

비전-언어 모델(VLM)은 이미지와 텍스트를 함께 입력받아 이해하는 AI 모델을 말합니다. Grass Pass의 기본 모델은 SmolVLM-500M-Instruct로, Transformers.js v3와 WebGPU를 이용해 브라우저 안에서 동작합니다. WebGPU는 브라우저가 GPU 연산에 직접 접근해 무거운 AI 작업을 처리하게 해 주는 웹 표준입니다. Moondream처럼 브라우저용 빌드가 없는 모델은 로컬호스트에서 도는 Ollama 백엔드를 선택적으로 쓸 수 있고, 실험적인 '정확도(accurate)' 단계에서는 Qwen2-VL-2B를 사용합니다. 이 모델들은 모두 init, askYesNo, dispose만 가진 하나의 VisionBackend 인터페이스 뒤에 숨어 있어서, 나머지 프로그램은 어떤 모델이 실제로 돌고 있는지 알 필요가 없습니다.

500MSmolVLM-500M-Instruct, 기본 모델
2BQwen2-VL-2B, 실험적 정확도 모드

소형 비전 모델은 한 장의 이미지에 대한 단순한 예/아니오 질문에는 잘 답하지만, 여러 이미지를 넘나드는 개수 세기나 추론에는 약합니다. 그래서 Grass Pass는 제출된 사진을 한 장씩 순서대로 독립적으로 검증하는 방식을 택했습니다.

개발자가 밝힌 설계상 가장 큰 제약은 프라이버시입니다. 사용자는 자신의 주변 환경을 카메라로 찍어야 하는데, 폐쇄형 비전 API를 썼다면 사진마다 계정과 API 키에 연결된 누군가의 서버에 올리고 호출 건마다 비용을 내야 했을 것이라고 설명합니다. 오픈소스로 공개된 가중치 덕분에 가능해진 점은 다음과 같습니다.

  • 사진이 기기 밖으로 나가지 않고, 네트워크 트래픽은 허깅페이스에서 모델 가중치를 한 번 내려받는 것뿐입니다.
  • 서버나 계정, API 키가 없어 따로 운영하거나 비용을 내거나 나중에 중단할 백엔드가 없습니다.
  • 가중치가 공개돼 있어 같은 앱에서 SmolVLM은 브라우저, Qwen2-VL은 WebGPU, Moondream은 Ollama로 각각 바꿔 돌릴 수 있습니다.

다만 500M 파라미터 모델은 프런티어 모델보다 정확도가 떨어지는 트레이드오프가 있어서, 설계 자체가 좁은 범위의 예/아니오 질문에 의존하고 있고 집요하게 속이려는 사용자를 막아내려 하지는 않는다고 설명합니다.

출처: dev.to | 원문 보기 ↗

이게 나에게 의미하는 것

로컬에서 동작하는 오픈소스 AI 도구를 만들려는 개발자라면, Grass Pass처럼 모델 호출부를 init·askYesNo·dispose 같은 작은 인터페이스 뒤로 감춰두면 SmolVLM·Qwen2-VL·Moondream 사이를 오가며 모델을 교체하기가 쉬워진다는 점을 참고할 만합니다.

정리: 오늘의 시사점

Grass Pass는 500M 파라미터급 소형 모델의 한계를 인정하고, 복잡한 판별 대신 이미지 한 장당 하나의 예/아니오 질문으로 작업 범위를 좁힌 사례입니다. 오픈소스 소형 비전 모델로 실제로 동작하는 도구를 만들 때는 모델 성능에 맞춰 과제 자체를 단순하게 설계하는 전략이 통한다는 것을 보여줍니다.

이 반찬이 맛있었다면
🍚 이 글은 자매 서비스 Tide에서 차려온 반찬입니다.
출처: dev.to