샌드박스(Sandbox)란 무엇인가? — 코딩 초보자도 이해하는 완벽 설명
샌드박스가 무엇인지 모래 놀이터 비유부터 브라우저·앱·보안까지 코딩을 처음 배우는 분도 이해할 수 있도록 쉽게 설명합니다.
코딩을 배우다 보면 "샌드박스(Sandbox) 환경에서 실행됩니다" 라는 말을 자주 만나게 됩니다.
처음 들으면 모래? 상자? 싶어서 당황하게 됩니다. 그런데 알고 보면 아주 직관적인 개념입니다. 이 글에서는 비유부터 시작해서 실제로 어디에 쓰이는지까지 차근차근 설명합니다.
모래 놀이터에서 시작하는 이야기
![]()
공원에 있는 **모래 놀이터(sandbox)**를 상상해보세요.
아이들이 모래 놀이터 안에서 모래성을 쌓고, 구덩이를 파고, 물을 붓고, 모래를 흩뿌려도 — 놀이터 바깥은 아무 영향을 받지 않습니다. 잔디밭이 파헤쳐지지 않고, 길이 더러워지지 않습니다.
컴퓨터 세계에서 샌드박스도 똑같습니다.
샌드박스 = 컴퓨터 안에 만들어 놓은 격리된 놀이 공간
그 안에서 무슨 일이 일어나도 바깥(실제 컴퓨터)에는 영향을 주지 않습니다.
왜 샌드박스가 필요할까?
아래 두 가지 상황을 생각해보세요.
상황 1 — 샌드박스가 없을 때
웹사이트를 하나 열었는데, 그 사이트에 악성 코드가 숨어 있었습니다. 악성 코드가 내 컴퓨터의 사진 폴더를 열고, 파일을 삭제하고, 비밀번호를 훔쳐갑니다.
상황 2 — 샌드박스가 있을 때
웹사이트를 하나 열었는데, 브라우저가 그 사이트를 샌드박스 안에서 실행합니다. 악성 코드가 뭔가를 하려 해도 샌드박스 밖으로 나올 수 없습니다. 내 컴퓨터는 안전합니다.
한마디로, 샌드박스는 "실컷 실험해도 실제 환경은 건드리지 못하게" 막는 울타리입니다.
샌드박스가 막는 것들
샌드박스 안의 프로그램은 아래 행동들을 함부로 할 수 없습니다.
| 행동 | 설명 |
|---|---|
| 📁 파일 읽기·쓰기 | 내 컴퓨터의 사진, 문서, 비밀번호 파일에 접근 불가 |
| 🌐 네트워크 접속 | 허락 없이 인터넷에 데이터를 보내는 것 차단 |
| ⚙️ 시스템 설정 변경 | 컴퓨터의 중요한 설정을 마음대로 바꾸는 것 차단 |
| 🔍 다른 프로그램 조작 | 열려 있는 다른 앱을 들여다보거나 건드리는 것 차단 |
실생활 예시 4가지
1. 크롬 브라우저 — 탭마다 샌드박스
크롬에서 탭을 여러 개 열어봤을 때, 한 탭이 멈추거나 충돌해도 다른 탭은 멀쩡한 경험을 해보셨나요?
그 이유가 바로 샌드박스입니다. 크롬은 탭 하나하나를 **별도의 격리된 공간(프로세스)**에서 실행합니다. 한 탭이 폭발해도 나머지 탭에 불이 번지지 않습니다.
| 탭 | 상태 | 다른 탭 영향 |
|---|---|---|
| 탭 1 (유튜브) | 정상 | - |
| 탭 2 (이상한 사이트) | 💥 충돌 | ❌ 없음 |
| 탭 3 (구글) | 정상 | - |
2. 스마트폰 앱 — 앱끼리 서로 못 봄
아이폰이나 안드로이드에서 카카오톡과 인스타그램을 동시에 쓰더라도, 카카오톡이 인스타그램의 대화 내용을 볼 수 없습니다.
각 앱이 샌드박스 안에 갇혀 있기 때문입니다. 앱이 카메라, 사진첩, 연락처에 접근하려면 반드시 사용자의 허락을 받아야 하는 것도 같은 이유입니다.
| 앱 | 다른 앱 데이터 접근 | 카메라 사용 | 연락처 접근 |
|---|---|---|---|
| 카카오톡 | ❌ 불가 | ✅ 허락 필요 | ✅ 허락 필요 |
| 인스타그램 | ❌ 불가 | ✅ 허락 필요 | ✅ 허락 필요 |
| 악성 앱 | ❌ 불가 | ❌ 차단됨 | ❌ 차단됨 |
3. 바이러스 백신 — 의심 파일 격리 실행
바이러스 백신 프로그램이 수상한 파일을 발견했을 때, 그냥 실행해서 확인하면 위험합니다.
그래서 바이러스 백신은 샌드박스 안에서 그 파일을 실행합니다. 파일이 악성이라면 샌드박스 안에서 난리를 쳐봤자 실제 컴퓨터는 안전합니다.
| 파일 유형 | 실행 방식 | 결과 |
|---|---|---|
| 안전한 파일 | 샌드박스 실행 후 정상 확인 | ✅ 통과 |
| 악성 파일 | 샌드박스 안에서 폭발 | 🛡️ 실제 PC 안전 |
| 의심 파일 | 샌드박스에서 행동 분석 | 🔍 판정 후 결정 |
4. 개발자 도구 — 코드 테스트 환경
코딩을 배울 때 쓰는 온라인 에디터(CodePen, JSFiddle, Repl.it 등)도 샌드박스입니다.
초보자가 실수로 이상한 코드를 작성해도 서버 전체가 망가지거나 다른 사람에게 영향을 주지 않습니다. 마음껏 실험하고 망해도 됩니다. 그게 바로 샌드박스의 장점입니다.
| 환경 | 실수해도 괜찮나요? | 이유 |
|---|---|---|
| 온라인 코드 에디터 | ✅ 괜찮음 | 샌드박스로 격리됨 |
| 실제 운영 서버 | ❌ 큰일남 | 격리 없이 바로 적용 |
| 로컬 개발 환경 | ✅ 대부분 괜찮음 | 내 컴퓨터 한정 피해 |
샌드박스 구조를 그림으로 보면
┌─────────────────────────────────────────────────────────────┐
│ 내 컴퓨터 (실제 환경) │
│ │
│ 📁 내 파일들 🔑 비밀번호 📷 카메라 📞 연락처 │
│ │
│ ┌───────────────────────────────────────────────┐ │
│ │ 🏖️ 샌드박스 (격리 공간) │ │
│ │ │ │
│ │ 프로그램 실행 중... │ │
│ │ 파일 접근 시도 → 🚫 차단! │ │
│ │ 네트워크 전송 시도 → 🚫 차단! │ │
│ │ │ │
│ └───────────────────────────────────────────────┘ │
│ ↑ 이 벽을 넘을 수 없음 │
└─────────────────────────────────────────────────────────────┘
정리 한 눈에 보기
| 비유 | 컴퓨터 세계 |
|---|---|
| 모래 놀이터 | 샌드박스 (격리된 실행 공간) |
| 놀이터 울타리 | 샌드박스 경계 (접근 차단) |
| 놀이터 안 모래 | 샌드박스 안의 프로그램/코드 |
| 놀이터 밖 잔디 | 실제 컴퓨터의 파일·데이터 |
| 아이가 모래 흩뿌려도 잔디 안 더러워짐 | 악성 코드가 실행돼도 실제 PC는 안전 |
샌드박스는 결국 "마음껏 놀되, 울타리 밖은 건드리지 마" 라는 규칙입니다.
코딩을 배울 때도, 새로운 프로그램을 설치할 때도, 인터넷을 쓸 때도 — 우리가 모르는 사이에 샌드박스가 우리를 보호하고 있습니다.
새 글을 이메일로 받아보세요 ✉️
새 글이 올라오면 바로 알려드릴게요