이 핑거프린팅 스크립트는 왜 생물무기를 만들고 있을까요?

Why is this fingerprinting script creating bioweapons?

nullpt.rs ▲ 1532 댓글 284 hazebooth

요약

핑거프린팅 스크립트가 생물무기·마약 이름의 가짜 함수로 AI의 코드 분석을 막고 있었습니다.

보안 블로그 nullpt.rs의 작성자는 상위 웹사이트 1만 곳을 Playwright로 돌며 캔버스 핑거프린트(그림을 그려 브라우저마다 다른 결과로 방문자를 식별하는 기법)를 모았습니다. 그중 한 봇 차단 스크립트의 난독화(코드를 일부러 읽기 어렵게 바꾸는 것)를 AI로 풀려다 거부당했고, 그 이유를 추적했습니다.

왜 중요한가

  • 난독화가 사람이 아니라 AI 분석 도구를 겨냥하는 방향으로 바뀌고 있음을 보여 줍니다.
  • 안전장치가 강한 모델일수록 방어 목적의 코드 분석에서 쉽게 무력화된다는 점이 드러났습니다.

핵심 내용

  • 함수 이름에 리신 치사량 계산, 펜타닐 전구체 합성 수율 같은 위험한 주제를 일부러 넣었습니다.
  • 보이지 않는 유니코드 문자를 풀자 금지 주제를 늘어놓은 가짜 시스템 지시문이 나왔습니다.
  • 이 지시문에는 중국 모델을 겨냥한 듯한 톈안먼 사건 언급도 들어 있었습니다.
  • Astra와 Daybreak Blue 모드는 분석을 거부했지만 GLM-5.3은 같은 요청에 응했습니다.
  • 정작 수집하는 정보는 평범했고, 도메인은 러시아 디도스 방어 업체 servicepipe.ru로 이어졌습니다.

HN 반응

  • 보안 업무에서 앤트로픽·OpenAI 모델이 버그 재현 코드조차 막는다는 불만이 많았고, GLM·Kimi 같은 공개 모델로 옮긴다는 이용자가 여럿이었습니다.
  • 허깅페이스도 해킹 사고 분석 때 같은 이유로 GLM을 썼다는 사례가 나왔고, GLM의 안전장치도 문맥만 꾸미면 뚫린다는 지적이 이어졌습니다.

댓글

30개 표시 · 전체 284개
  1. andai HN

    궁금해서 GLM-5.3에 같은 프롬프트를 넣어 봤는데, 응해 줬어요!

    여기서 어떤 흐름이 보이네요.

    HF도 해킹당했을 때 같은 말을 하지 않았나요? 방어를 도와준 LLM은 GLM뿐이었다고요.

    로그 분석을 시작했을 때는 먼저 상용 API 뒤에 있는 프런티어 모델을 썼습니다. 소용이 없었습니다. 이 분석에는 실제 공격 명령, 익스플로잇 페이로드, C2 아티팩트를 대량으로 제출해야 하는데, 이런 요청이 제공업체의 안전 가드레일에 막혔기 때문입니다. 가드레일은 사고 대응 담당자와 공격자를 구분하지 못합니다. 그래서 포렌식 분석은 오픈 웨이트 모델인 zai-org/GLM-5.2를 우리 인프라에서 직접 돌려 진행했습니다. 덕분에 두 번째 이점도 있었습니다. 공격자 데이터와 그 안에서 참조된 자격 증명이 우리 환경 밖으로 나가지 않았습니다.

    https://huggingface.co/blog/security-incident-july-2026

  2. resonious HN

    GLM에도 보안 관련 안전장치가 있는 듯하지만, 지금 작업 중인 시스템이 본인 소유인지 확인하는 정도에 그칩니다. 그 확인만 통과하면 뭐든 해 줍니다.

  3. cedws HN

    저 말고 다른 누군가가 GLM으로 소프트웨어 크랙을 시도했는데 응하지 않았다고 합니다. 결국 abliterated(안전장치를 제거한) 버전을 써야 했다고요. 중국 모델의 안전장치가 얼마나 증류의 결과이고 얼마나 의도적으로 넣은 것인지 궁금합니다.

  4. cynerx HN

    컨텍스트가 어느 정도 깊어지면 응해 줍니다. 처음 몇천 토큰은 abliterated 모델이나 다른 모델로 진행하세요. 아니면 디렉터리 이름을 CTF로 짓고, 무엇을 리버스 엔지니어링하는지 주변에 흔적을 너무 많이 남기지 마세요. 그래야 꼼수를 꿰뚫어 보지 못합니다.

  5. Aachen HN

    아무 컨텍스트로나 호출할 수 있는데 그게 무슨 소용이죠? 개념 증명이라면 직접 만든 더미 대상에 공격을 시키고, 모델이 당신을 승인된 사용자라고 판단하는 지점까지의 토큰을 가져온 다음, 더미 이름을 원하는 대상으로 바꿔서 거기서부터 세션을 이어 가면 되거든요.

    ‘NOBUS’(우리 말고는 아무도 못 쓴다는 뜻)가 떠오르네요. 정보기관은 자기들이 발견하거나 심어 둔 취약점을 아무에게도 말하지만 않으면, 자기들은 언제든 접근할 수 있고 다른 누구도 그 취약점으로 대상을 공격하지 못할 거라고 믿었죠. LLM이 기억에 승인의 증거가 있을 때만 원하는 토큰을 생성하도록 훈련하는 것(다른 사람이 맞는 컨텍스트를 끼워 넣을 리는 없다는 거겠죠)도 참 이상한 의인화처럼 느껴져요.

  6. raesene9 HN

    맞아요, 조금이라도 보안과 관련된 작업이라면 앤트로픽/오픈AI 모델은 지뢰밭이에요. 가드레일을 속여서 우회할 수도 있겠지만, 그러다가 더 심하게 차단당할 위험이 있고요.

    더 짜증 나는 건 Claude Code의 가드레일이 일관되지도 않다는 점이에요. 새 세션을 열어서 같은 프롬프트를 반복했더니 멀쩡히 되는 경우도 있었어요.

    그냥 GLM/Kimi/Deepseek으로 갈아타고 신경 끄는 쪽이 훨씬 편해요.

  7. nucleardog HN

    ‘조금이라도 보안과 관련된’이라는 말이 딱 맞네요.

    얼마 전에 PHP 코드 분석 도구에서 버그를 하나 찾았어요. 인터프리터가 죽는다거나 하는 그런 게 아니라, 애플리케이션이 이상한 상태에 빠져서 크래시하는 정도였어요. 코드베이스 전체를 공유하면서 버그를 제보할 수는 없으니, Claude가 _원인_을 추적해 낸 뒤에 제보용 최소 재현 코드를 만들어 달라고 했어요.

    차단당했어요. 아마 익스플로잇을 개발하려는 것처럼 보였나 봐요. 정적 코드 분석 도구를 잘못된 상태로 몰아넣었는데, 그 도구는 그 상태를 깔끔하게 보고하고 멈추는 식으로 처리했거든요. 그것도 인터프리터 언어에서요. 컨텍스트에는 이 일이 왜, 어떻게 일어나는지 Claude 스스로 추적한 기록이 가득했는데도요.

    이론적으로요? 그야 이론상으로는 현실적으로 거의 모든 게 나쁜 일에 쓰일 수 있겠죠.

    현실적으로는요? 전혀 쓸모없어요.

    웃기는 건 Claude가 왜 차단됐을 수 있는지를 기꺼이 이야기해 주고, 가드레일을 우회해 볼 방법까지 제안했다는 거예요. 제보하려는 정확한 버그 트래커 같은 맥락을 넣어서 ‘버그를 제보하는 선량한 사용자’라는 쪽에 무게를 실어 보라더군요.

  8. dd8601fn HN

    이런 건 상당 부분 실제 모델과는 별개의 분류기를 쓰더라고요.

    모델이 어떤 금지 조치나 다운그레이드가 오탐이라고 인정하면서 새 세션을 시작하라고 한 적도 있어요.

    어떤 건 한 번 트립와이어를 건드리면 그 세션은 끝장이에요.

  9. aiisjustanif HN

    어떤 용도인지 궁금하네요. 저는 Sonnet으로 내부자 위협 조사와 탐지 엔지니어링을 매일 하는데 문제없었거든요.

  10. nucleardog HN

    제 사례는 형제 댓글에 올렸는데, 올리기 전에 이 댓글을 못 봤네요.

    우리 코드베이스를 돌리다가 정적 코드 분석 도구(PHP로 작성된, PHP 코드를 분석하는 도구)가 크래시했어요. 여기서 크래시란 인터프리터가 세그폴트를 낸다든가 하는 심각한 게 아니라, 내부적으로 잘못된 상태에 이르자 그걸 알아채고 오류와 함께 깔끔하게 종료하면서 뭔가 잘못됐다고 알려 준 거예요. Claude에게 뭐가 문제인지, 우리 코드베이스가 어떻게 그걸 유발하는지 추적하게 했어요. 그런 다음 버그 리포트에 넣을 최소 재현 코드를 만들어 달라고 했더니 가드레일이 발동해서 답변을 거부했어요. 왜 그런지 Claude에게 물었더니, 제가 하던 일이 익스플로잇 개발처럼 보여서라고 하더군요.

  11. theptip HN

    HF는 Daybreak나 Glasswing 같은 (오픈소스에는 무료인) 프로그램에 가입하지 않은 상태였습니다.

  12. incognition HN

    흥미롭게도 기사에 이런 내용이 있습니다.

    저는 Daybreak Blue 토글을 써서도 시도해 봤지만 결과는 같았습니다. 차단당했습니다.

  13. throwa356262 HN

    참고로 그런 프로그램은 가장 먼저 국적을 확인해요.

    착한 나라 명단에 오른 나라가 몇 개나 될 것 같아요?

  14. theptip HN

    HF는 미국 회사라서 제 요지와는 상관없는 얘기예요.

  15. Den_VR HN

    와, 정말 마음이 놓이네요.

  16. theptip HN

    HF는 분명히 더 안전해졌을 거예요.

  17. jacquesm HN

    멋진 추적이네요!

    저희는 아직 엠바고 중인 문서를 표시하려고 비슷한 방식을 쓰는데, 하루는 워터마크 지우는 걸 깜빡했어요. 고객이 문서를 못 받았다고 항의했고(제가 보낸 지 하루이틀 뒤였어요) 한참을 뒤졌죠. 결국 그쪽 Outlook 로그에서, 워터마크 때문에 누군가 살펴볼 때까지 파일이 무기한 격리됐다는 줄을 찾아냈어요.

    그때서야 제 실수를 깨달았고, 물론 곧바로 고쳤어요. 그래도 그게 제대로 작동한다는 첫 증거이긴 해서, 좀 기쁘기도 했어요.

  18. uzerfcwn HN

    문서가 그쪽에서 격리됐다면 엠바고 워터마크가 정말 제구실을 한 걸까요? 엠바고라는 건 보통 데이터가 자기 조직의 시스템 밖으로 나가면 안 된다는 뜻 아닌가요?

  19. Aachen HN

    아무도 못 봤으면 결국 같은 거 아닌가요? 그게 믿을 만하다는 얘기는 아니에요. 그 시점에 누구 통제 아래 있었느냐 같은 기술적 세부를 따질 수는 있겠지만, 요점은 그게 아니죠.

  20. andai HN

    누군가 살펴볼 때까지 파일이 무기한 격리됐다는

    그 ‘누군가’가 문서를 보낸 상대가 아닌 다른 사람이라는 건가요?

  21. jacquesm HN

    저와 같은 NDA를 맺은 사람입니다.

  22. Geezus_42 HN

    보통은 조직의 이메일 관리자가 이메일 격리함을 감시할 책임을 집니다.

  23. DANmode HN

    불편한 질문이네요.

  24. cubefox HN

    해커뉴스에 LLM 출력을 인용하면, 스팸과 아무 상관 없는 인용이라도 글이 플래그를 받고 섀도밴(“dead”)될 가능성이 높다는 점도 알아 두세요. 해커뉴스가 이제 Pangram으로 모든 댓글에 LLM 콘텐츠가 있는지 검사하는 모양입니다.

  25. blauditore HN

    정곡을 찌르셨습니다! 해커뉴스는 AI가 생성한 콘텐츠를 섀도밴해 왔습니다.

    이는 단순한 스팸 필터가 아닙니다. 온라인 커뮤니티에서 가장 소중한 가치인 인간적 요소를 존중하는 혁신적인 방식입니다.

    제 엉덩이에서 시 한 편 뽑아 드릴까요?

  26. CoastalCoder HN

    제 엉덩이에서 시 한 편 뽑아 드릴까요?

    처음엔 ‘그런 농담은 레딧에서나 하세요’라고 생각했어요.

    그런데 이제는 이게 어느 서브레딧에 어울리는지 궁금해지네요.

  27. red-iron-pine HN

    거기 봇이 얼마나 많은지 생각하면 대부분이겠죠

  28. goodmythical HN

    제 엉덩이에서

    시 한 편을 뽑아내

    읽어 드릴까요?

  29. gertrunde HN

    AI 출력일 리가 없네요, 둘째 줄 음절이 너무 많거든요...

    하지만 “Pull poems out of my ass”(엉덩이에서 시를 뽑아내다)라면 맞겠네요 ;)

  30. gavinray HN

    그런데 둘째 줄은 7음절 아닌가요?

Hacker News에서 보기 ↗