Google 개발자 문서 사이트에서 9만 달러짜리 원격 코드 실행 취약점을 발견하다
I Found a $90k Remote Code Execution Vulnerability in Google

Google의 공유 DevSite 플랫폼에서 OAuth 흐름을 조사하던 중, Flask 세션 쿠키에 pickle 직렬화된 OAuth 클라이언트 비밀과 서명 키가 평문으로 포함된 것을 발견했다. 이 키로 세션을 위조해 pickle.loads를 통해 원격 코드 실행이 가능했고, time.sleep으로 지연을 측정해 증명했다. developers.google.com의 키가 firebase.google.com 등 여러 도메인에서 유효했다. Google은 9만 달러의 포상금을 지급하고 수정했다.
서명 키가 서명하는 객체 안에 저장되어 있었다.
HN 토론
84- option_greek
이런 게 어떻게 코드 리뷰와 설계 리뷰를 통과했지? 이 코드 AI가 작성한 거야 (버그 있는 코드 말이야). 쿠키에 서명하는 키가 쿠키 자체 안에 들어 있었을 뿐만 아니라, 모델 가중치조차 멀리하는 pickle을 쓰고 있잖아. 이 근본 원인의 초보적인 성격에 좀 어안이 벙벙하네.
- stonyrubbish
버그 바운티를 꿈꾸는 사람들에게 조언이 있나요? 이런 취약점을 찾아낼 수 있는 방법이 있나요, 아니면 많은 과거 경험 덕분인가요?
- EdwardDiego
대담한 선택이네, 'Claude' 대신 '나'라는 명사를 반복해서 쓰다니 - 당신이 이걸 알아낸 게 아니라 Claude가 알아냈고, 그 다음 Claude가 아주 명백하게 블로그 글을 썼잖아.
아, 아마 그래서 'Claude'가 '나'로 대체된 거겠지. Claude가 이 블로그 글을 1인칭 시점으로 썼으니까.
- consumer451
메타 발언이라 죄송하지만, 많은 댓글의 담론이 나에겐 정말 이해가 안 가네요.
"Claude가 한 거지, 당신이 한 게 아니다" - 그럼 인간이 LLM을 사용할 때 전혀 주체성이 없다는 뜻인가요? 그게 논점인가요?
어쩌면 "나는 ___를 사용해 RCE를 찾는 데 도움을 받았다"처럼 LLM과 하네스를 명시하는 게 규범이 되어야 할지도 모르겠네요. 하지만 어떤 경우에는 그렇게 하지 말아야 한다는 주장도 이해가 갑니다.
edit: 이걸 둘러싼 거대한 스레드가 지금 플래그 처리되어서, 일부 사용자는 못 볼 수도 있습니다.
- iJohnDoe
만약 이게 Microsoft였다면, 추수감사절 칠면조 10% 할인 쿠폰을 받았겠지. 2030년에만, 그것도 3월에만 사용 가능하고, 현금으로만 구매해야 하고, 양도 불가.