AI
연구난이도 보통허깅페이스 화제 논문 · 10월 8일(목) 공개

Skill Constellations: AI 스킬의 복제 경로를 추적하면 보안 검토 순서가 달라진다

공개 GitHub의 스킬 복제 이력을 분석해, 별점보다 실제 복제 경로가 검토 대상을 찾는 데 유용하며 원본 수정이 복사본에 잘 전해지지 않음을 보였습니다.

쉽게 말하면비유하자면 손으로 베껴 돌려 쓰는 요리법이 누구 공책에서 누구 공책으로 옮겨 갔는지 날짜와 함께 따라간 연구다. 유명한 공책이 꼭 많이 베껴 가는 공책은 아니었고, 원본을 고쳐도 베낀 쪽은 대부분 따라 고치지 않았다.

왜 봐야 하나
코딩 에이전트에 스킬을 복사해 쓰는 사람은 원본이 고쳐져도 내 복사본은 저절로 바뀌지 않는다는 점을 알아야 한다. 검토할 곳을 고를 때 별점 외에 실제 복제 경로도 살펴볼 근거가 된다. 공개 GitHub 초기 약 10개월의 관찰이다.

이 논문은 AI 코딩 에이전트가 사용하는 '스킬(SKILL.md)'이 GitHub 저장소 사이에서 어떻게 복사되어 퍼지는지를 최초로 날짜가 기록된 방향성 네트워크로 재구성한다. 스킬은 사용자 권한으로 명령을 실행할 수 있어 보안 위험이 있지만, 패키지 관리자 같은 레지스트리나 버전·출처 기록이 없어 어떤 저장소를 먼저 검토해야 할지 알기 어렵다. 연구진은 GitSkills 데이터셋의 모든 SKILL.md 깃 히스토리를 분석해 2,193,119건의 스킬 채택을 연결하고, 소수의 저장소가 대부분의 전파를 일으키며 GitHub 별점은 이를 찾아내지 못한다는 것을 보였다. 또한 원본의 나중 편집을 따르는 복사본은 일부에 그쳤다. 네트워크 위치 기반 모델로 상위 100개 저장소를 검토하고 표시된 스킬과 후손 복제를 제거한다고 가정했을 때, 이후 고위험 채택의 14.9%를 줄이는 것으로 계산했다. 실제 공격 방지 실험이나 보안 패치만의 적용률을 측정한 결과는 아니다.

알아낸 것

  • 상위 1% 저장소가 복사로 퍼진 건(전송) 전체의 94.7%를 차지했다. 2026년 4월 1일 이전에 다른 저장소가 복사해 간 횟수로 매긴 순위는 이후 전송의 27.8%를 잡아냈고, 별점 순위는 7.0%에 그쳤다.
  • 전체 복사본 가운데 원본의 나중 편집을 따른 것은 20.9%였다. 보안 패치만 따로 잰 적용률은 아니다. 한 시점의 모습(스냅샷)만 보면 6.3%만 잡혀 실제보다 적게 보인다.
  • 복제 경로 모델로 고른 상위 100개 저장소에서 고위험 표시 스킬과 후손 복제를 없앤다고 가정하면 이후 고위험 채택의 14.9%가 줄어든다고 계산됐다. 별점 순위는 0.5%, 고위험 계보 보유 수 순위는 16.8%였다. 실제 감사 실험은 아니다.

한계와 주의할 점

  • 공개 GitHub에서 스킬 형식이 확산된 초기 약 10개월을 다룬 관찰 연구다. 2,193,119건은 채택 사건 수이며 고유 스킬 수나 사람 수가 아니다.
  • 복제 출처를 연결하는 규칙은 유통 경로의 근사다. 설치 기록의 동일 출처를 지목한 비율은 26.7%여서 원저자나 정확한 복사 경로를 확정할 수 없다.
  • 고위험 표시는 실행 능력과 설정을 나타내며 악성 의도나 공격 성공을 확인한 결과가 아니다. 평가 기준도 LLM의 합의와 일부 사람 교정에 의존한다.
  • 100개 저장소 검토로 후속 고위험 채택 14.9%를 제거한다는 값은 시간 분할 반사실 추정이다. 실제 배포한 보안 감사의 사고 감소율이 아니다.
  • 소스 선택 모델은 모든 기준선을 이기지 않았다. 고위험 계보 보유 수 16.8%, 모델 14.9%, 복사 아웃디그리 14.0%, 별점 0.5%로 비교 기준이 다르다.

용어 풀이

