guide security

Claude Code Skills: NanoClaw가 플러그인 마켓플레이스 없이 확장성을 얻는 방법

NanoClaws.io

NanoClaws.io

@nanoclaws

2026년 2월 26일

8 분 소요

Claude Code Skills: NanoClaw가 플러그인 마켓플레이스 없이 확장성을 얻는 방법

플러그인 마켓플레이스 모델은 매혹적인 제안을 한다: 필요한 것을 설치하고, 필요 없는 것은 건너뛰고, 직접 기여하라. 브라우저에서, VS Code에서, WordPress에서 작동했다. AI 에이전트에도 같은 모델을 적용하는 것이 자연스러워 보였다. 그러다 ClawHub 사태가 터졌다 — 게시된 스킬의 41.7%가 취약점을 포함했고, 수백 개는 노골적으로 악성이었으며, 아무도 감사할 수 없는 공급망의 무게 아래 전체 신뢰 모델이 무너졌다.

NanoClaw는 그 실패를 보고 다른 질문을 던졌다: 확장성에 마켓플레이스가 전혀 필요 없다면? AI 어시스턴트에 새 기능을 추가하는 것이 Claude Code에 원하는 것을 말하고 소스 코드를 직접 수정하게 하는 것만큼 간단하다면?

그것이 Claude Code 스킬 모델이다. 그리고 어떤 플러그인 시스템보다 더 단순하고 더 안전한 것으로 밝혀졌다.

스킬이 실제로 작동하는 방식

Claude Code 스킬은 슬래시 커맨드다 — /add-telegram이나 /add-discord처럼 — Claude Code 세션 안에서 실행한다. 스킬을 호출하면, Claude Code가 NanoClaw 소스 코드를 읽고, 기존 아키텍처를 이해하고, 새 통합을 코드베이스에 직접 작성한다. 레지스트리에서 패키지를 설치하는 게 아니다. 인터넷에서 코드를 다운로드하는 게 아니다. 당신의 특정 NanoClaw 인스턴스에 맞는 코드를 생성하고, 실행 전에 당신이 검토한다.

예를 들어 /add-telegram 스킬은 Telegram npm 패키지를 설치하고 플러그인 인터페이스를 통해 연결하지 않는다. NanoClaw의 메시지 루프에 node-telegram-bot-api 라이브러리를 사용하여 Telegram 봇 리스너를 추가하며, WhatsApp이 이미 사용하는 것과 같은 컨테이너 격리 및 보안 모델을 적용한다. 생성된 코드는 기존 코드베이스와 같은 패턴을 따른다 — Claude Code가 기존 코드베이스를 보고 스타일을 맞출 수 있기 때문이다.

이것은 플러그인 시스템과 세 가지 면에서 근본적으로 다르다. 첫째, 코드가 보인다. 추가된 모든 줄을 읽고, 무엇을 하는지 이해하고, 원하면 수정할 수 있다. 컴파일된 바이너리도, 미니파이된 번들도, 맹목적으로 신뢰하는 불투명한 패키지도 없다. 둘째, 코드가 로컬이다. 당신의 저장소에 있고, 당신의 버전 관리 하에 있으며, 당신의 리뷰 프로세스를 거친다. 외부로 통신하지 않고, 자동 업데이트되지 않으며, 당신 모르게 동작이 변하지 않는다. 셋째, 코드가 통합되어 있다. 제한된 API를 가진 별도의 플러그인 샌드박스에서 실행되는 게 아니라 — 나머지 코드베이스가 사용하는 패턴과 유틸리티에 완전히 접근할 수 있는 애플리케이션의 일부다.

이것이 플러그인보다 더 안전한 이유

보안 논거는 직관적이지만, 대부분의 개발자가 예상하는 것과 반대이기 때문에 명확히 할 가치가 있다.

플러그인 시스템에서 보안은 신뢰에 의존한다. 플러그인 작성자를 신뢰하고, 마켓플레이스의 리뷰 프로세스를 신뢰하고, 리뷰 이후 패키지가 손상되지 않았음을 신뢰하고, 의존성도 손상되지 않았음을 신뢰한다. 이 각각의 신뢰 가정이 잠재적 실패 지점이며, ClawHub는 이 모든 것이 동시에 실패할 수 있음을 보여주었다.

