1 / 1
사내 실전 가이드

🏢 사내망 반입 가이드

인터넷도, npm도, pip도 안 되는 폐쇄망 환경.
내가 AI와 만든 도구를 회사 안으로 안전하고 완벽하게 반입하는 실전 전략입니다.

SECTION 1

🎯 목적에 따라 정해지는 도구와 사내망의 장벽

"도구는 잘 만들었는데, 왜 회사 컴퓨터로 옮기면 에러가 날까요?"

우리가 바이브 코딩으로 만드는 도구는 크게 두 가지 목적 중 하나입니다. 내 목적에 맞춰 도구를 선택하지만, 외부 인터넷이 차단된 사내망(폐쇄망)에 들어가는 순간 완전히 다른 규칙이 적용됩니다.

웹 서비스 (Web / Node.js)
목적: 여러 팀원이 브라우저 주소로 접속해 쓰는 대시보드·계산기·입력 양식.
기본 구조: HTML + CSS + JS (Node.js 생태계).
사내망의 벽 외부 npm 설치 불가, 무단 웹 서버 배포 금지.
로컬 자동화 (Python / Script)
목적: 내 PC에서 수백 개 엑셀 취합, 폴더 정리, 반복 문서 가공.
기본 구조: .py 단일 스크립트 또는 패키징된 .pyz 파일.
사내망의 벽 pip install 불가, 실행파일(.exe) 반입 금지.
사내망 반입 시 가장 흔한 착각

"집에서 잘 돌던 node_modules 폴더나 파이썬 코드를 USB나 망연계로 복사해서 사내 PC에서 켜면 100% 터집니다."
사내망 컴퓨터는 외부 패키지 저장소(npm, PyPI)와 통신할 수 없기 때문입니다.

SECTION 2

🏢 사내 웹의 배포 한계와 해법: SharePoint SPFx

사내망에서는 임의로 서버를 띄울 수 없습니다. 그렇다면 어디에 배포해야 할까요?

왜 사내 서버(Linux/Express)를 직접 못 띄우나요?

바깥에서는 Vercel이나 Cloudflare에 클릭 한 번으로 배포하지만, 사내망에서는 보안 방화벽, 포트 개방 승인, 24시간 서버 유지보수 책임 등 넘어야 할 산이 너무나 높습니다. 비전공자가 혼자 감당하기에는 사실상 불가능합니다.

해결책: 사내 공인 백화점, SharePoint SPFx에 입점하기!

내가 사내에 새로운 건물(서버)을 직접 지으려 하지 말고, 회사가 이미 공인해 둔 빌딩(SharePoint 포털) 안에 팝업스토어(웹 부품, WebPart)로 쏙 들어가는 방식입니다.

SharePoint SPFx란?
SharePoint Framework(SPFx): 마이크로소프트 사내 포털 안에 우리가 만든 React나 웹 화면을 안전하게 띄울 수 있도록 허용된 공식 프론트엔드 확장 방식입니다.
데이터(DB)는 어떻게 하나요?
별도 데이터베이스 서버(MySQL 등)를 살 필요 없이, 사내 SharePoint List(리스트)를 데이터베이스처럼 읽고 쓸 수 있습니다. 권한 관리와 백업이 사내 정책에 자동 연동됩니다.

우리 회사 실제 사례: AX Hub & Agent Store

실제로 사내에서 널리 쓰이는 AX HubAgent Store 또한 이 SharePoint 기반 SPFx 방식을 채택했습니다.
복잡한 사내 보안 심의를 거치지 않고도 사내 전 임직원에게 웹 도구를 안전하게 서비스할 수 있는 가장 검증된 모범 패턴입니다.

SECTION 3

🍱 의존성 제거 대작전: "사내망용 도시락 싸기"

외부 식당(npm/pip)이 없는 산골(사내망)에 갈 때는 필요한 재료를 모두 담은 도시락이 필요합니다.

번들링(Bundling) 비유: 도시락 싸기

집에서는 배달의민족(npm/pip)으로 그때그때 재료를 시켜 요리했습니다.
하지만 사내망은 배달 라이더가 못 들어오는 격리된 산골입니다. 따라서 출발하기 전, 내가 쓸 모든 소스와 도구를 하나의 도시락 통(단일 HTML 파일 or 의존성 없는 단일 .py/.pyz 파일)에 완전히 조리해서 담아가야 합니다.

