1. 문제 분해:노출은 열린 포트 이상이다
(1) 바인딩 의미:0.0.0.0 은 모든 인터페이스 대기로 개발엔 빠르지만 본격 운영에선 게스트 무선 등과 겹치면 위험이 커진다. IPv6 리스너 누락·듀얼스택 반쪽 수정이면 없앤 줄 알았던 공격면이 되살아난다. 리스너 감사는 릴리스 게이트마다 반복한다.
(2) 스킬 층 공급망:ClawHub 스킬은 종속을 끌어온다. CI 에 해석 그래프와 해시를 저장하고 미검토 상태로 해시가 흔들리면 빌드를 중단한다.
(3) 컨테이너:읽기 전용 루트라도 볼륨 허용이 느슨하면 시크릿 유출 구멍이 된다. 주입 시나리오에선 seccomp·AppArmor 로 호스트 권한을 겹친다.
2. 접근 토폴로지 매트릭스
| 모드 | 적합한 경우 | 비용/주의 |
|---|---|---|
127.0.0.1 만 |
솔로 개발, LAN 노출 최소 | 원격은 터널 필요;로컬 악성코드는 루프백에 닿을 수 있음 |
| 리버스 프록시+TLS(필요 시 mTLS) | TLS 종단, 로그 집약, 속도 제한 | 인증서 수명 주기;상류를 평문으로 이어 붙이지 말 것 |
| Tailscale/WireGuard | 공개 관리 포트 없이 팀 원격 | 장비 인벤토리와 포트 단위 ACL;퇴사 장비 폐기 |
SSH -L |
사고 대응, 점프 호스트 존재 | 사람 터널은 썩는다;장기적으로 앱 바인딩을 고쳐야 함 |
환경마다 주 패턴을 하나로 정하고 혼재를 금지한다. 바꿀 때마다 헬스와 대표 스킬에 동일 스모크를 돌린다. 리버스 프록시 상류가 다시 모든 인터페이스에 바인딩되지 않게 하고, Tailscale 은 ACL 변경 뒤 짧은 도달성 테스트를 남긴다.
3. 다섯 단계 강화 런북
- 데이터 플로우를 그린다:채널 유입, 게이트웨이 대기, 모델 유출, 워크스페이스 입출력. 빠진 변은 암시적
0.0.0.0으로 이어지기 쉽다. - 바인딩 계약을 동결한다:주소·포트·TLS 종단을 문서로 고정하고 변경은 PR 과 대기 전후 차분으로만.
- 스킬을 고정하고 감사한다:출처 URL/커밋, 설치 시각, 필요 권한을 기록. 업그레이드는 차분 검토가 있을 때만.
- 읽기 전용 컨테이너 템플릿:읽기 전용 루트, tmpfs 또는 전용 캐시 볼륨, 명시적 워크스페이스 마운트. 편의를 위한 전체
$HOME금지. - 관측과 롤백:원격 IP, 채널 ID, 스킬 종료 코드를 로깅. 원클릭 롤백은 systemd/launchd 매트릭스 에 맞춰 유지한다.
4. 인용 가능한 임계값
- 팀이 30분 안에 정확한 바인딩 주소·포트 목록을 내지 못하면 설정 드리프트가 높다고 보고 새 채널 전에 문서와 자동 프로브를 동결한다.
- 스킬이 15개를 넘고 절반 이상이 해시/소스 미검토면 분기 감사+버전 고정을 강제한다.
- 컨테이너 쓰기 가능 경로가 업무상 최소 집합을 넘어 호스트 비밀과 겹치면 다음 변경 창에 마운트 분할한다.
5. 원격 Mac 게이트웨이 신호와 조치
| 신호 | 조치 |
|---|---|
| 노트북 절전이 채널을 끊거나 웹훅이 쌓임 | 전용 원격 Mac 또는 VPS 로 옮기고 전원·launchd 검증—SSH/VNC 선택 가이드 |
| GPU/트랜스코드가 포트·메모리를 다툼 | 프로세스나 호스트를 분리 |
| 관리자가 사무 LAN 밖에서 운용해야 함 | Tailscale ACL 과 tailnet 내부 바인딩만;공개 엣지는 웹훅용 프록시로 한정 |
| 업그레이드 후 인증 어긋남 | 무응답 진단 매트릭스 실행, 마이그레이션 절차에 따라 백업 확인 |
6. FAQ:운영자가 실제로 맞닥뜨리는 결정
질:본에서 0.0.0.0 을 허용해야 하는가. 티켓·기한·롤백이 붙은 의도적 예외만. 기본은 루프백 또는 이름 있는 tailnet+프록시. 벤더의 “모든 인터페이스”는 WAN 서면 승인 없으면 루프백+리버스 프록시로 번역한다.
질:웹훅과 관리/디버그 분리는. 호스트명·경로·속도 제한 버킷·가능하면 인증서를 나눈다. 인증 없이 헬스와 웹훅을 한 접두에 섞지 않는다. 로그에 클래스 태그를 달아 노이즈를 걷는다.
질:ClawHub 최소 감사는. 발행자, 커밋/tarball 해시, 선언 권한, 외향 엔드포인트, 고정판 읽기 전용 차분. 자격 경로·글로브 확대는 두 번째 검토자 필수.
질:자동 업데이트는. 내부 레지스트리·검증 미러·CI 고정 스모크가 있을 때만. 공개 latest 는 샌드박스에 가두고 장수명 토큰 본 호스트와 분리한다.
질:MEMORY.md 는. 조각과 경로가 데이터 면을 키운다. 권한·암호화·백업을 앱 비밀과 동급으로 다루고 메모리·토큰 체크리스트 와 함께 설계한다.
질:읽기 전용 루트·ACL·SSH 는. 허용 볼륨·tmpfs·불변 설정만. chmod 우회는 거절한다. ACL 은 인사 오프보딩과 대조하고 거부 로그를 본다. SSH 포워딩은 비상구만, 상시는 바인딩+메시 VPN 을 선호하고 장기는 만료일을 기록한다.
7. 심층:거버넌스가 애드혹 방화벽 조정을 이긴다
믿을 수 없는 채널과 강한 로컬 도구의 교차점이다. 바인딩·상류 TLS 는 앱 변경 흐름에 올리고 포트 PR 에 프로브를 붙인다. 스킬은 버전 고정+해시, 움직이는 태그만 주는 상류는 미러 승격. 최소 마운트를 그려 GPU 경쟁이면 분리. 원격 Mac 은 상시 답이지만 패치와 비밀 로테가 대가. 분기 롤백 연습과 두 세대 다이제스트, 로그 최소화와 오너로 긴급 확장의 빨간 선을 지킨다.
8. 관측성과 알림 라우팅
경로별 QPS, 스킬 오류, p95, 재시작, 서명 실패, 디스크 급증을 계측한다. 알림은 바인딩·스킬 담당에도 보낸다. 변경 ID 는 메트릭에 실되 개인정보 보강은 피하고, 다이어그램 밖 리스너를 정기 확인한다.
| 신호 | 수집 방법 | 첫 조사 단계 |
|---|---|---|
| 관리 UI 가 뜻밖의 ASN 에서 프로브됨 | 정책이 허용하면 ASN 을 남긴 리버스 프록시 접근 로그 | 바인딩, IPv6 리스너, 클라우드 보안 그룹 확인 |
| 스킬 p95 악화 | 스킬 이름과 메이저 버전별 히스토그램 | 모델 엔드포인트, 디스크 I/O, 경쟁 배치 확인 |
| launchd 또는 컨테이너 재시작 폭풍 | 중앙 로그 꼬리와 종료 코드 | 읽기 전용 경로 쓰기, 헬스체크 실패 의심 |
| 아웃바운드 연결 부채꼴 확산 | 호스트 플로 로그나 가능하면 eBPF 요약 | 최근 올린 스킬에 새 도메인이 없는지 차분 |
9. 보안 검토용 증거 패키지
대기 목록, 마스킹 프록시, 주석 ACL, 읽기 전용을 강조한 Compose/Kubernetes, 해시·검토자 열 스킬 표, 최근 두 번 롤백 훈련 기록을 한 장 요약에 붙인다.
10. 맺음말:“내 맥에선 된다”를 본 채널과 분리하라
노트북은 절전·VPN 으로 흔들리기 쉽다. 전용 원격 Mac 이나 소형 서버가 예측 가능성을 준다. MACGPU 는 용량을 빌리는 마찰을 낮춘다. 문서화한 표면을 기준으로 외부 스캔을 반복하고 불일치를 결함으로 본다. 바인딩·원격 패턴·스킬·최소 마운트에 측정과 증적을 얹는다.
11. 설치 경로 정렬:npm, Docker, systemd/launchd
npm·Compose·pnpm 은 상태와 롤백이 다르다. OS 별 골든 참조를 하나로 정하고 짧은 표로 묶는다.설치 삼경로 비교, Docker 운영 배포 가이드, systemd/launchd 매트릭스 를 상호 링크한다.
12. 주간 운영 리듬:일곱 가지 점검
- 활성 리스너를 동결된 바인딩 계약과 비교해 드리프트면 티켓을 연다.
- 웹훅 서명 오류율을 보고 채널 사업자 상태 페이지와 맞춘다.
- 스킬 버전을 스캔해 떠 있는 latest 나 이동 태그를 고정한다.
- 워크스페이스와 메모리 파일 백업 성공을 확인한다.
- 로그·산출물 디렉터리 디스크 성장을 보고 포화 전에 로테이트한다.
- Tailscale 또는 VPN 장비 대장을 현직 직원·협력사와 맞춘다.
- 스테이징에서 이전 세대 골든 아티팩트로 통제된 롤백 연습을 한다.
일곱 항은 다섯 단계를 보완해 드리프트를 잡는다. 연 몇 차례 키 유출 테이블탑으로 회전 속도를 본다.