Skip to content

친구가 바이브코딩으로 만든 서비스 5분만에 털었습니다ㅋㅋ

바이브코딩으로 만든 서비스의 보안 취약점을 5분 만에 뚫은 경험과 필수 보안 체크리스트 5가지를 소개합니다.

Key Takeaways

  • 바이브코딩 서비스 보안은 설정 오류가 가장 큰 취약점이다.
  • 어드민 페이지 등 중요 페이지는 반드시 인증 미들웨어로 보호해야 한다.
  • 슈퍼베이스 사용 시 RLS 설정을 통해 데이터 접근 권한을 철저히 관리해야 한다.
  • 비밀번호 입력 제한 등 기본 보안 조치를 적용하지 않으면 쉽게 계정이 탈취될 수 있다.
  • AI 코딩 지원을 받더라도 보안 설정에 대한 이해와 점검이 필수적이다.

What the video covers

  • 친구가 바이브코딩으로 만든 유료 구독 서비스의 보안이 매우 취약해 5분 만에 쉽게 뚫었다.
  • 바이브코딩 서비스의 보안 문제는 주로 코드가 아닌 설정에서 발생하며, 접근 권한 설정 실수가 가장 큰 원인이다.
  • 어드민 페이지 및 주요 페이지에 인증 미들웨어를 반드시 적용해 접근을 제한해야 한다.
  • 슈퍼베이스를 사용하는 경우 RLS(로우 레벨 시큐리티) 설정을 통해 데이터 접근 권한을 엄격히 관리해야 한다.
  • 비밀번호 입력 횟수 제한(레이트 리밋)과 같은 기본적인 보안 조치를 반드시 적용해야 브루트 포스 공격을 막을 수 있다.
  • AI가 코딩을 도와주지만, 보안 설정에 대한 지식과 요청이 중요하며, 단순히 기능 구현만으로는 보안이 확보되지 않는다.
  • 서비스 경로를 너무 뻔하게 설정하면 공격자가 쉽게 접근할 수 있으므로 경로 설정도 신중해야 한다.
  • 유료 구독 서비스에서 개인정보가 유출될 경우 심각한 법적 문제(개인정보 보호법 위반)가 발생할 수 있다.
  • 보안은 어렵지만 최소한의 체크리스트를 통해 기본적인 취약점은 반드시 점검해야 한다.
  • 바이브코딩 사용자라면 누구나 겪을 수 있는 문제이므로 보안 의식을 높이고 설정을 꼼꼼히 확인해야 한다.

Answers

Questions about this video

바이브코딩으로 만든 서비스에서 가장 흔한 보안 취약점은 무엇인가요?

가장 흔한 보안 취약점은 접근 권한 설정 실수로, 어드민 페이지나 주요 페이지에 인증 미들웨어가 적용되지 않아 누구나 접근할 수 있는 경우입니다.

슈퍼베이스를 사용할 때 보안을 강화하려면 어떻게 해야 하나요?

슈퍼베이스에서는 RLS(로우 레벨 시큐리티)를 설정해 데이터베이스 접근 권한을 엄격히 관리해야 하며, 이를 통해 불필요한 데이터 노출을 방지할 수 있습니다.

AI가 코딩을 도와줘도 보안이 취약한 이유는 무엇인가요?