스킬(SKILL.md)
AI 코딩 에이전트가 따르는 지시 파일과 스크립트가 담긴 폴더. 에이전트가 사용자 권한으로 실행하므로 셸 명령, 네트워크 접근, 파일 수정이 가능하다. 이 연구의 분석 단위다.
채택(adoption)
저장소가 스킬을 획득한 사건. 첫 커밋 날짜로 기록되며, 저장소 생성일보다 빠를 수 없다. 전체 2,193,119건이 분석되었다.
계보(lineage)
편집으로 연결된 한 스킬의 버전들을 묶은 것. 첫 채택이 원점(origin)이다. 복사 이벤트에서 출처가 먼저 보유한 계보가 전송(transmission)으로 이어진다.
컨스텔레이션(constellation)
한 스킬의 복사로 형성된 확산 네트워크. 채택자를 노드로, 전송을 날짜와 방향이 있는 엣지로 표현한다. 예: web-design-guidelines는 972개 채택 저장소, 12세대에 도달.
복사 이벤트(copy event)
10개 이상의 SKILL.md 파일을 추가하는 커밋. 단일 이전 채택자가 기존 계보의 절반 이상을 보유하면 그 채택자가 출처가 된다. 100개 미만이면 번들, 이상이면 벌크.
클론 그룹(clone group)
같은 주에 한 스킬의 정확히 같은 버전을 보유한 저장소 집합. 일관된 변경은 모든 구성원이 같은 다음 버전으로 이동하는 경우로, 전체 변경의 11.1%에 불과하다.

더 깊이 읽기 읽는 데 약 10분

배경과 문제

Claude Code, Codex, Cursor 같은 AI 코딩 에이전트는 '스킬'이라는 폴더를 통해 기능을 확장한다. 스킬 폴더에는 SKILL.md라는 지시 파일과 스크립트가 들어 있는데, 에이전트가 이 지시를 따를 때 사용자와 동일한 권한을 가지므로 셸 명령 실행, 네트워크 접근, 파일 수정이 가능하다. 개발자들은 스킬을 저장소 간에 복사하여 공유하는데, 이 과정에는 레지스트리(중앙 등록소), 버전 고정, 출처 기록이 없다. 따라서 어떤 스킬이 어디서 왔는지, 보안 수정이 복사본에 도달했는지, 어떤 저장소를 집중 검토해야 하는지 알 수 없다.

이 문제가 어려운 이유는 스킬이 '복사'로 유통되기 때문이다. 패키지 관리자는 의존성 그래프를 통해 누가 무엇을 사용하는지 추적하지만, 스킬은 파일을 그대로 복사하므로 한 시점의 스냅샷(어떤 저장소가 어떤 스킬을 보유하는지)만으로는 누가 누구에게서 복사했는지, 언제 복사했는지 알 수 없다. 기존 연구는 스킬을 한 시점에 한 스킬 또는 한 쌍의 스킬 단위로 분석했기 때문에 전파 경로를 밝히지 못했다. 복사된 코드 파일에 대한 연구도 비슷한 한계를 가지며, 복사된 파일이 거의 업데이트되거나 출처가 표시되지 않는다는 사실만 확인했다.

기존 접근의 한계

스킬 생태계를 분석한 선행 연구들은 주로 정적인 스냅샷에 의존했다. GitSkills 데이터셋은 GitHub의 SKILL.md 파일 절반이 다른 파일의 축어적 복사본이라고 보고했고, 클론 탐지 연구는 유사한 스킬 쌍을 찾아냈지만, 누가 누구에게서 복사했는지 또는 변경이 어떻게 전파되는지는 밝히지 못했다. 레지스트리 스킬의 재사용에 대한 연구는 53%가 수정되지 않는다고 보고했지만, 이 역시 저장소 간 전파를 측정하지 않았다.

복사 기반 재사용과 의존성 분석의 괴리도 크다. 복사 기반 재사용의 2.43%만이 의존성 분석에 보이며, 포크는 커밋을 업스트림으로 거의 보내지 않는다. 의존성 연구는 선언된 의존성을 통해 취약점을 추적하지만, 스킬에는 그러한 선언이 없다. 따라서 스킬 공급망을 보호하려면 복사 이벤트 자체를 날짜와 방향이 있는 네트워크로 재구성해야 하며, 이 논문은 그 첫 시도다.

연구방법을 단계별로

