회사 플러그인 마켓플레이스

플러그인이 제공되는 조건, Claude Code · Codex에 회사 마켓플레이스 연결하기, 업데이트 · 재설치, 목록에서 내리기와 보안 회수

회사 플러그인을 설치하는 두 가지 방법과, 설치한 뒤 업데이트하고 내리고 회수하는 법을 다뤄요.
처음 설치해 보는 거라면 회사 플러그인 빠른 시작부터 따라 하세요. 이 문서의 명령은 axhub CLI v0.50.0 기준이에요.

두 가지 설치 방법

CLI로 설치 (axhub plugin install)회사 마켓플레이스 연결
설치 단위플러그인 하나의 정확한 버전회사 마켓플레이스 목록에서 골라 설치
Claude Code · Codex에 보이는 이름<설치 이름>@axhub-app-<앱 ID><설치 이름>@axhub-<회사 주소>
인증설치할 때만 axhub 로그인 또는 plugins:read PATmarketplace:read 전용 PAT — axhub git setup --marketplace가 발급 · 갱신
업데이트새 버전으로 axhub plugin install을 다시 실행Claude Code · Codex에서 마켓플레이스 업데이트
axhub가 제공하는 큐레이션 플러그인설치할 수 없어요설치할 수 있어요

<앱 ID>는 플러그인 앱 UUID에서 하이픈을 뺀 32자예요. 정확한 버전을 고정하려면 CLI 설치를, 회사 플러그인 전체를 host 안에서 고르고 업데이트하려면 마켓플레이스 연결을 써요.

플러그인이 제공되는 조건

플러그인은 게시 심사가 승인되고, 앱 공개 범위가 내부공개 또는 외부공개일 때만 제공돼요.

앱 공개 범위플러그인
나만보기 · 일부공개승인돼도 목록 · 설치 · 내려받기 · 마켓플레이스 어디에도 나오지 않아요
내부공개같은 회사 구성원이 설치할 수 있어요
외부공개같은 회사 구성원이 설치할 수 있고, 회사 밖에서도 로그인 없이 내려받을 수 있어요

공개 범위 때문에 제공되지 않으면 axhub plugin manage status --app <앱>이 [공개범위 때문에 미제공]으로 알려 줘요. 초대한 사람에게만 플러그인을 나눠 주는 방법은 아직 없어요. 공개 범위를 넓히려면 공개 범위 심사를 받아요(공개 · 접근 관리). 공개 범위를 좁히면 승인은 그대로 두고 제공만 멈췄다가, 다시 넓히는 심사가 승인되면 다시 승인받지 않아도 제공돼요.

회사 마켓플레이스 연결하기

Claude Code · Codex가 회사 마켓플레이스를 git 저장소처럼 직접 읽게 연결해요. 토큰을 URL에 넣지 않고, axhub CLI가 git 자격증명을 대신 건네요.

1

연결 설정

로그인(axhub auth login)한 상태에서 실행해요. 여러 회사에 속해 있으면 --tenant가 꼭 필요해요.

axhub --tenant <회사 UUID 또는 주소> git setup --marketplace

30일짜리 marketplace:read 전용 PAT를 발급해 axhub의 git 자격증명 저장소에 넣고, 마켓플레이스 주소에 대한 git의 자격증명 요청을 axhub가 답하게 설정해요. 토큰 값은 출력되지 않아요.

Configured the plugin marketplace for tenant acme (issued a new 30-day marketplace:read credential).
URL: https://api.axhub.ai/api/v1/marketplace/acme/git
Check: GIT_TERMINAL_PROMPT=0 git ls-remote https://api.axhub.ai/api/v1/marketplace/acme/git
Add to Claude Code: claude plugin marketplace add https://api.axhub.ai/api/v1/marketplace/acme/git
Add to Codex: codex plugin marketplace add https://api.axhub.ai/api/v1/marketplace/acme/git
2

연결 확인

출력의 Check 명령을 실행해요. GIT_TERMINAL_PROMPT=0은 자격증명이 없을 때 비밀번호를 묻지 않고 바로 실패하게 해요.

GIT_TERMINAL_PROMPT=0 git ls-remote https://api.axhub.ai/api/v1/marketplace/<회사 주소>/git

커밋 해시가 붙은 줄이 나오면 연결된 거예요. 실패하면 git이 remote: 줄로 이유와 고칠 명령을 보여 줘요. 대부분 axhub --tenant <회사> git setup --marketplace를 다시 실행하면 풀려요.

3

Claude Code · Codex에 추가하고 설치

