참조스킬Skill 인증

Skill

Skill 인증

Skill credential은 XMEMO_KEY 또는 지원되는 device-login flow에 보관하고 public output에는 절대 넣지 않습니다.

Credential 확인 우선순위

독립 실행형 Skill 런타임은 엄격한 3단계 우선순위를 사용하여 credential을 확인합니다. 관리형 외부 시크릿이 항상 로컬 파일보다 우선하므로 환경 시크릿이 제공될 때 토큰이 디스크에 중복 저장되지 않습니다.

  • 1. XMEMO_KEY: 환경 변수 또는 관리형 시크릿 저장소(Doppler, 1Password, Vault). 권장됨; 로컬 credential 파일에 절대 복사되지 않습니다.
  • 2. Meta Muse Secure Vault: 지원되는 Meta Muse 환경의 대체 볼트 확인.
  • 3. 로컬 credential 파일: ~/.xmemo/skill-credentials.json(또는 $XMEMO_CREDENTIALS_PATH), 환경 credential이 설정되지 않았을 때 대체 수단으로만 읽습니다.
  • OpenClaw egress 요구 사항: OpenClaw egress는 XMEMO_KEY 브랜치(auth-state.mjs) 내부에서 처리되는 전송 요구 사항입니다. OpenClaw 센티널이 감지되면 egress 프록시 접근성이 강제 적용됩니다. 이는 XMEMO_KEY 내의 전송 검증이며 별도의 credential 소스가 아닙니다.
  • 토큰 노출 제로: 명령어와 doctor 진단은 활성 토큰이나 시크릿 접두사를 절대 출력하지 않습니다.
# Preferred: provide credential via environment or secret store
export XMEMO_KEY='<your-xmemo-token>'

# Inspect active credential source and scopes without printing secrets:
node scripts/xmemo-skill.mjs auth status --verify

기기 로그인 및 명시적 일반 텍스트 선택

관리형 환경 키가 없는 경우 대화형 설정은 브라우저 기반 기기 인증을 사용합니다. 사용자가 브라우저에서 액세스를 승인하며 브라우저는 베어러 토큰 값을 절대 표시하지 않습니다.

  • 명시적 일반 텍스트 동의: login 명령은 로컬 컴퓨터에 토큰을 암호화하지 않고 저장하는 것에 대한 정보에 입각한 동의를 확인하기 위해 --allow-plaintext 플래그가 필요합니다.
  • 제한된 파일 권한: ~/.xmemo/skill-credentials.json 파일은 0600 POSIX 권한(소유자 전용 읽기/쓰기)으로 생성됩니다.
  • 안전한 stdin 가져오기: auth add --from-stdin --allow-plaintext 명령을 사용하여 표준 입력으로 기존 토큰을 가져오면 명령줄 인수 및 셸 기록 로깅을 피할 수 있습니다.
  • 기기 인증 엔드포인트: POST /v1/auth/device/start(흐름 시작), POST /v1/auth/device/token(폴링 및 교환), POST /v1/auth/token/validate(검증), POST /v1/auth/token/revoke-self(취소).
# Start interactive device login (requires explicit plaintext flag):
node scripts/xmemo-skill.mjs login --allow-plaintext

# Or pipe an existing token securely from standard input:
printf '%s' "$XMEMO_KEY" | node scripts/xmemo-skill.mjs auth add --from-stdin --allow-plaintext

# Verify active session status:
node scripts/xmemo-skill.mjs auth status --verify

임시 등록 경계

무인 환경이거나 사용자가 정식 로그인을 거부하는 경우 Skill은 임시 메모리 샌드박스를 등록할 수 있습니다. 임시 메모리는 엄격하게 제한되며 단기적인 운영 연속성만을 목적으로 합니다.

  • 무인 또는 거부 시에만 사용: node scripts/xmemo-skill.mjs register --reason <unattended|declined> --allow-plaintext.
  • 용량 상한: 최대 100개 항목으로 제한됩니다.
  • 보존 TTL: 14일 비활성 TTL 및 30일 절대 최대 수명.
  • 2단계 클레임 핸드오프: 운영자가 임시 계정을 클레임하고 정식 credential에 바인딩할 수 있는 바인딩 URL(bind_url)을 생성합니다.
  • 클레임 관리 명령: auth claim-status는 보류 중인 클레임을 검사하고, auth claim-confirm은 정식 토큰 핸드오프를 수락하며, auth claim-deny는 바인딩을 거부합니다.
  • 샌드박스 제한 사항: 임시 계정은 재시작 스냅샷(restart-snapshot)을 캡처하거나 Knowledge 베이스(recall-context --include_knowledge true)에 액세스할 수 없습니다.
# Register temporary sandbox:
node scripts/xmemo-skill.mjs register --reason unattended --allow-plaintext

# Inspect and manage claim binding:
node scripts/xmemo-skill.mjs auth claim-status --allow-plaintext
node scripts/xmemo-skill.mjs auth claim-confirm --allow-plaintext
node scripts/xmemo-skill.mjs auth claim-deny --allow-plaintext

로그아웃 및 제공자별 적절한 취소

로그아웃하면 로컬 credential 파일 연결이 해제되고 서버에서 활성 세션 토큰이 자체 취소됩니다. 외부 시크릿 제공자는 자체 환경에서 관리해야 합니다.

  • 로컬 세션 로그아웃: node scripts/xmemo-skill.mjs logout 명령은 ~/.xmemo/skill-credentials.json 파일을 제거하고 /v1/auth/token/revoke-self 엔드포인트를 호출합니다.
  • 외부 환경 토큰: XMEMO_KEY가 활성 credential을 제공하는 경우 --revoke-environment-token 플래그를 명시적으로 전달하지 않는 한 로그아웃해도 해당 토큰은 그대로 유지됩니다.
  • 로컬 제거는 전역 취소가 아님: 로컬 skill 디렉터리를 제거하거나 로컬에서 로그아웃해도 클라우드 시크릿 볼트, CI/CD 러너 또는 다른 컴퓨터에 저장된 토큰은 취소되지 않습니다.
  • 외부 정리: 셸에서 XMEMO_KEY 설정을 해제하거나 시크릿 관리자에서 시크릿을 삭제하여 액세스 권한을 영구적으로 취소합니다.
# Log out and revoke local credential file:
node scripts/xmemo-skill.mjs logout

# Log out and revoke external environment token remotely:
node scripts/xmemo-skill.mjs logout --revoke-environment-token

Skill 인증

Skill은 호스팅형 MCP 서버를 직접 마운트하지 않는 에이전트를 위한 지침 및 명령 경로입니다.

XMemo Skills 열기

출처: XMemo Skills