Cursor 마켓플레이스의 Claude Code for VS Code 확장에서 나온 백도어

Backdoor in Claude Code for VS Code extension on the Cursor Marketplace

phorion.io ▲ 963 댓글 546 _chall

요약

Cursor 마켓플레이스에 올라온 변조된 Claude Code for VS Code 확장이 SSH 백도어를 심었습니다.

보안 업체 포리온이 분석 보고서를 냈고, Cursor도 보안 공지로 사고를 확인했습니다. 공격자는 앤트로픽 이름을 단 변조 버전 2.1.312와 2.1.313을 Cursor 마켓플레이스에 올렸습니다.

왜 중요한가

  • 편집기 확장 하나가 개발자 컴퓨터에 원격 접속 통로를 만들 수 있다는 점이 드러났습니다.
  • 확장을 지워도 백도어가 남으므로 해당 기간에 설치한 사용자는 따로 정리해야 합니다.
  • Cursor에 따르면 공식 배포본과 다른 확장은 영향을 받지 않았습니다.

핵심 내용

  • 노출 시간은 태평양 시간 10월 29일 오전 2시 27분부터 오후 1시 35분까지 약 11시간입니다.
  • 파일이 로드되는 순간 코드가 실행되므로 사용자가 확장을 조작하지 않아도 감염됩니다.
  • 공격자 키를 authorized_keys에 넣고 역방향 SSH 터널(안에서 밖으로 연 통로로 외부 접속을 받는 방식)을 엽니다.
  • 호스트 이름, 계정, 공인 IP를 수집하고 환경 변수는 값을 빼고 이름만 가져갑니다.
  • Cursor는 svc-telemetry 키를 확인하고 공식 정리 스크립트를 돌린 뒤 자격 증명을 교체하라고 권고합니다.

HN 반응

  • 앤트로픽 직원이 자사 시스템 침해가 아니라고 밝히자, 앤트로픽 표시가 붙은 이상 앤트로픽의 문제이기도 하다는 반론이 나왔습니다.
  • 서명이나 도메인 인증으로 게시자를 확인하자는 요구가 이어졌고, 일부 이용자는 서명만으로는 사칭을 막지 못한다고 답했습니다.

댓글

