핵심 원칙
- 스킬 코드는 goja JavaScript sandbox 안에서 실행합니다.
- 위험한 operation 은 supervised mode 에서 사용자 승인을 요구합니다.
- account 별 secret 은 source-bound config 와
secrets.json으로 분리합니다. - SSRF guard 와 hop-by-hop header 차단으로 HTTP primitive 의 위험을 줄입니다.
위험도를 나누는 법
낮음
공개 API 조회, 날씨, RSS, URL 상태 확인처럼 읽기 위주의 작업.
중간
API key 가 필요한 외부 서비스, 개인 계정별 설정이 필요한 작업.
높음
Shell 실행, Git push, 파일 변경, 외부 시스템에 쓰기 작업을 하는 스킬.
보류
자동 생성 코드가 권한 있는 operation 을 요구하는 경우. 먼저 코드를 읽고 수동 실행으로 검증합니다.
스킬 설치 전 체크
- 출처가 registry, GitHub, 로컬 path 중 어디인지 확인합니다.
package.toml의 config 와 trigger 를 봅니다.- 어떤 primitive 를 쓰는지 확인합니다. HTTP 조회와 shell 실행은 위험도가 다릅니다.
- 처음 실행은 supervised mode 와 수동 실행으로 제한합니다.
민감 정보
API key, channel token, webhook secret 은 대화에 그대로 붙여넣기보다 config 흐름으로 넣는 것이 좋습니다. 계정별로 다른 값을 쓰는 경우, 같은 스킬이라도 account 별 secret 이 섞이지 않는지 확인해야 합니다.
운영 전 기준
스킬이 외부에 쓰기 작업을 하거나 shell/git operation 을 요구한다면, cron 으로 돌리기 전에 반드시 수동 실행과 permission prompt 를 확인하세요.