내 깃허브가 털렸다

2021. 4. 9. 11:50· Computer Science
목차
  1. Github Action이 뭔데?
  2. 그런데 이 친구가 털렸다
  3. 공격 방식
  4. 해커의 정체
  5. 예방법
  6. 대응책
  7. 내 action은 아직도 복구가 안됐다

Github Action이 털렸다

 

Github Action이 뭔데?

 

깃허브에는 Github Action 이라는 기능이 있습니다. Test, 빌드, CI/CD 구축, 작업 실행 예약 등 다용도로 사용 할 수 있는 좋은 도구입니다.

 

Features • GitHub Actions

Easily build, package, release, update, and deploy your project in any language—on GitHub or any external system—without having to run code yourself.

github.com

 

저장소의 .github/workflows 에 yaml 로 된 파일을 업로드하면, 해당 파일의 규칙에 따라 그 안에서 정의된 작업들을 실행시켜주는 고마운 기능입니다.

 

그런데 이 친구가 털렸다

 

Docker 이미지 경량화 게시글에서 언급된 템플릿을 작성하고, 기존 프로젝트에도 경량화를 진행했습니다.

 

inssa.club 의 백엔드 서비스 업데이트를 진행했죠.

 

 

 

Inssa Club - Share your full Clubhouse Profile with a single link

Clubhouse profile with a single link.

inssa.club

 

그런데 자동으로 진행되어야 할 롤링 업데이트가 전혀 되지 않는 모습을 발견했습니다.

로그를 확인해보니, 전혀 모르는 유저가 20시간 가량 제 github action을 실행시켜놓고 사라졌습니다.

당황해서 생활코딩 커뮤니티에 글도 썼다니까요.

https://www.facebook.com/groups/codingeverybody/permalink/5604200889620401/

 

 

생활코딩 : 제 깃허브 action에 전혀 모르는 유저가 10시간 가량을 실행시켜놓고 사라졌습니다

제 깃허브 action에 전혀 모르는 유저가 10시간 가량을 실행시켜놓고 사라졌습니다. 혹시 이런 경우 있으신가요? 해당 레포 및 액션 실행 기록은 밑의 링크에서 확인하실 수 있습니다.

www.facebook.com

 

구글링을 해도 안나오는 결과에 당황한 모습이다

 

 

해커의 공격시도는 이 곳에서 확인하실 수 있습니다. https://github.com/linkkky/api.inssa.club_clubhouse/actions/runs/723711926

 

 

linkkky/api.inssa.club_clubhouse

The clubhouse profile retrieving service of https://inssa.club - linkkky/api.inssa.club_clubhouse

github.com

 

부랴부랴, 부족한 영어로 abusing 신고를 보냈습니다.

 

부랴부랴, 급하게 부족한 영어로 abusing report ticket을 끊었습니다.

 

원래는 해당 PR이랑 포크 받은 유저까지도 볼 수 있었는데, github 측의 빠른 대처로 캡쳐하는데는 실패했습니다... 남아있는것은 Github Action 실행 기록 뿐..

 

공격 방식

 

PR을 보내게 되면, 저장소의 Github Action이 실행되나 봅니다. 해당 해커는 채굴 코드를 다운로드 받고 실행시키는 코드를 저를 포함한 약 95개의 저장소에 실행시킨것으로 확인되었습니다. 제 일로 기사가 쓰여지는건 처음이네요..

 

 

GitHub Actions being actively abused to mine cryptocurrency on GitHub servers

GitHub Actions has been abused by attackers to mine cryptocurrency using GitHub's servers, automatically.The particular attack adds malicious GitHub Actions code to repositories forked from legitimate ones, and further creates a Pull Request for the orig

www.bleepingcomputer.com

 

해커의 정체

 

생활코딩 회원분들의 도움을 통해, 이 사람이 github action을 통해 turtle coin을 채굴하고 다니는 해커라는것을 알게되었습니다.

 

 

GitHub Actions being actively abused to mine cryptocurrency on GitHub servers

GitHub Actions has been abused by attackers to mine cryptocurrency using GitHub's servers, automatically.The particular attack adds malicious GitHub Actions code to repositories forked from legitimate ones, and further creates a Pull Request for the orig

www.bleepingcomputer.com

지금 현재는 github의 조치 덕분에 해당 유저의 계정 및 저장소가 전부 삭제되었습니다.

뻔뻔하게 본인 프로필 README에 공격 성공한 저장소들을 자랑하는 모습을 캡쳐해뒀어야 했는데.. 이제는 없네요.

상술하였듯 저를 포함한 약 95개의 저장소에 실행시킨것으로 확인 되었습니다. 실제로는 훨씬 더 많겠죠.

예방법

 

저 사용자를 시작으로, 유사 공격이 이루어지고 있는것 같습니다. 관련이 있을지 모르겠지만, 작성일 현재 시각 기준 github action의 status가 yellow 네요.

 

전세계 github 사용자들이 사이좋게 사용하는 공용 자원, 혹은 돈을 내고 사용하는 자원에서 민폐를 끼치면 안되겠죠.

대응책

 

아까 보낸 abusing report 의 답변으로 다음과 같은 답변을 받았습니다.

 

도와주셔서 감사합니다 (__)

 

대충 요약하자면 다음과 같습니다.

 

  • 당신과 같은 리포트를 한 사람들이 있었다. 예방 할 수 있도록 하겠다.
  • contribution 을 영구히 collaborator 만 할 수 있도록 하는 기능이 현재 없다.
  • 그러나 임시적으로 막을 수 있는 방법이 있다. 최대 6개월까지 설정 가능하고, 이후에 다시 활성화 해야한다.
  • 그 외에 Github Secret 이나 토큰과 관련한, 내 문제와는 관련없는 이야기...

 

Github Support의 James가 친절히 안내해준대로, Settings > Moderation Settings > Interaction limits 에서 "Limit to repository collaborators" 를 Enable 시키면, collaborator가 아닌 사용자는 해당 레포에 대한 상호작용 (덧글, issue, pr) 을 막을 수 있습니다.

물론 open source로 활발히 진행중인 프로젝트라면 이 방법은 사용 할 수 없겠지만, 다른 개발자를 위해 소스를 그저 공개해둔 경우라면 Interaction Limit을 활성화 하는것이 좋을 것 같습니다.

 

내 action은 아직도 복구가 안됐다

 

이제 시작일지, 대응이 완료된건진 잘 모르겠지만 제 github action은 아직도 복구가 안됬습니다. 일단 ticket을 끊어놓긴 했는데.. 아래 처럼 안됩니다.

 

linkkky organization 의 모든 저장소에서 github action 기능이 죽었다

github action을 쓰지 못해서 매우 답답하네요. 다들 이래서 전통적인 ci 솔루션과 jenkins를 쓰는걸까요?

 

흠..

 

아무쪼록, 다들 조심히, 안전히, 즐거운 개발하시고, 이만 글 마치겠습니다.

'Computer Science' 카테고리의 다른 글

Pytest 관련 짧은 팁  (0) 2021.08.26
파이썬 함수가 mocking(patching) 이 안돼요!  (0) 2021.08.25
Go 프로젝트 Docker 이미지 크기 99.2% 줄이기 (부제: 이미지 크기 12921% 떡상 시키기)  (0) 2021.04.08
이리치이고 저리치이고. 고난의 CI/CD 구축기  (0) 2021.03.26
약빨고 22시간 개발 한 썰(부제: inssa.club 개발기)  (0) 2021.03.23
  1. Github Action이 뭔데?
  2. 그런데 이 친구가 털렸다
  3. 공격 방식
  4. 해커의 정체
  5. 예방법
  6. 대응책
  7. 내 action은 아직도 복구가 안됐다
'Computer Science' 카테고리의 다른 글
  • Pytest 관련 짧은 팁
  • 파이썬 함수가 mocking(patching) 이 안돼요!
  • Go 프로젝트 Docker 이미지 크기 99.2% 줄이기 (부제: 이미지 크기 12921% 떡상 시키기)
  • 이리치이고 저리치이고. 고난의 CI/CD 구축기
mengmotaYeonGyu
mengmotaYeonGyu
mengmotaYeonGyu
Somewhere
mengmotaYeonGyu
전체
오늘
어제
  • 분류 전체보기 (50)
    • Computer Science (23)
    • Non Computer Science (16)
      • My Story (11)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • gRPC
  • SWM
  • MicroServiceArchitecture
  • 구글
  • 배포
  • CICD
  • 도권
  • docker-swarm
  • DevOps
  • 루나코인
  • docker
  • 프로토콜 버퍼
  • github action
  • 개발
  • stream rpc
  • SW마에스트로
  • protocol Buffer
  • 서비언스
  • ChatGPT
  • happy_birthday_to_me
  • 소마11기
  • 프로토콜버퍼
  • grpc-gateway
  • unary RPC
  • 권도형
  • 다시 읽어보니 취미를 잃은게 아니라 새 취미가 생긴게 아닐까?
  • 그래도지구는안망함
  • docker-stack
  • MSA
  • unary

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
mengmotaYeonGyu
내 깃허브가 털렸다
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.