claude plugin marketplace add https://api.axhub.ai/api/v1/marketplace/<회사 주소>/git
claude plugin install <설치 이름>@axhub-<회사 주소>

새 세션을 시작하면 플러그인이 올라와요.

  • marketplace:read 전용 PAT만 받아요. git 자격증명으로 저장되는 토큰이라 마켓플레이스 읽기 권한만 담아요. 전체 권한 PAT나 다른 권한의 scoped PAT는 거부되고, git이 그 이유를 remote: 줄로 보여 줘요.
  • URL에 토큰을 넣지 마세요. https://<토큰>@… 형태는 셸 기록과 Claude Code · Codex 설정 파일에 그대로 남아요.
  • 토큰은 30일짜리예요. 거부되면 axhub가 로그인 세션으로 한 번 새로 발급해요. git setup --marketplace는 남은 기간이 7일 이상이면 저장된 토큰을 그대로 쓰니 언제 다시 실행해도 되고, --rotate를 붙이면 새로 발급해요. axhub auth logout하면 함께 폐기돼요.
  • 파일은 업로드한 그대로 받아요. 실행 권한이 있던 파일은 실행 권한(100755)을 지키고, 플러그인의 .gitignore는 적용하지 않아요. 플러그인의 .gitattributes만 마켓플레이스 git에서 빠져요 — 받는 쪽 checkout에서 줄바꿈 변환 · LFS 처리로 hook이 깨지는 걸 막으려는 거예요. ZIP(axhub plugin download · CLI 설치)에는 그대로 들어 있어요.

업데이트 · 재설치 · 실행 확인

새 버전이 승인돼 제공되면 설치한 방법에 맞춰 업데이트해요. 업데이트 · 재설치 뒤에는 Claude Code · Codex를 다시 시작해야 새 버전이 올라와요.

업데이트 — 새 버전으로 설치 명령을 다시 실행하면 그 자리에서 바꿔요.

axhub plugin install --tenant <회사 UUID> --app <앱> --version <새 버전> --host claude --execute --yes

확인 — claude plugin list · codex plugin list에 새 버전이 보이는지 봐요. CLI 설치 기록 ~/.axhub/plugins/<앱 UUID>/<claude 또는 codex>/marketplace/.axhub-install.json에도 version · sha256이 남아요(Windows는 사용자 홈의 .axhub\plugins).

실행 권한 확인 — 실행 파일은 -rwx------, 나머지는 -rw-------여야 해요.

ls -l ~/.axhub/plugins/<앱 UUID>/claude/marketplace/plugin/hooks

재설치 — 보안 회수의 CLI 설치 제거 명령으로 지운 뒤 설치 명령을 다시 실행해요.

실행 권한이 빠진 예전 버전

hook 스크립트 · bin/ 도구가 실행되지 않는다면 실행 권한이 빠진 경우예요. 원인에 따라 고치는 법이 달라요.

  • v0.50.0보다 오래된 CLI로 게시한 버전 — 올라간 파일 자체에 실행 권한이 없어서, 서버와 설치기를 고쳐도 돌아오지 않아요. 만드는 사람이 v0.50.0 이상 CLI로 새 버전 번호를 게시하고 게시 심사를 받아야 해요. Windows에서는 git 저장소 안에서 게시하거나 --executable <경로>로 실행 파일을 지정해요. 쓰는 사람은 새 버전이 제공되면 위 순서로 업데이트해요.
  • v0.50.0보다 오래된 CLI로 설치한 곳 — 버전은 정상이어도 실행 권한 없이 설치됐어요. CLI를 올린 뒤 재설치해요.
  • 회사 마켓플레이스로 설치한 곳 — 예전에는 마켓플레이스 git도 실행 권한을 버렸어요. 마켓플레이스를 업데이트한 뒤 재설치해요.

고친 뒤에는 위의 실행 권한 확인 명령으로 다시 봐요.

목록에서 내리기와 보안 회수

둘 다 새 설치를 막지만, 하는 사람과 남는 것이 달라요.

목록에서 내리기보안 회수
누가앱 관리자(소유자 · 공동 소유자 · 워크스페이스 앱 관리자)axhub 보안 담당
대상그 앱의 게시된 모든 버전문제가 확인된 버전
새 설치 · 내려받기막혀요막혀요
진행 중인 게시 심사 신청철회돼요자동 검수가 끝나지 않은 신청은 닫혀요
CLI로 설치한 곳그대로 남아요그대로 남아요 — 직접 지워야 해요
마켓플레이스로 연결한 곳다음 마켓플레이스 업데이트부터 목록에서 사라져 새로 설치 · 업데이트할 수 없어요. 이미 설치한 사본을 확실히 지우려면 제거 명령을 써요같아요 — 이미 설치한 사본은 직접 지워야 해요
알림없어요소유 회사 관리자에게 알림이 가고, 받은 회사에는 axhub가 따로 연락해요
다시 제공하려면새 버전을 올려 게시 심사를 받아요고친 새 버전을 올려 게시 심사를 받아요. 회수는 되돌릴 수 없어요