AI는 기능 구현에 집중하지만, 보안 설정이나 권한 관리 같은 세부적인 보안 조치는 요청하지 않으면 적용하지 않기 때문에 사용자가 보안 지식을 갖고 직접 설정해야 합니다.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
솔직히 말씀드리겠습니다. 친구가 바이브 코딩으로 만든 서비스 제가 5분 만에 뚫었습니다.
00:18
Speaker A
여러분들 바이브 코딩으로 서비스 만들다 보면은 아, 이거 보안 이래도 되나 싶은 불안감 들죠.
00:34
Speaker A
근데 그 불안감 정확히 맞습니다. 제가 친구가 바이브 코딩으로 서비스를 만들었는데 그 유료 구독자도 이제 받고 있었거든요.
00:52
Speaker A
근데 불안해서 저한테 이제 부탁을 했어요. 나름대로 또 제가 꼬리 전공자라고 야, 너 한번 내가 바이브 코딩으로 서비스 만들었는데 뚫을 수 있으면 한번 뚫어봐 달라.
01:07
Speaker A
나 이거 지금 뭐가 문제인지 모르겠다. 뭐 코드를 보여 주진 않는 상태에서 제가 한번 뚫었을 때 뚫리면은 그럼 다른
01:18
Speaker A
사람들도 뚫리는 거 아니냐라고 해서 제가 뚫어 봤거든요. 근데 너무 허무하게 뚫렸어요.
01:39
Speaker A
그러니까 좀 노력이라도 했으면은 뭐 상관없는데 너무 허무하게 뚫렸어요. 5분이면 뚫었습니다.
01:53
Speaker A
근데 이게 제 친구만의 문제가 아닌 거 같더라고요. 그래서 제가 오늘 한번이 비전공자 바이브 코더들을 위해서 제가 보안
02:12
Speaker A
체크리스트를 최소한 이게 보안이 어려운 건 알거든요. 근데 최소한 요거는 그래도 검증을 하고 넘어가는 게 좋다라는 것들 다섯 가지 한번 가져와 봤습니다.
02:28
Speaker A
아마 바이브 코딩으로 서비스 배포하시는 분들 상당수가 비슷한 구멍을 갖고 있을 거예요.
02:46
Speaker A
어려운 얘기는 제가 최대한 빼겠습니다. 뭐 SQL 인젝션 같은 뭔가 막 듣기만 해도 어지러운 그런 것들 빼고 진짜 바이브 코딩으로 뭔가 서비스를 만들었을 때 요구는 알아야 된다. 핵심부터 말씀드리겠습니다.
03:03
Speaker A
바이브 코딩 서비스의 보안 구멍은 코드가 아니라 설정에 있습니다. 설정. WASP라는 국제 보안 기관이 이제 매년 가장 위험한 취약점 톱 10을 발표를 하거든요.
03:17
Speaker A
근데 2021년부터 계속 1위가 혹시 뭔지 아시나요? 이게 접근 권한 설정 실수예요. 코드를 못 자서가 아니라 문을 안 잠가서 뚫리는 거예요.
03:34
Speaker A
AI한테 서비스 만들어 줘 하면 이제 기능은 잘 만들어 주거든요. 근데 이 페이지는 관리자만 볼 수 있게 해 줘라고 안 시키잖아요.
03:50
Speaker A
그럼 AI는 아직까지는 안 하는 거 같아요. 제가 볼 때 요것도 조만간 이제 금방 괜찮아질 것 같긴 한데 아직까진 안
04:06
Speaker A
되고 이미 바이브 코딩으로 뭔가 서비스를 만들었던 분들이라면은 안 돼 있을 가능성이 큽니다. AI는 식힌 것만 하거든요.
04:12
Speaker A
그래서 설정 구멍이 생기는데 여기에서 접근을 어떤 걸 해야 될지 제가 하나씩 알려 드리겠습니다. 첫 번째 어드민 페이지를 잠그세요.
04:26
Speaker A
그리고 어드민뿐만 아니라 그 페이지 권한 설정을 잠궈야 돼요.
04:45
Speaker A
자, 여러분들 서비스 주소가 다 있을 거예요. 근데 제가 이거 친구 서비스 뚫은 이유 중에 하나가 친구가 이제 그 서비스 주소 도메인에 낸 거예요. 난리피.
05:03
Speaker A
그래서 제가 딱 보니까 이거 난리피로 배포했으니까 그 데이터베이스는 슈퍼베이스를 썼겠다 해가지고 그냥 아무것도 안 했어요.
05:15
Speaker A
그냥 일단은 그 서비스 있죠? 그 서비스 딱 들어가니까 로그인 화면이 보였는데 거기에 슬래시 어드민 하니까 관리자 페이지가 그냥 떴어요.
05:31
Speaker A
그래서 내가 이거 뭐지라고 했는데 그 친구도 당황하더라고요. 그리고 어드민 말고도 슬래시 메인 하니까 그 서비스 메인 화면으로 로그인도 안 했는데
05:48
Speaker A
들어가셨어요. 물론 이제 로그인을 해야 그 서비스 메인 화면에서의 뭐 작동을 이제 용이하게 할 수 있긴 했는데 문제는 이제 메인 페이지에도 원래는 접근이 되면 안 돼요.
06:04
Speaker A
이게 큰일 난 거예요, 사실은. 그러니까 예를 들면 이런 거지. 이제 가게에서 금고가 있는데 이거를 이제 징열장
06:11
Speaker A
위에 올려 놓은 거예요. 자물쇠는 걸려 있을 수 있거든요. 근데 이 금고가 보이는 것부터 문제예요. 이러면 안 돼요.
06:26
Speaker A
특히 구독 서비스는 어드민 페이지나 이제 메인 페이지 안에 비즈니스 로직이 들어가 있는 경우가 되게 많거든요.
06:37
Speaker A
근데 이게 URL 하나로 그냥 뚫려 버리면은 공격 시작점이 됩니다. 공격 시작점.
06:48
Speaker A
이거는 근데 이제 해결 방법은 간단해요. 이제 어드민 라우트에 인증 미들웨어만 걸면 됩니다. 이게 어려운 표현 같은데 그냥 AI한테 그냥 어드민 페이지에 잠금 걸어 줘라고 하던가 아니면 어드민 페이지에 뭐 인증 미들웨어 걸어 줘라고 말하면 돼요.
07:08
Speaker A
요즘에는 AI가 이제 코딩을 다 해 주다 보니까 어떤 거를 해 달라고 요청할 것인가라는 거에 대한 지식을 알고 있으면 돼요. 그게 더 중요해요. 제가 볼 때는.
07:23
Speaker A
그래서 어드민 라우트의 인증 미들웨어 걸어 달라고 하면은 아마 이제 AI가 알아서 잘 해 줄 거라고 생각을 합니다.
07:38
Speaker A
그리고 추가적으로 웬만하면은 이제 AI한테 만들어 달라면 이제 페이지들을 슬래시 어드민 아니면 슬래시 메인 아니면 뭐 슬래시 뭐 샌드 이런 식으로 좀 뻔한 경로를 만들어 주는데 권한 설정 같은 것 좀 해도 불안하다 하면은 아예 경로를 뻔한 걸로 하지 마세요.
07:56
Speaker A
뭐 어드민 말고 뭐 에이셉 뭐 이런 거 하면은 글쎄요. 모르겠습니다. 그냥 방금 생각났는데 하여튼 뭔 느낌인지 알죠?
08:09
Speaker A
자, 좋습니다. 자, 두 번째는 슈퍼베이스 쓰시는 분들 요거 집중하셔야 되는데 RLS라는 게 있거든요. 이거 뭐 어려운 단어 나왔다라고 해서 겁 먹을 필요 없고 그냥 이제 AI한테 한번 물어보시면 아는데 이거는 좀 중요한 요소예요.
08:27
Speaker A
아마 난리피나 버셀 같은 거 쓰시는 분들은 슈퍼베이스를 쓰시는 분들이 굉장히 많거든요. 이게 버셀하고 워낙 찰떡이라 가지고 바이브 코더들 사이에서는 거의 국룰인데 슈퍼베이스에서 언론 키라는 게 있거든요. AN.
08:31
Speaker A
근데 이게 클라이언트에 보이거든요. 그 근데 이거는 원래 설계상 정상이긴 해요.
08:47
Speaker A
근데 문제는 RLS 있죠? 이게 로우 레벨 시큐리티라는 거를 설정을 해야 돼요. 이게 뭐냐면은 아파트 공용 출입구 비밀번호라고 생각하시면 되거든요.
09:06
Speaker A
그러니까 출입구 비밀번호는 뭐 누구나 알 수 있어요. 근데 각 집에 현관문 비밀번호는 뚫리면 안 되잖아요. 그렇죠?
09:21
Speaker A
이 현관문 안 잠겨 있으면 누구나 이제 집에 들어와서 집 구경할 수 있는데 그거는 심각한 보안 문제거든요. 제 친구가 딱 서비스가 이랬어요.
09:33
Speaker A
이제 API 제가 한번 호출해 가지고 어 이거 뭐야? 왜 권한 설정 안 돼 있지?
09:50
Speaker A
해가지고 제가 그냥 또르룩 쏴 버리니까 이메일 이름 결제 내역 다 나왔어요. 그리고 심지어 여러분들이 이제 바이브 코딩으로 만들잖아요.
10:06
Speaker A
보통 이제 백엔드 기본 중에 하나가 여러분들 막 네이버에서 로그인 몇 번 하다가 안 되면은 막 캡차해 가지고 막 뭐 뭐라
10:27
Speaker A
해야 되지? 보안 특수 문자 입력 막 그런 거 입력하라 하잖아요. 그런 게 이유가 있는 거예요.
10:38
Speaker A
이유가 제가 방금 친구 이메일 뭐 이름 결제 내 이런 거 나왔다 했잖아요. 거기에서 비밀번호가 레이트 리밋 그러니까 비밀번호 뭐 입력 횟수 제한을 안 걸어 뒀어요.
10:57
Speaker A
그렇게 되면은 브루트 포스 그러니까 제 입장에서는 그냥 컴퓨터한테 어 이거 그냥 1부터 예를 들어서 비밀번호가 100까지 중에라고 한다고 하면은 그냥 이거 1부터 100까지 다 넣어서 뚫을 때까지 그냥 뚫어 줘 하면 순식간에 뚫립니다. 순식간에.
11:16
Speaker A
그러면 이제 어떤 현상이 발생하는지 알아요? 자, 유료 구독 서비스가 되어 있는데 제가 모든 그 유료 구독자들이 이메일이랑 비밀번호 정보를 알고 있는 거예요.
11:35
Speaker A
그러면은 막말로 제가 들어가 가지고 뭐 결제 모델 뭐 바꿔 버리는 거 아니면 데이터 삭제해 버려도 알 수가 없는 거예요.
11:56
Speaker A
물론 뭐 이제 알려고 하면 IP나 이제 슈퍼베이스의 기록이 남겠지만 로그가. 근데 그래도 일단 이러면 안 된다는 거죠. 이런 보안 리스크가 있으면 안 된다는 거죠. 최소한 유료 서비스라고 하면은.
12:06
Speaker A
그래서 이것도 여러분들께서 좀 주의 깊게 아셔야 되는 겁니다. 그리고 특히 이거는 진짜 개인정보 보호법 위반이에요. 이게 제 친구가 도와달라 해서 요런 걸 해 준 거지.
Topics:바이브코딩보안취약점어드민페이지슈퍼베이스RLS인증미들웨어유료구독서비스개인정보보호브루트포스AI코딩

Get More with the SozAI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →