Skip to main content

부록 E. 보안 점검 체크리스트 PDF

새벽 세 시에는 이론보다 체크박스가 더 쓸모 있다. 이 부록은 바로 그 순간을 위해 준비한 점검표다. OpenClaw를 켜기 전, 운영하는 동안, 그리고 뭔가 잘못됐다고 느껴지는 직후에 무엇부터 확인해야 하는지 한 장씩 따라갈 수 있게 정리했다. 보안은 멋진 선언이 아니라, 빠뜨리지 않는 습관에서 시작한다.

부록 E 보안 점검 체크리스트 PDF

기본 정보

  • 운영 환경 이름: ______________________________

  • 호스트 장비/VPS: ______________________________

  • 주 사용 채널: ______________________________

  • 점검자: ______________________________

  • 점검일: ______________________________

  • OpenClaw 버전: ______________________________

  • 마지막 백업 시각: ______________________________

  • 비상 연락처/메신저: ______________________________

판정 기준

  • 통과: 지금 운영해도 된다.

  • 조치 필요: 운영은 가능하지만 오늘 안에 고친다.

  • 즉시 중지: 이 상태로는 운영하지 않는다.

운영 전 체크리스트

처음 설치한 날뿐 아니라, 새 장비로 옮겼을 때와 큰 설정 변경 직후에도 이 표를 다시 보는 편이 안전하다.

버전과 노출면

  • openclaw --version 결과가 2026.2.25 이상이다. 그보다 낮다면 먼저 업데이트했다.1

  • 패치 전 버전을 사용한 적이 있다면 등록된 장치를 전부 검토했고, 내가 모르는 장치는 제거했다.1

  • 게이트웨이는 127.0.0.1 또는 loopback에만 바인딩되어 있다.2

  • 공인 IP에서 OpenClaw 포트가 직접 열려 있지 않다. 원격 접속이 필요하면 SSH 터널, Tailscale, 또는 역방향 프록시+TLS로만 접근한다.2

  • 방화벽 규칙을 확인했고, 외부에서 불필요한 포트가 열려 있지 않다.2

인증과 채널 접근

  • 게이트웨이 인증이 켜져 있고, 충분히 긴 랜덤 토큰을 사용한다.2

  • Telegram, WhatsApp, Discord 같은 DM 채널은 pairing 정책으로만 받는다.3

  • 그룹 채팅에서는 멘션이 있을 때만 반응하도록 설정했다.3

  • 보류 중인 pairing 요청을 검토했고, 출처가 불명확한 요청은 남겨 두지 않았다.3

  • 파괴적 명령, 계정 변경, 대량 발송 같은 고위험 작업은 반드시 사람 승인을 거치게 해 두었다.5

실행 격리와 권한 최소화

  • OpenClaw는 개인 메인 노트북이나 회사 업무 노트북이 아니라, 별도 VM·전용 노트북·전용 VPS 같은 격리된 환경에서 돌린다.4

  • 전용 OS 사용자로 실행하며, root나 평소 쓰는 개인 계정으로 돌리지 않는다.4

  • 기본 샌드박스가 켜져 있고, 가능하면 non-main 또는 그에 준하는 격리 모드로 운영한다.3

  • 에이전트마다 필요한 도구만 허용했다. 글쓰기 에이전트에 shell을 주지 않았고, 리서치 에이전트에 파일 쓰기 권한을 함부로 열지 않았다.6

  • 파일 접근은 필요한 워크스페이스만 허용했고, ~/.ssh, ~/.aws, 자격 증명 디렉터리, 시스템 경로는 막아 두었다.6

  • 네트워크는 가능한 한 허용 목록 방식으로 좁혔다. 모델 API, 내가 승인한 MCP 서버, 꼭 필요한 SaaS만 연결된다.6

  • 강한 추론 모델이 필요한 역할에는 최신 상위권 모델을 쓴다. 도구를 많이 쓰는 에이전트일수록 약한 모델에 과한 권한을 주지 않는다.5

비밀정보와 파일 보호

  • ~/.openclaw 디렉터리 권한은 700, 주요 설정과 자격 증명 파일은 600이다.3

  • API 키와 토큰은 가능하면 운영체제 키체인이나 전용 비밀 관리 흐름에 저장했다.4

  • .env 파일은 저장소에 커밋되지 않고, 셸 히스토리에도 직접 남기지 않았다.2

  • SOUL.md, AGENTS.md, USER.md, MEMORY.md, 주요 설정 파일은 백업돼 있다.

  • identity.json 또는 핵심 설정 파일의 해시 기준선을 만들어 두었다.7

스킬과 MCP 설치 전 심사

  • 스킬 자동 설치는 꺼 두었고, 새 설치는 반드시 수동 승인으로만 진행한다.2

  • 설치 전 SKILL.md와 실제 코드를 읽었다. exec, spawn, 과도한 파일 읽기, 알 수 없는 외부 호출, 난독화 흔적을 점검했다.6

  • 스킬은 신뢰 가능한 출처만 사용하며, 버전을 고정하고 자동 업데이트를 꺼 두었다.6

  • MCP 서버는 "무엇을 위해 필요한가"를 설명할 수 있고, URL·바이너리 출처와 권한 범위를 검토했다.7

  • 시스템 전체에서 SKILL.md를 검색해 OpenClaw가 알고 있는 경로와 일치하는지 확인했다.7

관측성과 백업

  • openclaw security audit --deep를 실행했고, 중요한 경고가 남아 있지 않다.3

  • 인증 이벤트, 스킬 설치, 에이전트 액션, 네트워크 이벤트를 나중에 확인할 수 있게 로깅이 켜져 있다.2

  • 야간 점검이나 정기 보안 검토가 일정으로 잡혀 있다. 조용히 지나가는 것보다, 정상 상태까지 보고되게 만들어 두었다.5

  • 복구용 백업이 실제로 열리는지 확인했다. 백업은 "있다"보다 "복원된다"가 중요하다.

운영 중 점검 체크리스트

보안은 설치 순간에 끝나지 않는다. 어제 안전했던 구성이 오늘도 안전하다는 보장은 없다.

매일 점검

  • 어제 새로 승인된 장치, pairing, 세션이 모두 내가 아는 것들이다.1

  • 예상하지 않은 스킬 설치 기록이 없다.2

  • 로그에서 이상한 인증 실패, 비정상적인 도구 호출, 예상 밖의 메시지 발송이 보이지 않는다.2

  • 처음 보는 외부 도메인으로의 연결이 없다.7

  • 그날 추가한 스킬이나 MCP는 운영에 넣기 전에 다시 한 번 검토했다.6

매주 점검

  • OpenClaw 최신 보안 업데이트와 공개된 취약점 공지를 확인했다.1

  • openclaw security audit --deep를 다시 실행했다.3

  • identity.json 또는 핵심 설정 파일 해시가 기준선과 일치한다.7

  • 설치된 스킬 목록과 실제 디렉터리를 대조했고, 설명되지 않는 SKILL.md가 없다.7

  • MCP 서버 목록을 다시 보고, 지금도 필요한 것만 남겼다.7

  • 에이전트별 권한을 다시 읽어 봤다. 읽기+네트워크+실행 권한이 한 에이전트에 과하게 몰려 있지 않다.7

  • 크론, 셸 시작 파일, 심볼릭 링크, authorized_keys, 시스템 서비스에 수상한 변경이 없다.79

매월 점검

  • 불필요해진 스킬, MCP, 채널 연결, 오래된 pairing을 정리했다.

  • 주요 토큰과 OAuth 범위를 검토했고, 가능한 것은 교체·축소했다.6

  • 백업에서 샘플 파일 하나를 실제로 복원해 봤다.

  • 한 번쯤은 "악성 스킬이 들어왔다면?"이라는 가정으로 테이블탑 점검을 해 봤다.5

사고 징후 빠른 판별표

아래 항목 중 하나라도 맞으면, "조금 이상하네" 단계로 넘기지 말고 사고 대응 표로 넘어간다.

  • 내가 승인하지 않은 장치가 등록돼 있다.1

  • 설치한 적 없거나 이름이 비슷한 수상한 스킬이 보인다.6

  • 에이전트가 갑자기 외부 서버로 요청을 보내기 시작했다.7

  • .bashrc, .zshrc, authorized_keys, crontab, systemd/launchd, Git hooks에 모르는 변경이 생겼다.9

  • 모델 API 키, GitHub 토큰, 클라우드 자격 증명이 노출됐을 가능성이 있다.89

  • 평소보다 훨씬 많은 자동 실행, 대량 메시지 발송, 의도하지 않은 파일 수정이 발생했다.

사고 후 체크리스트

여기서는 침착함보다 순서가 더 중요하다. 공격을 먼저 멈추고, 증거는 버리지 말고, 자격 증명은 아끼지 말고 바꾼다.

0~15분: 멈추기

  • 게이트웨이를 중지하거나 외부 접근을 먼저 끊었다.810

  • dmPolicy를 일시적으로 닫거나, 새 pairing과 자동 실행을 멈췄다.1011

  • 의심 스킬은 즉시 비활성화하거나 격리 경로로 옮겼다. 바로 삭제하지는 않았다.9

  • 화면 캡처, 로그, 의심 메시지, 설치 시각을 남겼다.89

  • 사고 시작 추정 시각, 영향을 받은 장비, 채널, 에이전트를 적어 두었다.8

15~60분: 증거와 범위 확인

  • 프로세스 목록, 네트워크 연결, Docker 상태, 최근 로그, 설정 파일, 세션 기록을 수집했다.8

  • 어떤 파일을 읽었는지, 어떤 명령을 실행했는지, 어느 도메인으로 통신했는지 추적했다.9

  • 악성 스킬의 SKILL.md와 관련 파일은 분석용 사본을 남겼다.9

  • 지속성 확보 흔적을 확인했다. 대상은 ~/.bashrc, ~/.zshrc, ~/.profile, authorized_keys, crontab, systemd/launchd, Git hooks, 심볼릭 링크다.9

  • 네트워크 접근 권한이 있었던 스킬이라면 클라우드 감사 로그, CI/CD, 외부 SaaS 로그도 함께 살폈다.9

1~24시간: 자격 증명 교체와 복구

  • 최우선으로 모델 API 키, 클라우드 키, GitHub/GitLab 토큰, 데이터베이스 비밀번호, SSH 키를 교체했다.9

  • 이어서 CI/CD 비밀값, 패키지 레지스트리 토큰, 서드파티 API 키도 교체했다.9

  • 오래된 토큰은 폐기했고, 새 비밀정보는 더 안전한 저장 방식으로 다시 넣었다.8

  • 악용된 취약점이나 구버전 이슈를 패치한 뒤에만 복구를 진행했다.18

  • 마지막으로 확인된 정상 백업 또는 깨끗한 커밋에서 필요한 파일을 복원했다.10

  • 복구 전 openclaw security audit --deep를 다시 돌려 큰 경고가 없는지 확인했다.11

복구 후 7~30일 추적

  • 최소 7일, 반복 사고였으면 30일 동안 재발 모니터링 일정을 유지한다.10

  • 같은 문제가 3번 이상 반복되면 "주의"가 아니라 규칙과 자동 감시 수준을 올린다.10

  • 이번 사고를 바탕으로 에이전트 규칙, 허용 권한, 검토 절차를 실제로 수정했다.10

사고 기록 양식

아래 빈칸은 실제로 써 두면 좋다. 기억은 흐려지지만, 기록은 다음 사고를 줄인다.

사건 요약

  • 사고 번호: ______________________________

  • 심각도: SEV-1 / SEV-2 / SEV-3 / SEV-4

  • 최초 발견 시각: ______________________________

  • 발견자: ______________________________

  • 관련 스킬/MCP/에이전트: ______________________________

  • 영향 범위: ______________________________

타임라인

  • ________ : ______________________________________

  • ________ : ______________________________________

  • ________ : ______________________________________

  • ________ : ______________________________________

잠재 노출 자산

  • 모델 API 키

  • 클라우드 자격 증명

  • Git 저장소 토큰

  • 데이터베이스 계정

  • SSH 키

  • 메신저 세션/채널 자격 증명

  • 고객 데이터/문서

  • 기타: ______________________________

완료 확인

  • 증거 보존 완료

  • 자격 증명 회전 완료

  • 악성 스킬 격리 완료

  • 복구 검증 완료

  • 재발 방지 조치 반영 완료

  • 다음 재점검 일정 등록 완료

절대 넘기면 안 되는 빨간 줄

아래 항목 중 하나라도 해당하면, "일단 써 보자"가 아니라 운영 시작 금지다.

  • 게이트웨이가 0.0.0.0에 바인딩돼 있다.2

  • 인증 없이 외부에서 접속된다.2

  • DM 정책이 open이거나 그룹에서 멘션 없이 반응한다.3

  • 스킬 자동 설치가 켜져 있다.2

  • 스킬 코드를 읽지 않고 설치한다.6

  • 샌드박스 없이 고권한 도구를 기본값으로 켠다.35

  • 개인 또는 회사의 메인 작업 환경에서 그대로 돌린다.4

최종 서명란

  • 운영 시작 승인: ______________________________

  • 승인 일시: ______________________________

  • 다음 정기 점검일: ______________________________

  • 사고 시 1차 연락 담당: ______________________________

참고

1BulwarkAI OpenClaw Security Hardening Checklist

2OpenClaw Hardening Checklist: 15 Steps to Secure Your Setup

3OpenClaw Security Checklist

4The OpenClaw Hardening Checklist - In-Depth Edition

5SlowMist OpenClaw Security Practice Guide

6OpenClaw Hardening Checklist: 15 Steps to Secure Your Setup

7BulwarkAI OpenClaw Security Hardening Checklist

8OpenClaw Incident Response Procedure

9Incident Responder — OpenClaw Security Skill

10Incident Response — ClawHub

11The OpenClaw Hardening Checklist - In-Depth Edition

책 목록

오픈클로 OpenClaw: 메신저 안에서 일하는 나만의 AI 에이전트

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기