연구진은 2026년 7월 공개된 GitSkills 데이터셋을 사용했다. 파일 이름이 정확히 SKILL.md이고 유효한 front matter(메타데이터)를 가지며, 2025년 10월 1일 이후 처음 커밋되었고 포크가 아닌 저장소의 파일만 유지했다. 각 고유 내용을 하나의 스킬로 취급하고, 기본 브랜치의 클론에서 모든 SKILL.md 경로의 깃 히스토리를 수집했다. '채택(adoption)'은 저장소가 스킬을 획득한 사건으로, 첫 커밋 날짜로 기록되며 저장소 생성일보다 빠를 수 없다.

다음으로 '계보(lineage)'를 정의했다. 계보는 편집으로 연결된 한 스킬의 버전들을 묶은 것이며, 그 첫 채택이 '원점(origin)'이다. 10개 이상의 SKILL.md 파일을 추가하는 커밋은 '복사 이벤트(copy event)'로 간주하는데, 이때 단일 이전 채택자가 기존 계보의 절반 이상을 보유하고 있으면 그 채택자가 '출처(source)'가 된다. 100개 미만이면 번들, 이상이면 벌크 복사로 분류한다. '전송(transmission)'은 복사 이벤트에서 출처가 먼저 보유한 계보이며, 나머지 채택은 개별 채택이다. 한 스킬의 확산 캐스케이드를 '컨스텔레이션(constellation)'이라 부른다.

검증을 위해 스킬 설치 프로그램이 기록한 1,534개 폴더의 복사 출처와 시점을 비교했다. 재구성된 날짜는 94.6%의 경우 기록과 7일 이내로 일치했고, 기록된 출처가 스킬을 더 일찍 보유한 경우는 99.1%였다. 그러나 연구 규칙이 동일한 출처를 지목한 비율은 26.7%에 불과했다. 이는 규칙이 가장 많은 계보의 이전 채택자(보통 카탈로그)를 출처로 인정하기 때문이며, 따라서 출처 수준 측정은 저작자 관계가 아니라 유통 경로를 근사한다.

고위험 스킬을 식별하기 위해 실행 파일을 번들하거나 도구를 사전 승인하거나 위험한 행동을 지시하는 스킬을 플래그했다. 라벨링에는 Claude Opus 5.5와 Sonnet 5.5 모델을 사용했고, 각 모델은 코드북에 따라 독립적으로 라벨을 매기고 결정 근거가 된 줄을 인용했다. 두 모델의 일치도는 저장소 유형에서 Cohen's κ=0.77, 스킬 질문에서 0.66~1.00이었고, 불일치는 수동으로 해결했다. 이 기준에 대해 엄격 플래그는 정밀도 98.3%, 재현율 80.9%를 보였다.

결과와 숫자의 의미

전체 네트워크에서 64.2%의 저장소는 어떤 스킬도 공유하지 않는 '고립체(isolate)'이며, 나머지는 100개 이상의 저장소로 구성된 50개 커뮤니티를 형성한다. 복사로 인한 채택이 개별 채택보다 많았다. 그림 2a에서 전체 채택 중 58.6%는 각 계보의 첫 채택인 원점, 33.3%는 벌크와 번들을 합한 복사, 8.1%는 개별 채택이다. 전송 횟수는 음이항 분포에서 분산 계수 k=0.086으로 매우 과분산되어, 대부분의 채택은 다른 저장소로 전송되지 않지만 상위 1% 저장소가 전체 전송의 94.7%를 차지한다.

GitHub 별점은 날짜가 있는 복사 네트워크의 아웃디그리(다른 저장소가 복사해 간 횟수)와 거의 무관하다(Kendall τ = -0.10). 2026년 4월 1일 이전 데이터로 순위를 매겼을 때, 현재 복사 아웃디그리는 별점보다 이후 전송을 4.0배 더 많이 포착한다(27.8% 대 7.0%). 별점이 없는 상위 출처의 66.4%는 카탈로그가 아닌 일반 프로젝트다. 이는 인기도가 아니라 네트워크 위치가 미래 전파를 예측한다는 뜻이다.

고위험 플래그가 붙은 스킬은 균일 순열 귀무가설이 예측하는 41.1%보다 적은 28.6%의 저장소에 도달한다. 복사본의 진화를 보면, 클론 그룹(같은 주에 한 스킬의 정확히 같은 버전을 보유한 저장소 집합)의 변경 중 11.1%만이 모든 구성원이 같은 다음 버전으로 이동하는 '일관된 변경'이다. 이 비율은 관찰 창을 바꿔도 비슷하며, 그룹이 여러 소유자에 걸치면 거의 0으로 떨어진다. 단일 소유자는 일관된 변경의 오즈를 3.32배 높인다. 같은 버전의 복제 그룹을 주별로 추적한 시간 계보 중 4.0%만이 한 번이라도 일관되게 변경된다.