1) 웹/HTML 도구: 단일 파일(Single File)로 뭉치기

Vite 같은 도구로 프로젝트를 만들었다면, node_modules를 가져가는 것이 아니라 Vite Singlefile 플러그인을 통해 HTML 안에 CSS와 JS 코드를 하나로 싹 밀어 넣습니다.

"사내 폐쇄망에 반입해야 해서 npm을 쓸 수 없어. Vite 빌드 시 외부 의존성(CSS, JS, 폰트)이 모두 index.html 단일 파일 하나로 인라인 번들링되도록 vite-plugin-singlefile 설정을 적용하고 빌드 명령어를 알려줘."
npm run build # 결과물: dist/index.html 딱 1개 파일만 생김 → 이 파일만 사내망으로 반입!

2) Python 도구: .exe 없이 사내망으로 반입하는 3대 전략

왜 .exe 파일은 사내 반입이 어렵나요?

사내 보안 솔루션(DLP, EDR, 백신)은 서명되지 않은 .exe 파일을 잠재적 악성코드로 간주해 자동 격리/삭제하거나, 사내 규정상 실행 파일 반입 자체를 금지합니다.
따라서 파이썬은 .exe가 아닌 순수 파이썬 형태(.py / .pyz / .whl)로 번들링해야 안전하게 반입할 수 있습니다.

전략 1 (가장 강력 추천)
파이썬 표준 라이브러리 100% 활용 (단일 .py)
외부 패키지(pip)를 일절 쓰지 않고, 파이썬 기본 내장 모듈(csv, json, sqlite3, urllib, re, tkinter)만으로 작성합니다.
장점 단 1개의 .py 파일만 반입하면 끝! 사내 보안 승인이 100% 통과됩니다.
전략 2 (공식 단일 압축)
파이썬 내장 zipapp (.pyz 파일)
여러 파이썬 파일과 순수 파이썬 라이브러리를 통째로 압축해 단 1개의 .pyz 파일로 만듭니다.
장점 .exe가 아닌 파이썬 아카이브이므로 백신에 걸리지 않으며, python app.pyz로 바로 실행됩니다.
전략 3 (외부 모듈 필수 시)
오프라인 휠 (Wheelhouse 번들링)
pandas, openpyxl 등이 꼭 필요할 때, 외부망에서 패키지 설치 파일(.whl)들을 통째로 다운로드받아 사내망으로 들여옵니다.
실행 pip install --no-index --find-links=./wheels ... 로 인터넷 없이 설치!

전략별 AI 추천 프롬프트

"사내 PC는 외부 인터넷 차단 및 .exe 반입 금지 환경이야. 지금 작성한 파이썬 코드에서 pandas/openpyxl 같은 외부 라이브러리를 모두 제거하고, 파이썬 표준 내장 모듈(csv, json, sqlite3, urllib 등)만 사용하도록 코드를 리팩토링해서 단일 .py 파일로 완성해줘."
"이 파이썬 프로젝트의 여러 소스 파일과 라이브러리를 사내망에 .exe 없이 반입하려고 해. 파이썬 공식 내장 도구인 zipapp을 사용해서 단일 .pyz 압축 실행 파일로 번들링하는 방법과 실행 명령어를 단계별로 알려줘."
# [외부망] 필수 패키지 오프라인 휠(.whl) 다운로드 pip download -r requirements.txt -d ./wheels # [사내망] 인터넷 연결 없이 로컬 휠 폴더에서 즉시 설치 pip install --no-index --find-links=./wheels -r requirements.txt
SECTION 4

🚚 특별 배달 서비스: 사내망과 CDN (Content Delivery Network)

"복잡한 번들링 없이 라이브러리를 쓸 수 있는 사내망의 숨은 통로가 있다고요?"

CDN 비유: 검증된 정문 배달 트럭