스킬 모델에서 보안은 가시성에 의존한다. Claude Code가 Telegram 통합을 생성하면, 실행 전에 정확히 무엇을 하는지 볼 수 있다. 코드를 검토하고, 테스트하고, 수정하거나, 완전히 거부할 수 있다. 신뢰 경계는 "이 모르는 개발자의 npm 패키지를 신뢰하는가?"가 아니라 "내가 읽을 수 있는 이 코드가 내가 원하는 것을 하는가?"이다.

공격할 공급망도 없다. 악의적인 행위자가 마켓플레이스에 트로이 목마화된 스킬을 업로드할 수 없다 — 마켓플레이스가 없기 때문이다. 인기 패키지 이름을 타이포스쿼팅할 수 없다 — 패키지가 없기 때문이다. 수백 개의 악성 ClawHub 스킬을 가능하게 한 공격 표면이 이 모델에는 아예 존재하지 않는다.

트레이드오프는 스킬 생성에 Claude Code가 필요하다는 것이며, 이는 Anthropic API 키와 Claude Code 세션이 필요하다는 뜻이다. 카탈로그를 탐색하고 "설치"를 클릭할 수 없다. 하지만 CLI에 익숙한 개발자가 사용자인 프로젝트에서 이 트레이드오프는 거의 눈에 띄지 않으며 — 보안 이점은 상당하다.

현재 존재하는 스킬

NanoClaw는 WhatsApp이 내장되어 출시된다. 나머지는 모두 스킬을 통해 추가된다. 현재 스킬 세트는 가장 많이 요청된 통합을 다룬다: Telegram 봇 지원을 위한 /add-telegram, Discord 게이트웨이 통합을 위한 /add-discord, Slack Events API를 위한 /add-slack, Signal 메시징을 위한 /add-signal.

각 스킬은 채널 API의 복잡도에 따라 대략 100-300줄의 코드를 생성한다. 생성된 코드에는 채널 리스너, 메시지 포맷팅, 컨테이너 라우팅, 설정 — 통합이 엔드투엔드로 작동하는 데 필요한 모든 것이 포함된다. 또한 환경 변수 선언과 설정 지침도 포함되어, 어떤 토큰과 인증 정보를 제공해야 하는지 정확히 알 수 있다.

채널 통합 외에도 스킬은 도구와 기능을 추가할 수 있다. /add-web-search 스킬은 에이전트가 컨테이너 안에서 사용할 수 있는 웹 검색 도구를 추가할 수 있다. /add-calendar 스킬은 스케줄링을 위해 Google Calendar와 통합할 수 있다. 패턴은 동일하다: Claude Code가 코드베이스를 읽고, 아키텍처를 이해하고, 맞는 코드를 생성한다.

포크 친화적 철학

스킬 모델 뒤에는 명확히 할 가치가 있는 더 깊은 철학이 있다. NanoClaw는 포크되도록 설계되었다. "코드를 가져가서 경쟁하라"는 적대적 의미가 아니라 — "코드를 가져가서 당신 것으로 만들라"는 협력적 의미에서.

/add-telegram을 실행하면, NanoClaw의 릴리스 주기에 묶이는 의존성을 설치하는 게 아니다. 완전히 소유하는 코드를 당신의 포크에 추가하는 것이다. NanoClaw의 업스트림이 마음에 들지 않는 방향으로 변해도, Telegram 통합은 여전히 작동한다. Telegram 메시지 포맷 방식을 수정하고 싶으면, 코드를 직접 편집한다 — 플러그인 API 제한도, 업스트림이 새 훅을 노출할 때까지 기다릴 필요도 없다.

이것은 플러그인 마켓플레이스가 만드는 플랫폼 종속의 정반대다. WordPress 플러그인은 WordPress에 묶인다. VS Code 확장은 VS Code에 묶인다. ClawHub 스킬은 OpenClaw에 묶였다. NanoClaw 스킬은 NanoClaw의 아키텍처와 작동하지만 어떤 플러그인 런타임이나 마켓플레이스 인프라에도 의존하지 않는 일반 TypeScript를 생성한다.

결과는 시간이 지남에 따라 더 유능해지는 프로젝트다 — 마켓플레이스가 성장해서가 아니라, 각 사용자의 포크가 코드베이스를 충분히 이해하는 AI에 의해 생성된, 정확히 필요한 기능을 축적하기 때문이다. 추상화가 아닌 이해를 통한 확장성이다.

소식 받기

새 릴리스, 연동, NanoClaw 개발 소식을 받아보세요. 스팸 없음, 언제든 구독 취소 가능.