스냅샷은 원본 편집을 따른 복사본을 과소평가한다. 업데이트된 복사본은 새 버전의 신규 복사와 구별할 수 없기 때문이다. 날짜가 있는 히스토리로 보면 전체 복사본의 20.9%가 원본의 이후 편집을 따르지만, 스냅샷은 6.3%만 포착한다. 이는 복사된 코드 파일이 업스트림 보안 수정을 47~84% 채택하는 것과 대조적이다. 수정된 복사본은 명령 실행 능력을 제거하는 것보다 추가하는 경우가 더 많으며, 순 능력 증가는 소유자의 편집이 아니라 다른 버전 채택에서 온다.

구체적인 예시

그림 1b는 'web-design-guidelines' 스킬의 복사 캐스케이드를 보여준다. 이 스킬은 972개 저장소에 도달했고, 최대 복사 깊이는 12세대다. 첫 채택자로부터 시작해 490개 저장소가 확인된 전송에 연결되며, 나머지는 이 복사 이벤트 규칙으로 출처를 연결하지 못한 채택에 해당한다. 이는 하나의 스킬이 어떻게 여러 세대를 거쳐 확산되는지 시각화한 예다.

그림 2f는 별점이 없는 상위 출처 저장소 1,457개 중 66.4%가 일반 프로젝트라는 것을 보여준다. 즉, 별점이 낮아도 다른 저장소가 많이 복사해 가는 '조용한' 출처가 다수 존재한다. 이해를 돕는 가상 예로, 어떤 개인 프로젝트가 유용한 스킬 묶음을 포함하고 있으면, 카탈로그나 템플릿이 아니더라도 여러 저장소가 이를 복사해 갈 수 있다. 보안 담당자는 별점 순위만으로는 이런 출처를 찾을 수 없다.

한계와 오해하기 쉬운 점

이 연구의 복제 출처 규칙은 원저자를 식별하지 않는다. 설치 기록 1,534건에서 재구성된 날짜는 94.6%가 7일 이내로 일치했지만, 실제 기록된 출처를 동일하게 지목한 비율은 26.7%다. 규칙이 가장 많은 계보의 이전 채택자(보통 카탈로그)를 출처로 인정하기 때문이며, 따라서 이 네트워크는 저작권이나 원저자 관계가 아니라 유통 경로의 근사다.

고위험 표시는 명령 실행·네트워크·쓰기 등의 능력과 설정을 표시할 뿐, 악성 의도나 실제 공격 성공을 확인한 비율이 아니다. 200개 표본 기준 엄격 플래그의 정밀도는 98.3%, 재현율은 80.9%로, 재현율이 낮아 위험 스킬 수는 하한으로 해석해야 한다. 또한 LLM 합의와 일부 수동 교정으로 만든 기준 자체에 편향이 있을 수 있다.

감사 평가는 시간 분할·반사실 분석이다. 2026년 4월 1일 이전 자료로 순위를 정한 후, 표시된 스킬과 그 후손 복제를 제거한다고 가정했을 때 상위 100개 저장소 감사가 이후 고위험 채택의 14.9%를 막는 것으로 계산되었다. 이는 실제 보안 감사를 배포해 사고가 줄어든 현장 실험이 아니다. 모델이 모든 기준선을 이긴 것도 아니다. 그림 4b에서 고위험 계보 보유 수로 정한 순위는 16.8%, 소스 선택 모델은 14.9%, 복사 아웃디그리는 14.0%다. 사후에 최적 순위를 선택한 별도의 상한은 26.6%이며, 16.8% 기준선과 다르다.

20.9%는 복사본이 원천의 나중 편집을 따르는 비율이며, 확인된 보안 패치만의 적용률은 아니다. 11.1%는 변경된 복제 그룹의 모든 구성원이 같은 다음 버전으로 바뀐 비율로, 분모가 다르다. 데이터는 공개 GitHub의 첫 10개월만 다루므로, 유통 관행이 형성되는 초기 기간의 결과라는 점을 유의해야 한다.

실제로 어떻게 활용할까

이 결과는 보안 검토 순서를 정할 때 별점 외에 실제 복제 경로를 살펴볼 근거를 제공한다. 상위 100개 저장소에 대한 반사실 평가에서 소스 선택 모델의 후속 고위험 채택 제거 비율은 14.9%, 단순 복사 아웃디그리는 14.0%, 별점 순위는 0.5%였다. 실제 검토의 예방률을 보장하는 수치는 아니다. 새 스킬의 누적 채택 추이는 첫 주에 최종 채택자의 7.7%, 56일에 절반에 도달하는 중간값을 보였다. 이는 초기 몇 주 안의 검토가 유용할 수 있다는 뜻이며, 모든 스킬에 안전한 대기 시간이 있다는 뜻은 아니다. 서로 다른 에이전트의 폴더 사이로도 복사되므로, 그 에이전트에서 지원하지 않는 도구를 참조하는지도 확인할 수 있다.

