Transcript
00:00:00지금 AI 에이전트 스킬은 어디에나 있습니다. 모든 에이전트가 이를 실행하고 여러분은 검사 없이
00:00:05신뢰하죠. 하지만 무서운 점이 있습니다. 연구원들이 이러한 스킬 3만 개 이상을 조사한 결과,
00:00:104분의 1 이상에서 보안 취약점이 발견되었습니다. 그래서 NVIDIA는 Skill Spectre라는 도구를 만들었는데,
00:00:15스킬을 설치하기 전에 스캔하여 얼마나 위험한지 정확히 알려줍니다. 하지만 여기서
00:00:20흥미로운 점이 있습니다. 한 가지 공격 유형은 이를 그냥 통과해 버리는데,
00:00:24실제로 이를 잡아내는 설정이 기본적으로 꺼져 있어서 대부분의 사람들은 그 존재조차 모릅니다.
00:00:29이를 켜는 건 보통 비용이 들지만, 우회하는 방법을 찾았습니다. 결국 스킬을 단순히 스캔하는 것뿐만 아니라,
00:00:34스킬을 찾고 설치하는 방식을 완전히 바꾸는 워크플로우를 구축했습니다. 이제 전체 워크플로우를
00:00:39살펴보기 전에, 이 도구에 대한 간단한 소개와 무엇이 필요한지 알아보겠습니다. GitHub 저장소에 있는
00:00:44설치 명령어들입니다. 그냥 복사해서 Claude Code에 입력하면 기본적으로
00:00:49전체 과정을 설치하고 설정해 줍니다. Claude Code가 필요한 모든 종속성을 설치하고,
00:00:54보시는 것처럼 완료되면 Skill Spectre를 사용할 수 있습니다. GitHub 저장소 안에는
00:00:59테스트 폴더가 있고 그 안에는 실제로 도구가 작동하는지 확인해 볼 수 있는 위험한 스킬들이 있습니다.
00:01:04그래서 이 스킬들에 대해 실행해 보았고, 하나하나 모두 설치하지 말라고 알려줍니다.
00:01:09점수가 높을수록 더 위험한 스킬입니다. 그리고 각 테스트마다 단순히 점수만 주는 것이 아니라,
00:01:14정확한 줄 번호, 정확한 위치, 파일명을 보여주어 무엇 때문에 점수가 높아졌는지 알려줍니다.
00:01:19이제 이게 이 도구를 사용하는 유일한 방법은 아니며, 다른 모드도 있습니다.
00:01:24두 번째 모드가 필요한 이유를 이해하려면 먼저 두 가지를 알아야 합니다. 스킬이 어떻게
00:01:30공격하는지와 이 도구가 그 공격을 어떻게 잡아내는지 말이죠. 14가지 범주가 있지만,
00:01:34단순하게 하기 위해 6가지 유사한 범주로 묶었습니다. 첫 번째 공격 방식은
00:01:39숨겨진 지시 사항입니다. 스킬은 단지 지시 사항이 가득 담긴 텍스트 파일이며 에이전트는
00:01:45전체 내용을 읽고 명령으로 처리합니다. 문제는 악성 스킬이 그 안에 여러분은 절대 볼 수 없는
00:01:50추가 지시 사항을 숨길 수 있다는 것입니다. 하지만 에이전트는 이를 읽습니다. 주석 안에 숨기거나,
00:01:55보이지 않는 문자를 사용하거나, 여러분에게는 무의미해 보이는 코드로 텍스트를 난독화하는데, AI는 잘 읽어냅니다.
00:02:01그래서 스캐너는 특별히 이러한 숨겨진 지시 사항을 찾아내도록 제작되었습니다. 두 번째 방식은
00:02:06사칭입니다. 에이전트는 이름으로 신뢰하고 사용하는 도구들이 있습니다. 예를 들어 파일을 읽는 “read”라는
00:02:12도구가 있다면, 악성 스킬은 자신의 도구에 정확히 같은 이름을 붙여서,
00:02:17에이전트가 안전한 줄 알고 악성 도구를 가져가게 만듭니다. 이들은 아주 교묘하게
00:02:22다른 알파벳에서 비슷하게 생긴 문자로 교체합니다. 예를 들어 “read”라고 이름을 짓는데,
00:02:27“A”는 사실 우리 글자와 똑같이 생긴 러시아 문자입니다. 언뜻 보기에는 똑같지만
00:02:33내부적으로는 완전히 다른 도구입니다. 스캐너는 모든 문자의 실제 ID를 확인하여 이를 잡아내는데,
00:02:38그 가짜 문자를 찾아내어 플래그를 표시합니다. 세 번째 방식은 스킬이 무엇을 하는지 거짓말하는 경우입니다.
00:02:43설명은 하나지만 코드는 다른 일을 합니다. 간단한 포맷터라고 해놓고
00:02:48백그라운드에서 조용히 인터넷에 연결합니다. 또는 파일 읽기 권한만 필요하다고 해놓고
00:02:53실제로는 파일을 작성하고 명령을 실행하기도 합니다. 이건 잡아내기가 훨씬 더 어렵습니다.
00:02:58그래서 두 번째 모드가 필요한 건데, 나중에 다시 다루겠습니다. 네 번째는 스킬이 인증 정보를 훔치는 경우입니다.
00:03:03API 키나 비밀번호가 될 수 있습니다. 스킬이 기기에 저장된 모든 키를 훑어서
00:03:08가져간 뒤 서버로 전송합니다. 다섯 번째는 단순히 악성 코드를 직접 실행하는 경우입니다.
00:03:13리버스 셸 같은 것이 포함되는데, 기본적으로 낯선 사람에게 컴퓨터 전체의 원격 제어권을
00:03:18넘겨주는 것이죠. 이런 종류의 악성 코드는 알려진 지문이 있기 때문에
00:03:23스캐너가 지문 라이브러리와 대조하여 잡아냅니다. 여섯 번째 방식은
00:03:28종속성을 오염시키는 것입니다. 스킬은 작업의 일부를 처리하기 위해 터미널에서 실행되는
00:03:32CLI 도구 같은 외부 프로그램을 자주 사용합니다. 악성 스킬은 실제로는 악성인 요소를 가져옵니다.
00:03:39어쩌면 유명한 패키지와 이름이 한 글자 다른 가짜 패키지일 수도 있습니다. 잘못된 것을
00:03:44가져와서 마지막 유형처럼 악성 코드를 실행하게 됩니다. 그래서 스캐너는 스킬이 가져오는 모든 패키지를
00:03:49알려진 악성 패키지 데이터베이스와 대조합니다. 가짜 이름이나 다운로드 및 실행 명령을
00:03:54찾아내어 시스템을 안전하게 보호합니다. 첫 번째 모드에서는 컨텍스트 없이 패턴만 일치시키므로
00:03:59문제가 없는 것을 위험하다고 표시하기도 합니다. 이것이 이른바 오탐지입니다.
00:04:05여기서 두 번째 모드인 AI 스캔이 필요한데, 켜는 것은 간단합니다.
00:04:09no LLM 플래그를 지우면 두 번째 스캔이 수행됩니다. 하지만 코드를 보면
00:04:14스킬에 대해 AI 검사를 실행하려면 OpenAI 키를 넣어야 한다는 것을 알 수 있습니다. 그래서 그 비용을
00:04:20피하기 위해 Claude Code 자체를 사용하여 AI 검사를 실행합니다. Claude Code의 메인 에이전트가
00:04:26직접 하는 것은 아닙니다. 채팅 창 없이 백그라운드에서 실행되는 Claude Code인
00:04:32헤드리스 모드를 사용합니다. 스스로 명령을 실행하는 것이죠. 대부분 유료라는 건 아시겠지만,
00:04:38Anthropic 플랜에 따라 매월 크레딧이 제공됩니다. Claude Code에게
00:04:43방금 말한 변경을 하라고 요청하면 알아서 해줍니다. 물론 버그가 있을 수도 있지만,
00:04:48간단한 프롬프트로 Claude가 설정할 수 있습니다. 영상이 재밌으셨다면,
00:04:52채널 구독과 좋아요 버튼을 눌러주세요. 작은 응원이 큰 힘이 됩니다.
00:04:57그들은 테스트 폴더에 AI 검사가 필요한 위험한 스킬들도 가지고 있습니다. 실행했을 때
00:05:03no LLM 검사를 실행하면 점수가 0으로 나와서 완전히 안전하다는 뜻이죠.
00:05:07하지만 AI 검사를 실행하는 즉시 점수가 100으로 뛰고 설치하지 말라고 나옵니다.
00:05:12이유도 정확히 설명해주고요. 하지만 스킬의 문제를 탐지하는 것에서 그치지 않고
00:05:17수정까지 도와준다면 어떨까요? 그래서 스캐너를 하나의 스킬로 만들었습니다.
00:05:22이름이 왜 Discover Skills냐고요? 우리는 단순히 별도의 스킬 하나를 만든 게 아니기 때문입니다.
00:05:27더 많은 스킬을 발견하고 설치하기 전에 안전한지 확인하는 전체 과정을 만든 것입니다.
00:05:31한동안 skills.sh를 사용하여 새 스킬을 찾아왔습니다. 기본적으로 스킬 전용 git 저장소입니다.
00:05:36하나의 거대한 공유 라이브러리인 셈이죠. 최근 CLI 업데이트가 배포된 것 같은데,
00:05:42Claude가 명령줄을 통해 직접 검색 쿼리를 실행하고 필요한 최고의 스킬을 가져올 수 있게 되었습니다.
00:05:47그리고 우리 스캐너가 그 위에서 실행되길 바랐습니다. scan.sh는 Skill Spectre를 실행하는
00:05:53스크립트입니다. CLI 도구라서 명령어로 실행되어야 하므로,
00:05:57전체 스크립트를 만들고 Claude 헤드리스 모드 수정을 포함했습니다.
00:06:02기본적으로는 일반 검사를 실행하지만, 원하면 AI 검사도 실행할 수 있습니다.
00:06:08skill.md를 열어보면 기본 단계를 확인할 수 있습니다. 대상을 식별하고 스캔한 뒤
00:06:13결과를 보여줍니다. 문제를 파악한 후에는 수정하고 전체 루프를 다시 실행하여 모든 것이 깨끗한지 확인합니다.
00:06:19예를 들어, 지금 보여드리는 이 폴더는 AI 랩 설계 폴더입니다.
00:06:24전체 디자인 프로세스를 하나의 폴더에 압축하고 여러 스킬이 들어있습니다.
00:06:28이에 관한 영상도 있습니다. 게다가 전체 시스템은 커뮤니티인 AI 랩 프로에서 이용 가능합니다.
00:06:34채널을 지원하고 이 전체 디자인 시스템을 가져가고 싶다면, 확인해 보세요.
00:06:39이 검색 스킬도 거기에 업로드될 것입니다. 링크는 설명란에 있겠지만, 우리는
00:06:44그 위에 빌드하고 있습니다. 새로운 make design.md 스킬을 추가하고 있는데,
00:06:49이미 빌드한 앱에서 디자인 토큰(색상, 폰트, 간격 규칙)을 추출하여 design.md 파일로 병합하는
00:06:54가장 빠른 방법입니다. design.md 파일을 만들고 싶어서
00:06:59개선하고 싶다고 말했고 다른 도구들을 찾으라고 했습니다.
00:07:04skills.sh를 사용했고, 발견 스킬을 로드하여 몇 가지 스킬을 가져왔습니다.
00:07:10이 스킬들이 돌아왔고 처음 두 개가 흥미로워 보였습니다. 그래서 깊이 파고들었죠.
00:07:15설치하고 테스트하라고 요청했습니다. 발견 스킬 워크플로우에 명시된 대로,
00:07:21스캔 없이는 설치하지 않습니다. 그래서 설치하고 읽어본 결과
00:07:26어느 것도 make design.md 스킬에 도움이 되지 않는다고 했습니다. 하지만 보안 관점에서
00:07:31첫 번째 스킬은 안전 점수 10점으로 안전했고, 두 번째는
00:07:36100점으로 설치하지 말라고 했습니다. 그래서 두 번째 스킬에 AI 검사를 실행하라고 했습니다.
00:07:41Claude의 헤드리스 모드로 다시 실행했고 이번에는 점수가 0으로 돌아왔습니다.
00:07:46이 스킬은 사용하기에 안전했다는 뜻이죠. 이것이 이 시스템의 핵심입니다. 인터넷에서 맹목적으로
00:07:52스킬을 가져오는 것이 아닙니다. 스킬을 사용하여 시작할 수 있는 전체 프로세스가 있는 것이죠.
00:07:56이제 스폰서인 Nimblist에 대해 들어보겠습니다. Claude Code나 Codex를 사용한다면,
00:08:01문제는 아실 겁니다. 여러 세션이 실행 중이고 파일은 어디서나 변경되며,
00:08:06에이전트가 무엇을 하는지 추적하려고 터미널, 브라우저, 편집기를 계속 오가죠.
00:08:12Nimblist는 모든 것을 한곳에 모아두는 오픈 소스 시각적 워크스페이스입니다.
00:08:17동시에 여러 프로젝트 작업을 하는 3개의 에이전트가 있었는데, 창을 넘나드는 대신,
00:08:23칸반 보드에서 모두 확인하고, 세션에 뛰어들어, 코드 변경 사항을 빨간색과 초록색 diff로 검토하고,
00:08:28개별적으로 승인하거나 거부할 수 있었습니다. 마크다운 문서, UI 목업, 아키텍처 다이어그램을
00:08:33에이전트와 나란히 시각적으로 편집했죠. 완료 후에는 커밋 메시지를 자동으로 생성해 주기 때문에
00:08:38수동으로 깔끔하게 정리할 필요가 없었습니다. 작업은 실제 세션과 계속 연결되어 있고,
00:08:45책상에서 멀어져 있을 때도 세션을 이어갈 수 있는 모바일 앱도 있습니다. Nimblist는
00:08:50완전히 무료이며 오픈 소스이므로 고정 댓글의 링크를 사용해 확인해 보세요.
00:08:56이 영상이 끝났습니다. 채널을 지원하고 이런 영상을 계속 만드는 데 도움을 주고 싶다면,
00:09:00아래의 슈퍼 땡스 버튼을 사용해 보세요. 언제나 시청해 주셔서 감사하며,
00:09:05이번 영상이 도움 되셨다면 채널 후원을 통해 앞으로도 이런 영상을 계속 만들 수 있도록
00:09:10아래에 있는 슈퍼 땡스 버튼으로 지원해 주실 수 있습니다. 늘 시청해 주셔서 감사드리고, 다음 영상에서 뵙겠습니다.