사내망에서 일반 외부 웹사이트는 다 막혀 있지만, 전 세계적으로 널리 쓰이는 공인 CDN(jsDelivr, cdnjs 등)은 사내 방화벽 화이트리스트에 허용되어 있는 경우가 많습니다.
즉, 복잡하게 요리해서 싸오지 않아도 정문 배달 트럭(CDN)을 통해 브라우저가 라이브러리를 즉석에서 받아옵니다.

CDN 사용 방식 예시 (HTML 한 줄)

설치 명령어(npm install) 대신, HTML 상단에 링크 한 줄만 넣으면 차트나 스타일이 바로 동작합니다:

<!-- 차트 그리기 라이브러리 (Chart.js) --> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <!-- 아이콘 라이브러리 (Font Awesome) --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
CDN의 강력한 장점
  • Vite나 Webpack 같은 복잡한 번들러 세팅 불필요
  • 단일 HTML 파일에 스크립트 링크만 적으면 끝
  • 파일 크기가 가볍고 수정이 즉각 반영됨
반입 전 주의사항
  • 우리 회사 사내망에서 해당 CDN 주소(jsdelivr/cdnjs)가 열려 있는지 테스트 필수!
  • 만약 회사 방화벽이 CDN마저 차단한다면 → SECTION 3의 로컬 번들링(도시락)으로 전환!
"npm 패키지를 사용하지 않고, 공인 CDN(cdnjs 또는 jsdelivr)의 <script> 태그 방식으로 Chart.js와 FontAwesome을 불러와 작동하도록 index.html을 작성해줘."
SECTION 5

✅ 사내망 반입 전 필수 자가진단 체크리스트

반입 심의를 신청하기 전, 직접 클릭하며 6가지 통과 기준을 점검해 보세요!

반입 점검 완료율 0 / 6 완료 (0%)
1. 보안 & 사내 규정 준수 (Security & Privacy)
개인정보 및 비밀 키(API Key / DB 암호) 하드코딩 제로
소스 코드, 설정 파일, 주석 내에 OpenAI/Claude API Key, 사내 DB 접속 비밀번호, 사번, 실제 고객 데이터가 남아있지 않은가요? (샘플 데이터는 반드시 가짜 Dummy 데이터로 구성)
실행 파일(.exe, .bat) 원천 배제 및 순수 소스 준비
사내 보안 솔루션(DLP, EDR, 백신)에서 악성코드로 자동 격리되는 바이너리(.exe)나 임의 배치 파일 대신, 순수 텍스트/표준 형식(.py, .pyz, .html)으로 산출물을 준비했나요?
2. 오프라인 구동 & 의존성 번들링 (Offline & Bundling)
오프라인(비행기 모드) 자가 구동 테스트 통과
와이파이와 인터넷을 완전히 끈 상태에서 도구를 실행했을 때 오류(흰 화면, 누락된 모듈, CDN 차단) 없이 로컬에서 온전히 작동하나요?
산출물 단일화(도시락 번들링) 완결
웹은 node_modules 없이 단일 dist/index.html로 번들링되었나요? 파이썬은 표준 라이브러리 기반 단일 .py 또는 zipapp .pyz로 묶였나요?
사내망 CDN 화이트리스트 사전 점검 (CDN 사용 시)
외부 패키지 대신 <script src="..."> CDN 링크 방식을 썼다면, 사내 PC 브라우저에서 해당 CDN 주소(jsdelivr/cdnjs)가 사내 방화벽에 차단되지 않고 열리는지 미리 확인했나요?
3. 인수인계 & 운영 준비 (Handover & Guide)
비전공자 동료를 위한 3줄 실행 가이드(README) 첨부
"1) 파일 더블클릭 2) 엑셀 CSV 끌어다 놓기 3) 결과 확인"처럼 팀원이 복잡한 터미널 명령어 없이도 바로 따라 할 수 있는 친절한 실행 설명서가 준비되었나요?
🎉

사내망 반입 심의 기준(6/6)을 모두 충족했습니다!

보안, 의존성, 인수인계 가이드 준비가 모두 끝났습니다. 이제 사내 망연계 시스템을 통해 당당하게 반입을 신청하세요!

이제 사내망 반입 준비가 모두 끝났습니다! 🚀

기초 개념부터 실습, 사내 반입까지 바이브 코딩으로 나만의 업무 도구를 완성해보세요.