저자들은 플랫폼 제공자가 스킬을 버전이 지정된 참조로 배포하는 방안을 제안한다. 복사본이 원본을 거의 따르지 않기 때문에, 버전과 출처를 추적하고 갱신 경로를 마련할 필요가 있다는 주장이다. 이 연구가 참조 배포 시스템의 효과를 별도로 실험한 것은 아니다. 사용자는 의존하는 복사본을 수동으로 업데이트해야 하며, 연구자는 스냅샷으로 전파를 추정하지 말아야 한다. 이 재구성 방법은 복사로 소프트웨어를 재사용하는 모든 생태계에 적용 가능하다.

원문에서 확인한 근거 6곳
  • 전체 2,193,119건의 스킬 채택을 분석했으며, 이는 고유 스킬 수나 저장소 수가 아니다.Abstract
  • 상위 1% 저장소가 전체 전송의 94.7%를 차지한다.Fig. 2. Concentrated sources
  • GitHub 별점은 날짜가 있는 아웃디그리와 거의 무관하다(Kendall τ = -0.10).Fig. 2. Concentrated sources
  • 상위 100개 저장소를 소스 선택 모델로 고른 반사실 감사에서 이후 고위험 채택의 14.9%를 제거할 수 있는 것으로 계산되었다.4. Audit and response
  • 복사본의 20.9%만이 원본의 이후 편집을 따른다.Fig. 3. Copy evolution
  • 설치 기록 1,534건에서 재구성된 날짜는 94.6%가 7일 이내로 일치하지만, 동일 출처 지목률은 26.7%다.Validation and risk flags

10월 10일(토) 정리 · AI가 쓰고 원문과 대조

다른 AI 글

전체 보기
물리 연구를 통째로 맡겨 보는 AI 시험 FrontierPhysics물리학자 42명이 자기 연구로 만든 과제 56개를 AI 에이전트에게 통째로 맡겼더니, 가장 잘한 AI도 168번 가운데 46…평가·벤치마크난이도 보통AI가 아는 것과 '안다'는 말의 차이를 잰 벤치마크 FinDendro날짜가 붙은 미국 금융 사실 2,226건으로 AI가 실제로 맞히는 것과 '안다'고 말하는 것을 견줬더니, 대부분의 모델에서…평가·벤치마크난이도 보통에이전트 메모에 근거 기록을 연결하는 기억 기법 WikiTraceAI 에이전트가 쌓아 둔 교훈마다 근거가 된 작업 기록을 연결해 되짚게 했더니, 메모 때문에 틀리는 일이 줄고 평균 점수가…연구 · 프리프린트난이도 보통세포 종류별로 DNA 변이 영향을 예측하는 알파게놈 2DNA 100만 글자와 '어떤 세포인지'를 함께 넣는 모델을 만들어, 변이가 세포 종류마다 유전자 활동을 어떻게 바꾸는지 이…공식 연구 발표난이도 어려움시그널 암호 코드 보안을 AI가 증명한 AlphaProof Code사람이 '무엇을 증명할지'를 정하면 AI 에이전트 팀이 증명을 쓰는 방식으로, 메신저 시그널의 암호 코드가 보안 약속을 지킨…공식 연구 발표난이도 어려움AI 모델 파일에 남은 GPU 지문을 읽는 체크포인트 포렌식공개된 AI 모델 파일에 남은 초기값 흔적으로 첫 값을 만든 GPU 계열을 가려내는 방법을 내놓았다. 중국 4개 회사의 모델…기술 보고서난이도 어려움생활 속 일을 실제로 해내는 AI를 평가하는 LifeVal시간 사용 조사와 이용자 설문으로 생활 과제를 정한 평가이며, 공개된 일부 과제 점수의 의미와 한계를 살펴봅니다.평가난이도 쉬움잡음을 지웠더니 언어 판별이 나빠졌다: SceneMaker의 한국어 방송 실험한국어 방송 6편의 발화 3,115구간에서 잡음 제거가 언어 판별 점수를 낮춘 사례를 살펴보고, 검수 방식과 적용 범위를 구…커뮤니티 해설난이도 보통