Skip to main content
Glama
gitmoru
by gitmoru

저장소에 무슨 일이 있었는지, 파보고 알려주는 두더지

새벽에 누가 브랜치를 통째로 갈아엎었을 때 켜는 도구입니다. 아무것도 내려받지 않고, 이 컴퓨터 밖으로 아무것도 보내지 않아요.

한국어 | English | 日本語

이게 뭔가요

계정 하나가 털리면 조직 전체의 브랜치가 몇 시간 만에 덮어씌워집니다. 그때 알아야 하는 건 세 가지예요.

  1. 어디가 당했나 - 저장소 수십 개 중 어디, 브랜치 몇 개

  2. 뭐가 들어왔나 - 그 파일이 무슨 코드인지

  3. 되돌릴 수 있나 - 공격 직전 커밋이 아직 남아 있는지

gitmoru 은 1번과 3번을 합니다. 2번은 안 합니다. 대신 2번을 할 수 있는 AI 에게 넘길 수 있게 만들었습니다.

Related MCP server: Security MCP Server

왜 판정하지 않나요

이 도구는 "감염됐습니다 / 안전합니다" 라고 말하지 않아요. 말하는 건 이것뿐입니다.

이 시간대에 이 파일들이 이렇게 바뀌었습니다.

이유가 있어요.

탐지 규칙은 겪어본 공격에서 나옵니다. 새로운 수법은 정의상 규칙에 없어요. 규칙이 판정을 내리는 구조에서는 규칙이 못 잡은 공격이 "이상 없음" 으로 표시됩니다.

실제로 그랬습니다. 파일 이름으로 찾다가 다른 이름에 붙은 같은 페이로드를 놓쳤고, 화면에는 "0건" 이 떴어요. 그 화면을 보고 한동안 안심했습니다.

그래서 gitmoru 은 신호가 0건이어도 이렇게 씁니다.

눈에 띈 건 0개예요. 그래도 바뀐 파일 14개는 한 번 봐주세요.

안 하는 것

안 함

git clone

폴더를 편집기로 여는 순간 실행되는 페이로드가 있어요. 내려받는 순간 진 겁니다

대상 코드 실행

린트, 빌드, 설치 전부 안 합니다. 읽어서 설명할 뿐이에요

바깥으로 통신

화면에 CSP 를 걸어서, 페이로드에 박힌 주소로 요청을 보내는 것 자체가 불가능합니다

토큰 보관

gh 에서 빌려 쓰고, 화면으로는 내려보내지 않아요

에이전트에게 쓰기 권한

에이전트는 공격자가 쓴 글을 읽습니다. 거기 지시문이 섞여 있을 수 있어요

자세한 건 SAFETY.md 에 있습니다.

시작하기

미리 있어야 하는 것은 Node 22 이상, pnpm, GitHub CLI 셋입니다.

git clone https://github.com/gitmoru/gitmoru.git
cd gitmoru
gh auth login
pnpm install
pnpm app

창이 뜨면 조직이나 저장소, 시간대를 넣고 파보기 를 누르세요. 기본값은 오늘 새벽 0시부터 7시까지입니다. 사고는 대개 이 시간대예요.

설치 파일을 안 내놓는 건 게을러서가 아니에요. 이 도구는 저장소 접근 권한을 씁니다. 서명 없는 실행 파일이 그걸 요구하는 모습은, 이 도구가 찾아내는 공격과 구분이 안 됩니다. 받는 사람은 방금 털린 사람이에요. 그런 날에 건네야 할 건 읽을 수 있는 코드입니다.

토큰은 gh 에서 빌려 씁니다. 이 저장소가 토큰을 따로 받아 적는 곳은 없어요.

어떻게 도나요

시간대 안의 push 이벤트를 모은다
        ↓
공격 직전 커밋(payload.before)과 지금 트리를 맞춰본다
        ↓
바뀐 파일을 규칙과 무관하게 전부 모은다      ← 여기가 결과물
        ↓
탐지기가 먼저 볼 것에 형광펜을 친다          ← 판정이 아니라 순서
        ↓
사람 또는 AI 가 읽고 판단한다
        ↓
되돌리기는 사람이 앱에서 누른다

되돌아갈 커밋은 GitHub 이 기억하는 것에서 옵니다. 활동 기록은 90일 정도까지만 남으니, 그 밖은 되돌릴 수 없어요. 이것도 화면에서 말해줍니다.

AI 붙이기

MCP 서버가 같이 들어 있습니다. 붙이면 AI 가 결과를 직접 읽고, 수상한 파일이 무슨 코드인지 설명해줘요.

Claude Code, Codex CLI, Gemini CLI, Claude 데스크톱, Cursor, Windsurf, VS Code 를 지원합니다. 앱에서 AI 붙이기 를 누르면 이 컴퓨터의 실제 설정 파일 경로까지 알려줍니다.

도구

언제 쓰나

scan

시작. caseId 를 받습니다

triage

무엇부터 볼지

list_changes

바뀐 파일 전부

diff_file

공격 직전 파일과 지금 파일 비교. 여기서 판단이 일어납니다

read_file

파일 전체 읽기

check_access

배포 키, 웹훅, 대기 초대. 시간대와 무관한 현황 점검

preview_restore

무엇을 어디로 되돌리게 되는지 (실행은 안 합니다)

share_summary

팀 채널용 요약

전부 읽기 전용입니다. 왜 그런지

모루

맨홀 뚜껑을 쓴 두더지입니다. 화면 아래 땅을 파고 다니면서 진행 상황을 알려줘요. 마우스가 멈추면 그쪽으로 굴을 파서 옮겨오고, 한참 두면 잡니다.

그림은 전부 문자열 격자예요. CSS 로 늘였다 줄이는 게 아니라 여러 장을 넘겨서 움직입니다. 앱 아이콘도 같은 그림에서 굽습니다.

모루는 "안전해요" 라고 말하지 않습니다.

언어

한국어, English, 日本語 를 지원합니다. 처음 켤 때 시스템 언어에 맞춰 뜨고, 제목줄에서 바꿀 수 있어요.

번역이 아니라 그 언어로 다시 썼습니다. 어느 언어에서도 "안전합니다" 라고 말하지 않아요.

문서

SAFETY.md

기능보다 우선하는 규칙

구조

폴더가 어디에 뭐가 있는지

결정 기록

왜 이렇게 만들었는지

언어 추가하기

문구를 손보거나 언어를 늘릴 때

같이 만들기

기여하기 전에

AGENTS.md

AI 로 작업할 때

만든 이유

실제 사고를 CLI 로 수습하면서 만들었습니다. 브랜치 200개가 넘어가니 명령을 손으로 치는 게 불가능했고, 무엇보다 잘못 짠 명령 하나가 조용히 "0건" 을 뱉는 게 무서웠습니다.

그래서 이 도구는 실패를 숨기지 않아요. 확인 못 한 게 있으면 개수를 세서 눈에 띄는 자리에 적습니다.


A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides AI assistants with secure, read-only access to ShadowGit repositories for debugging and code analysis. Enables powerful analysis of fine-grained git history captured automatically by ShadowGit's continuous commit tracking.
    Last updated
    5
    20
    49
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to perform code reviews by providing access to staged files, git diffs, and repository file content. It allows users to evaluate changes and context within any local git repository before committing or pushing.
    Last updated
    3
    10
    ISC

View all related MCP servers

Related MCP Connectors

  • Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Scan GitHub-hosted AI skills for vulnerabilities: prompt injection, malware, OWASP LLM Top 10.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gitmoru/gitmoru'

If you have feedback or need assistance with the MCP directory API, please join our Discord server