axhub는 이미 설치된 플러그인을 원격으로 끄거나 지울 수 없어요. 내리거나 회수해도, 설치한 컴퓨터에서는 지울 때까지 hook · MCP 서버 · 스킬이 계속 실행될 수 있어요.

내려 달라는 요청은 어디로

  • 내가 관리하는 플러그인 — 앱 콘솔의 배포 탭에서 목록에서 내리기를 눌러요. CLI로는 미리보기 뒤 실행해요. CLI의 delist는 로그인(OAuth)으로 실행해야 해요 — 게시용 PAT가 활성이면 axhub auth pat unset으로 먼저 해제해요.

    axhub plugin delist --app <앱>
    axhub plugin delist --app <앱> --execute --yes
  • 다른 사람이 만든 플러그인 — 그 앱의 소유자(스토어의 앱 상세에 나와요)나 워크스페이스 관리자에게 요청해요. 워크스페이스 앱 관리자도 목록에서 내릴 수 있어요.

  • 보안 문제(비밀값 노출 · 악성 hook 등) — 워크스페이스 관리자에게 바로 알리고, axhub 운영팀에 axhub feedback -m "<플러그인 이름> <버전> 보안 회수 요청: <무엇이 문제인지>"로 신고해요. 비밀값 원문은 적지 마세요. 회수를 기다리는 동안 앱 관리자는 먼저 목록에서 내려 새 설치를 막을 수 있어요.

플러그인 스킬(plugins)은 목록에서 내리기를 하지 않아요. 위 경로를 써요.

보안 회수

axhub가 보안 문제로 버전을 회수하면, 그 버전은 내려받기 · CLI 설치 · 회사 마켓플레이스(목록 · ZIP · git)에서 빠지고 axhub plugin manage status --app에 [보안 회수됨]으로 나와요. 이미 설치한 곳은 아래 순서로 직접 지워요.

1

설치한 곳 찾기

CLI로 설치했다면 설치 기록에서 install_name · version · sha256 · marketplace_name을 확인해요.

cat "${AXHUB_PLUGIN_HOME:-$HOME/.axhub/plugins}"/*/*/marketplace/.axhub-install.json

마켓플레이스로 설치했다면 claude plugin list · codex plugin list에서 @axhub-<회사 주소>가 붙은 플러그인을 찾아요.

2

Claude Code · Codex에서 지우기

CLI로 설치한 경우 — <설치 이름> · <marketplace_name>은 설치 기록의 값이에요.

# Claude Code
claude plugin uninstall <설치 이름>@<marketplace_name> --scope user
claude plugin marketplace remove <marketplace_name> --scope user
# Codex
codex plugin remove <설치 이름>@<marketplace_name>
codex plugin marketplace remove <marketplace_name>

host에서 지운 뒤에 로컬 사본을 지워요. 먼저 지우면 host가 없는 경로를 가리킨 채 남아요.

rm -rf "${AXHUB_PLUGIN_HOME:-$HOME/.axhub/plugins}/<앱 UUID>/<claude 또는 codex>"

마켓플레이스로 설치한 경우

# Claude Code (프로젝트 범위로 설치했다면 그 프로젝트에서 --scope project)
claude plugin uninstall <설치 이름>@axhub-<회사 주소> --scope user
# Codex
codex plugin remove <설치 이름>@axhub-<회사 주소>

마켓플레이스 연결까지 끊으려면 claude plugin marketplace remove axhub-<회사 주소> --scope user · codex plugin marketplace remove axhub-<회사 주소>를 실행해요.

3

다시 시작하고 확인

Claude Code · Codex를 다시 시작해야 실행 중이던 hook · MCP 서버가 내려가요. claude plugin list · codex plugin list에 남아 있지 않은지 확인해요.

4

키 교체

플러그인이 실행된 컴퓨터에서 접근할 수 있던 키 · 토큰은 노출됐다고 보고 교체해요.

5

안전한 버전으로 돌아가기

소유자가 고친 새 버전을 게시해 승인되면 업데이트 순서대로 다시 설치해요. 회수된 버전 번호는 다시 쓰지 않아요.