Vercel의 새로운 Claude Code 설정, AI 코딩의 유일한 문제를 해결하다
AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00AI 덕분에 누구나 코딩을 할 수 있게 되었고, 사람들은 훨씬 더 빠른 속도로
00:00:04코드를 배포하기 시작했습니다.
00:00:05하지만 그보다 더 빠른 속도로, 앱 내부의 보안 문제들이 쌓이기 시작했습니다.
00:00:09그리고 지난 몇 달 동안 상황은 실제로 더 악화되었습니다.
00:00:12AI 에이전트가 누군가의 프로젝트 전체를 삭제해 버린 사례가 많이 발생했습니다.
00:00:16또 다른 에이전트는 개발자가 전혀 상관없는 작업을 하는 동안
00:00:20운영 데이터베이스 전체를 삭제하기도 했습니다.
00:00:22애플의 내부 Clod.md 파일이 유출된 것과 같은 유사한 문제들도 많았습니다.
00:00:26그래서 이러한 문제를 실제로 잡아낼 수 있는 도구가 이전보다 더 중요해졌습니다.
00:00:30이러한 문제의 증가를 보고, Vercel은 AI 생성 애플리케이션의 보안 위반을 감지하는
00:00:35DeepSec이라는 보안 하네스를 방금 출시했습니다.
00:00:37여러분은 Clod code가 에이전트를 통해 스스로 보안 리뷰를 할 수 있다고 생각하실지 모릅니다.
00:00:42그렇다면 왜 애초에 DeepSec이 필요한 걸까요?
00:00:44DeepSec은 리뷰를 훨씬 더 체계적으로 처리하는 구조화된 도구이기 때문입니다.
00:00:49내부적으로는 Clod code나 Codex 같은 코딩 에이전트를 사용하고 있습니다.
00:00:52이 도구는 워크플로우 속도를 높이는 병렬 설계를 지원하고 코드를 여러 그룹으로 묶기 때문에
00:00:57대규모 저장소를 스캔하는 데 설계되어 있으며,
00:01:01대규모 코드 베이스를 리뷰하는 데 완벽합니다.
00:01:03이 도구는 비용 효율성을 염두에 두고 만들어진 것은 아닙니다.
00:01:06가장 강력한 모델인 Clod code Opus 4.7(최대 성능)과
00:01:10GPT 5.5(초고도 추론)를 사용하며, 둘 다 엄청난 양의 토큰을 소비합니다.
00:01:16그리고 이들을 병렬로 실행하면 토큰 사용량이 빠르게 쌓여 비용이 증가합니다.
00:01:20이미 여러 유명 앱이 이 하네스를 코드 베이스에 실행하여 좋은 결과를 보고했습니다.
00:01:25테스트 결과, 이 도구의 오탐률(False Positive)은 약 10-20%였습니다.
00:01:30일반적인 LLM의 정확도를 고려할 때 이 수치는 상당히 의미가 있습니다.
00:01:33반대로 말하면, 에이전트가 대부분의 경우 정확하며
00:01:37정탐률(True Positive)이 높다는 것을 의미합니다.
00:01:38이 도구를 차별화하는 것은 바로 배후의 아키텍처입니다.
00:01:40Clod code나 다른 에이전트에게 보안 리뷰를 요청하면 코드 베이스를 직접 스캔한 다음
00:01:45전체 리뷰 보고서를 생성하기 시작할 것입니다.
00:01:48그것은 시간이 많이 걸릴 뿐만 아니라 토큰도 많이 소비하며,
00:01:52여전히 리뷰에서 놓치는 부분이 있을 수 있습니다.
00:01:53따라서 이 워크플로우의 첫 번째 부분은 정규 표현식(RegEx) 전용 스캔을 수행하여
00:01:58다음 단계에서 집중할 보안 민감 영역을 모든 파일에서 찾아내는 것입니다.
00:02:01수천 개의 파일이 있을 수 있는 대규모 코드 베이스를 위해 설계되었으므로
00:02:06여기서 RegEx 감지는 매우 중요합니다.
00:02:08RegEx 매칭은 보안 취약점이 있을 가능성이 높은 알려진 영역과 일치하는 코드 패턴 시리즈로,
00:02:13거대한 파일 풀에서 해당 파일들을 필터링합니다.
00:02:16대규모 파일 풀이 필터링되면, 다음 단계는 에이전트를 이용한 조사입니다.
00:02:21에이전트는 많은 토큰을 소비하고 코드 베이스 크기에 따라 보통 오랜 시간이 걸리는
00:02:25비싼 부분입니다.
00:02:28그래서 이 도구는 모든 파일을 배치로 나누고 병렬화하여
00:02:32동시에 처리할 수 있도록 합니다.
00:02:34그 프로세스가 완료되면 조사가 다시 확인되어
00:02:37오탐을 교차 점검하는 재검증 단계가 있습니다.
00:02:40무언가 누락된 경우 이를 잡아내어 분류가
00:02:45올바르게 되었는지 확인합니다.
00:02:46이 재검증은 사실 선택 사항입니다.
00:02:47그 후, 에이전트는 Git 메타데이터 및 기타 소스를 사용하여
00:02:51어떤 사람이 어떤 문제에 책임이 있는지 식별합니다.
00:02:53이 모든 작업이 완료되면 결과는 마크다운이나 JSON으로 저장되어
00:02:57사람이나 코딩 에이전트를 위한 티켓으로 전환될 수 있습니다.
00:03:01앞서 언급했듯이, 파일은 배치당 약 5개씩 묶여서
00:03:05함께 처리됩니다.
00:03:06각 배치마다 식별된 프레임워크와 기타 프로젝트 정보를 기반으로
00:03:11새로운 프롬프트가 구성됩니다.
00:03:12그런 다음 설정한 Clod Agent SDK 또는 Codex Agent SDK를 통해 분석되며,
00:03:17코드 베이스 내용을 이해하기 위해 읽기 전용 권한이 있는 도구가 제공됩니다.
00:03:22결과가 나오면 모든 것이 중복 제거 및 정규화되어
00:03:26단일 파일로 병합됩니다.
00:03:27마지막으로 분석이 실제로 모든 것을 다루었는지 확인하는 후속 단계가 있습니다.
00:03:31이러한 아키텍처는 체계적인 프로세스와 구조화된 분석 방식 덕분에 효과적이며,
00:03:36하네스 없이는 불가능했던 방식으로 문제를 훨씬 더 잘 식별할 수 있게 해줍니다.
00:03:41이를 테스트하기 위해 실습용 보안 위험이 내장된
00:03:45오픈 소스 프로젝트인 웹 애플리케이션을 사용했습니다.
00:03:47우리는 이 도구가 해당 저장소의 모든 문제를 스스로
00:03:52감지할 수 있는지 보고 싶었습니다.
00:03:53이 프로젝트에는 10개의 보안 문제가 포함되어 있으며, 제거 방법까지 포함한
00:03:56모든 세부 사항이 코드 자체에 직접 명시되어 있습니다.
00:03:58DeepSec을 실행하려면 먼저 종속성을 설치하고 .deepsec 폴더를 생성하는
00:04:03deepsec init 명령을 실행한 다음 해당 폴더 안에 종속성을 설치합니다.
00:04:08또한 사용하는 코딩 에이전트에 붙여넣어야 하는 프롬프트도 제공합니다.
00:04:12우리는 Clod code를 사용하고 있었기 때문에, 특정 템플릿을 기반으로
00:04:16모든 프로젝트 정보를 포함하는 작은 info.md 파일을 생성하라는
00:04:21지침이 담긴 프롬프트를 Clod에서 실행했습니다.
00:04:23이 명령은 프로젝트 폴더 자체가 아니라 .deepsec 폴더에서 실행해야 합니다.
00:04:27에이전트에게 상위 디렉토리를 살펴보고 그 안의 모든 정보를
00:04:31읽으라고 지시하기 때문입니다.
00:04:32info.md 파일에는 코드 베이스의 일반적인 개요와 인증 흐름,
00:04:37그리고 위협 모델, 프로젝트별 패턴, 코드 내의 모든 알려진
00:04:42오탐 정보가 포함되어 있습니다.
00:04:44파일이 생성되면 다음 작업은 deepsec scan 명령을 실행하는 것입니다.
00:04:48이 명령은 앞서 언급한 RegEx 매처이며 일치하는 모든 엔드포인트를 찾고
00:04:52잠재적인 보안 문제가 있는 필터링된 파일들을 나열합니다.
00:04:57이 부분은 단순히 코드가 작동하는 것이라 빠르게 진행됩니다.
00:05:00다음 단계는 deepsec process 명령을 실행하는 것입니다.
00:05:02Vercel API 게이트웨이, Codex, Clod 중 사용하려는 모델의 API 키를
00:05:07.env.local 파일에 지정할 수 있습니다.
00:05:11하지만 저희처럼 지정하지 않으면 자동으로 Clod code 구독으로 기본 설정되어
00:05:16API 키 대신 인증 정보를 사용합니다.
00:05:19프로젝트를 배치로 나누고 각 배치에 대해 여러 도구를 호출합니다.
00:05:23각 배치가 끝날 때마다 얼마나 많은 토큰이 사용되었는지와
00:05:27예상 비용이 얼마인지 요약해 줍니다.
00:05:28구독형을 사용하는 경우 구독료 외에 추가 비용이 청구되지는 않지만
00:05:32여전히 API 비용에 대한 추정치를 제공합니다.
00:05:35이 도구는 대규모 코드 베이스 리뷰를 위해 설계되었으므로 안정성을 염두에 둡니다.
00:05:39따라서 리뷰 중 오류가 발생하더라도 처음부터 다시
00:05:43시작하지 않고 오류가 발생한 지점부터 계속 진행합니다.
00:05:46스캔이 완료되면 deepsec report 명령을 실행합니다. 그러면 심각도 수준별로 분류된
00:05:50모든 결과의 일반적인 개요가 포함된 보고서가
00:05:55JSON과 마크다운 형식으로 생성됩니다.
00:05:56보고서가 생성되면 재검증 단계를 실행할 수 있습니다.
00:06:00이 단계는 전적으로 선택 사항입니다.
00:06:02원하면 실행하고 아니면 완전히 건너뛸 수 있습니다.
00:06:04실행하면 발견된 보고 내용이 오탐인지 아닌지
00:06:08검증합니다.
00:06:09그 후 export 명령을 사용하여 모든 것을 내보낼 수 있으며,
00:06:13결과를 findings 폴더에 기록합니다.
00:06:15이 findings 폴더에는 우선순위에 따라 이름이 지정된 폴더가 생성되고
00:06:20식별된 문제마다 하나의 파일이 생성됩니다.
00:06:22파일에는 먼저 이슈의 소스, 즉 이슈를 유발하는 정확한 파일과 코드 라인,
00:06:26심각도, 그리고 모델이 이슈를 식별할 때의 확신도가 나열됩니다.
00:06:30또한 어떤 커밋에서 이슈가 발생했는지 언급하고 해당 커밋을 한 사용자를 할당합니다.
00:06:34그다음 권장 수정 사항을 설명하고, 재검증 결과를 나열하며
00:06:39명시적으로 다루어진 모든 이슈를 언급합니다.
00:06:41또한 발견된 내용 안에 버그를 재현하는 단계도 포함되어 있습니다.
00:06:44하지만 이 보고서는 튜토리얼이 코드 자체에 포함되어 있어
00:06:48식별할 수 있어야 함에도 불구하고 여전히 모든 이슈를 식별하지는 못했습니다.
00:06:52그래서 우리는 디자인상 앱에 포함된 원래의 취약점 레슨들이
00:06:56왜 식별되지 않았는지 Clod와 함께 반복적으로 논의했습니다.
00:06:59Clod와 반복 작업한 결과, 이 도구가 3개의 결과만 보고한 이유는
00:07:03info.md 파일의 명시적인 언급 때문이라는 것을 발견했습니다.
00:07:07DeepSec은 10개의 취약점이 이미 알려진 앱을 예상했고,
00:07:12알려진 이슈들 외의 다른 이슈들에만 집중했습니다. 즉, 이미 문서화된 이슈에
00:07:16시간과 토큰을 낭비하지 않고 스캔 효율을 높이기 위해
00:07:21다른 패턴에만 집중하도록 설계되었기 때문입니다.
00:07:25우리는 이번에 더 잘하는지 확인하기 위해 다른 앱을 테스트했습니다.
00:07:28스캔부터 프로세싱 단계까지 동일한 단계를 실행했습니다.
00:07:32재검증 부분은 실행하지 않고 보고서를 생성해 직접 내보냈습니다.
00:07:36이번 Clod의 info.md 파일은 앱에 대한 세부 정보만 포함했고
00:07:42이전과 같은 문구는 포함하지 않았습니다.
00:07:43비교를 위해 Clod에게도 코드를 검토하고 report.md 파일을 작성하도록 요청하여
00:07:48어떤 것이 실제로 더 성능이 좋은지 비교해 보았습니다.
00:07:52DeepSec이 생성한 보고서는 다양한 심각도의 여러 버그를 찾아냈습니다.
00:07:569개의 이슈를 찾아냈고 수정 방법에 대한 권장 단계와 함께
00:08:01상세 보고서를 작성했습니다.
00:08:02대부분의 다른 보고서가 놓치는 이 권장 단계는 에이전트가 이슈를 수정하는 방법을
00:08:05이해하도록 도와주어 디버깅을 훨씬 쉽게 만들어 줍니다.
00:08:09하지만 Clod의 보고서가 훨씬 더 상세했고 39개의 이슈를 강조했다는 것을 알게 되었습니다.
00:08:13그래서 먼저 차이점(diff)을 만들어달라고 요청했습니다.
00:08:15그 결과 Clod가 찾은 숫자가 더 컸습니다.
00:08:18하지만 우리는 이미 Codex로 테스트할 때 이것을 본 적이 있었습니다.
00:08:20Clod는 진행 과정에서 범위 밖의 다른 문제들까지 식별하는 경향이 있습니다.
00:08:24DeepSec이 특별히 설계된 범위 내의 이슈에만 집중하지 않았던 것이죠.
00:08:29그래서 범위에만 집중하도록 요청하자 결과가 13개 이슈로 좁혀졌습니다.
00:08:34그럼에도 불구하고 DeepSec이 놓치고 Clod의 보고서에서 식별된 이슈들이 몇 개 있었습니다.
00:08:38DeepSec이 몇 가지 결과를 놓친 이유는 코드가 직접 포함하고 있고
00:08:43함수 자체에서 직접 해결할 수 있는 이슈에만 집중하기 때문입니다.
00:08:47CORS 관련 문제처럼 앱이 실제로 실행될 때 발생할 수 있는 이슈는
00:08:52식별하지 못합니다.
00:08:53또한 논리적 패턴이나 아키텍처 결정에도 크게 집중하지 않습니다.
00:08:57앞서 언급했듯이, 먼저 RegEx를 사용하여 파일을 필터링합니다.
00:09:01따라서 애플리케이션 실행 시 동적으로 발생할 수 있는 이슈보다는
00:09:05코드에 명시적으로 존재하는 것에 주로 집중합니다.
00:09:08저희 콘텐츠가 마음에 드신다면, 더 많은 콘텐츠를 제작하고 더 많은 분들께
00:09:12다가갈 수 있도록 'Hype' 버튼을 눌러주세요.
00:09:15이제 이 단계들을 직접 하나씩 실행하는 대신, Vercel 보안 스캐너를
00:09:20처음부터 끝까지 사용하는 모든 지침이 포함된 DeepSec 스킬을 만들었습니다.
00:09:24사용자의 프롬프트에서 요청 사항을 식별하는 방법도 포함되어 있죠.
00:09:28그다음 전체 단계별 프로세스를 따르며 하네스 전체를 스스로 관리합니다.
00:09:32또한 모든 이슈에 대한 참조와 평가(eval), 자산뿐만 아니라 작동 솔루션 및
00:09:37저장소의 전반적인 기능을 도울 수 있는
00:09:42여러 스크립트와 함께 번들로 제공됩니다.
00:09:43이 스킬을 사용하면 보안 스캔을 실행하고 사용할 모델만 지정하면
00:09:47모든 것을 직접 처리해 줍니다.
00:09:50앞서 본 모든 단계를 실행하며 이전에 놓쳤던 이슈들을 해결하고,
00:09:54DeepSec의 능력과 그 결과의 공백을 메우는 기능을 결합하여
00:09:59훨씬 더 나은 보안 리뷰를 수행할 수 있게 될 것입니다.
00:10:02이 스킬과 모든 리소스는 AI Labs Pro에서 찾을 수 있으며,
00:10:07직접 다운로드하여 여러분의 프로젝트에 사용할 수 있습니다.
00:10:11저희 활동이 가치 있다고 생각하시고 채널을 지원하고 싶으시다면
00:10:15이것이 가장 좋은 방법입니다.
00:10:16링크는 설명란에 있습니다.
00:10:17이것으로 이번 영상을 마칩니다.
00:10:19채널을 지원하고 이런 영상을 계속 제작하는 데 도움을 주고 싶으시다면
00:10:23아래의 'Super Thanks' 버튼을 이용해 주세요.
00:10:25언제나처럼 시청해 주셔서 감사드리며, 다음 영상에서 뵙겠습니다.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video