30개 표시 · 전체 546개
  1. felixrieseberg HN

    앤트로픽의 펠릭스입니다.

    저희는 이번 사고와 관련해 커서와 함께 대응하고 있습니다. 다만 앤트로픽의 시스템이나 직원 노트북이 침해된 것은 아닙니다. 악의적인 행위자가 커서 마켓플레이스에 접근할 수 있는 권한을 이용해, 변조된 Claude Code 확장 프로그램을 게시했습니다. 이 확장 프로그램은 저희가 만들거나 게시한 것이 아닙니다. 저희 공식 채널의 버전은 영향을 받지 않았고, 피해는 커서 사용자에게만 해당합니다.

  2. tzone HN

    앤트로픽이 침해당한 건 아니라고 말씀하실 수는 있지만, 구조상으로는 어느 정도 침해당한 겁니다. 커서의 Claude 확장 프로그램에는 앤트로픽이 만든 것이라고 표시되어 있으니, 그 확장 프로그램의 새 버전을 낼 수 있는 사람은 당연히 앤트로픽 팀뿐이라고 가정하게 됩니다.

    그게 분명히 사실이 아니었으니, 이건 커서의 문제인 만큼 앤트로픽의 문제이기도 합니다. 확장 프로그램을 앤트로픽이 관리하는 키로 서명하도록 기술적으로 바꾸거나, 아니면 커서 확장 프로그램에서 앤트로픽 브랜딩을 떼어내야 합니다.

  3. ghshephard HN

    저는 커서 스토어의 "Made by Anthropic"이 앤트로픽이 서명한 결과물이라는 뜻이라고 생각했는데, 이제 보니 분명히 잘못 알고 있었네요. 그렇지 않다면 두 회사 모두 정신 차려야 합니다.

      - 커서는 다른 회사가 "만들었다"고 표시하고 싶다면 서명 기능을 추가해야 한다.
    
    - 앤트로픽은 자기들 프로세스에 서명이 들어갈 때까지, 어떤 게시자도 "Made by Anthropic"이라는 표시를 쓰지 못하게 막아야 한다.   상표법이 여기서 쓸모가 있다.
    

    그전까지는 커서 인스턴스에서 커서 스토어의 확장 프로그램을 전부 지워야 할 판이네요. 뭘 내려받는 건지 사실상 복불복이잖아요?

    예를 들어 이런 건 어떻습니까? WSL 확장 프로그램을 보면 "이 게시자는 cursor.com의 소유권을 확인했습니다"라고 나오는데, 이게 다른 확장 프로그램으로 바뀌지 않았다는 보장이 있나요?

  4. AtNightWeCode HN

    핵심 문제는 VSCode 확장 프로그램에 서명이 아예 필요 없다는 겁니다. 어이가 없을 정도로 멍청한 설계 결정입니다.

  5. Rohansi HN

    커서 마켓플레이스는 VSCode 마켓플레이스와 별개 아닌가요? 앤트로픽이 거기에 등록한 적이 없어서 누가 앤트로픽을 사칭한 것일 수도 있잖아요. 그런 경우에는 코드 서명만으로는 도움이 안 됩니다.

  6. yubblegum HN

    A 업체는 자기 사이트에 서명 검증용 공개 키를 게시합니다. 이런 요구를 해결하려고 만든 암호학 분야가 통째로 있어요. 커서는 그저 또 하나의 소프트웨어 업체로서 가장 쉽고 노력이 안 드는 길을 택한 겁니다. 안 그러면 뭐, "루저"가 되니까요. 세상 모든 사람이 실행하게 될 코드를 내보내면서 출처 인증 같은 기본적인 장치를 갖추는 건 루저들이나 하는 일이라는 거죠. 정말이지 이 업계는 완전히 광대 쇼가 됐습니다.

  7. still_grokking HN

    정말이지 이 업계는 완전히 광대 쇼가 됐습니다.

    원래부터 그랬습니다. 상업적으로 배포하는 프로그램에는 지금까지 책임이 전혀 없었으니까요. 그게 단 하나의 근본 원인입니다. 그게 아니었다면 소프트웨어가 대체로 이렇게까지 엉망이진 않았을 겁니다. 지금의 현실은 아무리 독한 쓰레기를 내놓아도, 피해가 얼마나 크든 아무 결과 없이 넘어갈 수 있었던 데서 나온 겁니다. 소프트웨어 회사들은 수십 년 동안 수천억 달러, 어쩌면 합쳐서 수조 달러의 피해를 냈을 텐데도 책임진 사람 중에 청구서를 받은 이는 아무도 없습니다. 60년 넘게 무법천지입니다. 이제는 이걸 끝내야 합니다!

    소프트웨어에도 일반 제조물 책임이 적용되면 어떻게 달라지는지 지켜봅시다.

    https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=legissum:4792027

    며칠 안 남았습니다. 기대됩니다.

  8. rixed HN

    그리고 NIS2도 있죠. 좋은 흐름 같습니다. 보호주의에 그치지 않기를 바랍니다.

  9. still_grokking HN

    글쎄요, 굳이 말하자면 "반보호주의"입니다.

    이 때문에 EU와 미국 사이에 큰 논쟁이 벌어질 겁니다. 무역 전쟁까지 갈 수도 있습니다. 이미 갈등이 시작됐고요.

    https://www.reuters.com/legal/government/us-lawmakers-urge-trump-act-against-eu-tech-rules-suggest-trade-probes-2026-07-21/

    그래도 저는 이게 EU 쪽에서 내린 옳고, 진작 했어야 할 결정이라고 봅니다. 책임져야 할 쪽이 사고를 쳐도 사실상 청구서를 받지 않는 한 아무도 신경 쓰지 않는 이 기본 패턴을 깨야 합니다.

    소프트웨어는 "어떤 속도에서도 안전하지 않다(Unsafe at Any Speed)" [ https://en.wikipedia.org/wiki/Unsafe_at_Any_Speed ]라는 강렬한 비유를 들어 보겠습니다. 우리는 이미 60년쯤 전부터 명세를 (수학적 의미에서) 증명 가능하게 만족하는 소프트웨어를 만들 기술을 갖고 있습니다. 그런데도 시장에 나온 건 순전히 쓰레기이고, 나아지기는커녕 "AI" 슬롭 때문에 쓰레기 수준이 오히려 더 낮아지고 있습니다. 그 EU 법안이 탈출구가 될 수 있습니다. 제가 기대하는 이유입니다.

  10. duskdozer HN

    그 지침이 어떤 효과를 낼지 잘 모르겠어요. 어떤 상황에서, 어느 정도까지 책임을 지는 건가요?

  11. still_grokking HN

    소프트웨어가 법적으로 다뤄지는 방식에서 지금까지 있었던 가장 근본적인 변화입니다. 혁명이에요!

    새 법에서는 소프트웨어 제품도 일반 제품이 되고, 책임 면제는 더 이상 없습니다.

    결함 있는 제품을 최종 사용자에게 상업적으로 배포하면, 그 제품이 일으킨 피해에 대해 대체로 책임을 집니다. 이제 순수한 소프트웨어도 시장의 다른 (물리적) 제품과 똑같이 여기에 포함됩니다.

    EU에서 제조물 책임이 일반적으로 어떻게 작동하는지, 그리고 그게 소프트웨어에 무슨 의미인지 모르신다면 아래를 보세요.

    https://cms.law/en/int/publication/the-new-eu-product-liability-directive-eu-2024-2853

  12. Rohansi HN

    VSCode도 이렇게 하는 것 같지 않은데요. 제가 아는 패키지 매니저 중에는 아마 하나도 없을 거고요. 코드 서명은 하지만 조직 검증은 안 하지 않나요? 거의 사용자 이름 같은 거라서, 아무도 안 쓴 이름이면 누구든 선점할 수 있잖아요?

    수정: VSCode에는 게시자 인증 표시가 있긴 한데, 그게 어떻게 동작하는지, 커서도 같은 방식인지는 모르겠습니다.

  13. yunnpp HN

    이건 이미 해결된 문제입니다. EFF의 certbot이 어떻게 동작하는지 보세요. 봇이 기대하는 것과 일치하는 페이로드를 올려 두지 않으면 porn.com의 주인이라고 주장할 수 없습니다.

  14. Rohansi HN

    확장 프로그램을 게시하려는 모든 사람에게 도메인 이름을 사서 관리하라고 강제하자는 건가요? 만료되면 어떻게 하고요? 문제 한 묶음을 다른 문제 한 묶음으로 바꾸는 것뿐입니다.

  15. yunnpp HN

    모두에게 강제할 필요는 없습니다. 두 방식이 공존할 수 있어요. 계획된 지출이 1조 달러에 가까운 회사라면 도메인을 사서 만료되기 전에 갱신할 여유는 있다고 믿습니다.

  16. Rohansi HN

    그래도 같은 문제가 생깁니다. 앤트로픽은 커서 마켓플레이스에 계정이 없으니, 누가 그 이름을 선점해 놓고 도메인을 연결하지만 않으면 막을 방법이 있나요?

  17. yunnpp HN

    막을 방법은 없지만, 그 확장 프로그램은 "알 수 없는" 출처나 "서드파티" 출처 같은 식으로 표시되고, 설치하기 전에 큰 경고가 뜰 겁니다.

    그리고 패키지를 기본적으로만 스캔했어도 ssh 백도어는 걸렸을 것 같은데요? 난독화가 그렇게 정교해 보이지도 않았고요.

  18. dkersten HN

    "made by" 표시를 붙이고 싶은 사람에게만 요구하면 됩니다. 이름 없는 확장 프로그램을 게시하는 사람은 건너뛰어도 되고요.

  19. skydhash HN

    코드 서명은 하지만 조직 검증은 안 하지 않나요

    조직 검증은 하지 않지만, 코드가 어디서 왔는지는 검증합니다. 패키지는 알파인이 빌드한 것이 확실하고, 알파인은 배포 파일이 메인테이너가 추가한 소스에서 나왔는지 확인하며, 메인테이너는 그 소스가 올바른지 확인합니다. 사실 신뢰의 범위가 아주 작은 원입니다.

  20. LooseMarmoset HN

    저는 VS Code 확장 프로그램을 관리하려고 애쓰는 대기업에서 일하는데, 이 구조 때문에 쉽지 않습니다.

    저희는 확장 프로그램을 기본적으로 자동 차단하고 승인을 받아야 쓸 수 있게 하는데, 이 과정이 번거롭습니다.

  21. wombatpm HN

    드디어 블록체인을 쓸 데가 생긴 걸까요?

  22. luipugs HN

    아니요, 그건 이미 gpg로 해결됐습니다.

    블록체인을 억지로 띄우려고 하지 마세요. 안 될 겁니다.

  23. chaostheory HN

    투표에 쓰면 블록체인이 쓸모 있을 수도 있겠지만, 그러면 개인정보 보호를 잃을 수 있다는 단점이 생기죠.

  24. jimmby654 HN

    AI 회사가 지식재산권을 신경 쓰길 바라시는 겁니까? 그것도 비꼬는 게 아니고요?

  25. cmiles74 HN

    앤트로픽이 만들지 않은 확장 프로그램에 앤트로픽 브랜드를 붙여서 내보내면 안 됩니다. 정말 그렇게 된 거라면 당장 바꿔야 합니다. 이미 일이 벌어진 이상, 제 생각에는 이건 부분적으로 앤트로픽의 문제이기도 합니다. 악성코드에 그 회사의 브랜드와 이름이 붙어 있으니 그냥 털어낼 수는 없다고 봅니다.

    커서에는 마이크로소프트의 확장 프로그램 카탈로그를 그냥 긁어와서 자기 쪽에 올려 두는 프로세스라도 있는 걸까요? 그런 식으로 동작하는 거라면 고장 난 것이니 고쳐야 합니다.

  26. cmiles74 HN

    폰으로 쓰다 보니 "If that’s hostile works.."는 "If that’s how it works..."의 오타입니다.

  27. telephone3 HN

    처음 번역도 나름 말이 되긴 하는데요.

  28. adriand HN

    앤트로픽이 만들지 않은 확장 프로그램에 앤트로픽 브랜드를 붙여서 내보내면 안 됩니다.

    아니, 그게 바로 이번 해킹이잖아요. 제가 파악한 바로는 말 그대로 그렇습니다. 악의적인 행위자가 앤트로픽이 만들지도 않은 확장 프로그램을 커서 마켓플레이스에 올린 거예요.

  29. dboreham HN

    아니요, 오해하셨습니다(이 사건을 다룬 보도의 99%가 틀렸으니 놀랄 일도 아닙니다). 실제로 일어난 일은 이렇습니다. 누군가 "Anthropic.claude-code"라는 확장 프로그램을 게시했습니다. 그 사람은 앤트로픽이 아니었고, 앤트로픽이었던 적도 없습니다. 그저 자기 확장 프로그램 이름에 "Anthropic"이라는 문자열을 쓴 겁니다. 답글을 다신 그 댓글은, 확장 프로그램 마켓플레이스를 관리하는 조직인 커서가 정체불명 확장 프로그램의 이름에 유명 AI 연구소 이름을 쓰지 못하게 막았어야 한다는 말입니다. 아마 맞는 말일 겁니다.

  30. no-name-here HN

    제 생각에 상위 댓글 쓴 분의 반론은, 커서가 앤트로픽이 아닌 쪽이 11시간 동안 그렇게 하도록 내버려 둔 것이 부분적으로 "앤트로픽의 문제"라는 주장에 대한 것 같습니다.

Hacker News에서 보기 ↗