코멘토 로고

OpenAI Codex 같은 코딩 에이전트로 업무 도구를 만들 때 권한과 네트워크는 어떻게 설정해야 안전한가요?

꿈
꿈꾸는 AI

처음에는 read-only(읽기만 가능)에 네트워크를 막은 상태로 시작하세요. 코드나 결과 파일을 만들 때만 workspace-write(작업 폴더 안만 고칠 수 있음)와 on-request(필요할 때 사람에게 승인 요청)로 올리면 됩니다. 처음 하는 사람에게는 'workspace-write, on-request, 네트워크 차단' 조합 하나만 기억하라고 권합니다. 원본 엑셀은 작업 폴더 밖에 두고, 에이전트가 만든 코드는 사본으로 먼저 돌려 보세요. 사내 승인 기간을 빼면 설정은 10분이면 끝납니다.

이 글은 2026년 10월 19일 기준입니다. OpenAI와 GitHub의 공식 문서와 함께, 포텐스닷 라운지에서 같은 요청을 두 AI 모델에 직접 넣어 본 결과를 참고했습니다.

코딩 에이전트는 챗봇형 AI와 무엇이 다른가요?

챗봇형 AI는 답을 글로 주고, 사람이 그걸 복사해서 씁니다. 코딩 에이전트는 작업 폴더의 파일을 직접 읽고 고치고 명령까지 실행합니다. 그래서 무엇을 읽고, 어디까지 고치고, 인터넷에 나가도 되는지를 사람이 먼저 정해 줘야 합니다.

구분 챗봇형 AI 코딩 에이전트
파일 사람이 붙여 넣은 내용만 봄 작업 폴더의 엑셀이나 코드 파일을 직접 읽고 만들고 고침
명령 실행 하지 않음 스크립트 실행, 라이브러리 설치, 파일 삭제까지 가능
실수하면 틀린 답변 원본 덮어쓰기, 폴더 삭제, 외부 전송 같은 실제 변경
사람이 정할 것 무엇을 물을지 파일 권한, 승인 방식, 네트워크 허용 범위

네트워크 차단은 에이전트가 실행하는 명령이 인터넷에 접속하지 못하게 막는 설정입니다. 에이전트가 답을 만들려고 읽은 파일 내용은 이 설정과 상관없이 모델 서비스 쪽으로 전달될 수 있습니다. 매출이나 인사 엑셀을 에이전트에게 읽혀도 되는지는 이 설정과 별개로 회사 보안 담당자가 판단할 문제입니다.

읽기 전용과 워크스페이스 쓰기는 언제 나눠 쓰나요?

파일을 보기만 하는 단계, 예를 들어 기존 엑셀 구조를 파악하거나 변경 계획을 쓰는 단계에서는 read-only를 씁니다. 스크립트나 결과 파일을 만드는 단계부터 workspace-write로 바꿉니다.

Codex에서는 파일 권한을 샌드박스(에이전트가 움직일 수 있는 울타리)로 정합니다. Codex 샌드박스 안내에 나온 선택지는 세 가지입니다.

  • read-only: 읽기만 합니다. 파일 수정, 명령 실행, 네트워크 접근에는 승인을 받게 할 수 있습니다.
  • workspace-write: 작업 폴더 안의 파일만 고칠 수 있습니다.
  • danger-full-access: 파일과 네트워크 제한을 모두 푼 상태입니다. 특별한 이유가 없으면 쓰지 않습니다.

Codex 샌드박스 개념 문서도 workspace-write와 on-request를 함께 쓰는 조합을 위험이 낮은 설정으로 소개합니다.

'지점별 월간 매출 엑셀 12개를 합쳐 월간보고서_요약.xlsx 만들기'를 예로 들면 단계별 설정은 이렇습니다.

단계 하는 일 파일 권한 승인 방식 네트워크
① 구조 파악 사본 엑셀의 시트 이름과 열 이름 확인, 변경 계획 작성 read-only on-request 차단
② 스크립트 초안 작업 폴더에 merge_report.py 생성 workspace-write on-request 차단
③ 사본으로 테스트 사본 엑셀로 실행해 결과 파일 생성 workspace-write on-request 차단
④ 라이브러리 설치 pandas, openpyxl(엑셀을 다루는 파이썬 도구) 설치 workspace-write 명령마다 승인 사내 승인 경로 우선. 어쩔 수 없으면 잠깐만 열고 다시 차단
⑤ 실제 데이터로 실행 승인받은 데이터로 최종 보고서 생성 workspace-write on-request 차단

설정은 어떤 순서로 하나요?

아래 7단계를 순서대로 따라 하면 됩니다. 버튼 이름과 위치는 앱, 코드 편집기 확장, 터미널(CLI)마다 달라서 화면 이름은 일반적인 형태로 적었습니다.

  1. 회사에서 써도 되는 범위를 확인합니다. 보안 담당자에게 Codex를 써도 되는지, 어떤 계정을 쓸지, 에이전트에게 읽혀도 되는 데이터가 실제 매출인지 가상 데이터인지 답을 받습니다. 회사 업무 자료는 회사 계정으로, 회사가 승인한 도구에서만 다뤄야 합니다.
  2. 원본을 작업 폴더 밖으로 옮깁니다. 원본 엑셀은 C:\업무자동화\월간보고 밖(예: 사내 드라이브)에 두고 백업을 하나 더 만듭니다. 작업 폴더에는 입력_사본 폴더와 출력 폴더만 둡니다. workspace-write는 작업 폴더 전체를 고칠 수 있게 하기 때문에, 원본이 하위 폴더에 있으면 같이 수정될 수 있습니다.
  3. 작업 폴더 하나만 열고 시작합니다. 폴더 선택 창에서 C:\업무자동화\월간보고만 고릅니다. C:\, 바탕화면, 문서 폴더 전체는 고르지 않습니다. CLI라면 그 폴더로 이동한 뒤 실행합니다. 에이전트가 고칠 수 있는 범위가 이 폴더를 기준으로 정해집니다.
  4. 읽기 전용으로 구조부터 봅니다. 입력창 근처의 권한 메뉴에서 읽기 전용 모드를 고르고 이렇게 요청합니다. "입력_사본 엑셀의 시트 이름, 열 이름, 파일 간 차이를 정리하고 변경 계획만 써 줘. 어떤 파일도 만들거나 고치지 마."
  5. 코드를 쓸 때 워크스페이스 쓰기로 바꿉니다. 같은 권한 메뉴나 설정 파일 config.toml에서 workspace-write와 on-request를 고르고 네트워크는 꺼 둡니다. 설정 파일 예시는 바로 다음 항목에 있습니다.
  6. 승인 창이 뜨면 명령을 읽고 판단합니다. python merge_report.py처럼 만든 스크립트를 실행하는 명령은 승인합니다. 삭제(del, rm), 이동(move), 외부 접속(curl), 설치(pip install)는 일단 거부하고 "이 명령이 무엇을 하는지 쉬운 말로 설명해 줘"라고 되묻습니다. 코드를 못 읽는 사람에게는 승인 창이 마지막 안전장치라서, '항상 허용' 같은 옵션은 고르지 않습니다.
  7. 라이브러리 설치는 사내 경로로 합니다. "pandas가 없습니다" 같은 오류가 나면 IT 담당자에게 승인된 설치 방법(사내 패키지 저장소, 미리 설치된 파이썬 환경 등)을 요청합니다. 외부 설치가 허용될 때만 네트워크를 잠깐 열어 설치 명령 하나만 승인하고 바로 닫습니다. 열려 있는 시간이 짧을수록 악성 패키지가 들어오거나 데이터가 나갈 위험이 줄어듭니다.

네트워크 접근과 파일 수정 범위는 어떤 설정으로 제한하나요?

Codex CLI는 파일 권한(sandbox_mode), 승인 방식(approval_policy), 네트워크 허용 여부 세 가지로 범위를 정합니다. Codex 샌드박스 안내에 따르면 로컬에서 실행할 때 기본값은 작업 폴더 중심 제한에 네트워크 꺼짐입니다.

CLI 설정은 보통 사용자 폴더의 .codex\config.toml에서 바꿉니다. 윈도우라면 C:\Users\사용자이름\.codex\config.toml입니다. 메모장으로 열어 아래처럼 적으면 되는데, 키 이름과 위치는 버전에 따라 바뀔 수 있으니 저장 전에 Codex 샌드박스 안내와 맞춰 보세요.

sandbox_mode = "workspace-write"     # 작업 폴더 안만 수정
approval_policy = "on-request"       # 필요할 때 사람에게 승인 요청

[sandbox_workspace_write]
network_access = false               # 에이전트가 실행하는 명령의 인터넷 접속 차단
설정 안전한 값 피할 값 이유
sandbox_mode read-only 또는 workspace-write danger-full-access 파일과 네트워크 제한이 모두 풀림
approval_policy on-request never(묻지 않고 실행) danger-full-access와 같이 쓰면 내 권한으로 무엇이든 묻지 않고 실행
네트워크 false(차단) 항상 true(허용) 악성 패키지 다운로드, 사내 파일 외부 전송 위험

사무 자동화 상황별 네트워크 기준은 다음과 같습니다.

상황 네트워크
엑셀이나 보고서 파일 분석 차단
시트 취합 스크립트 작성과 테스트 차단
라이브러리 설치 사내 승인 경로 우선. 어쩔 수 없으면 잠깐 열고 접속 도메인 제한
사내 API 연동(예: 근태 시스템 조회) 그 API 도메인만 허용
배포나 운영 작업 별도 계정과 별도 환경에서

네트워크를 열어야 한다면 인터넷 전체 대신 허용 목록(접속해도 되는 주소만 적은 목록)을 씁니다. Codex 샌드박스 안내에도 네트워크를 켜더라도 목적지 규칙과 프록시로 범위를 좁힐 수 있다고 나와 있습니다. OpenAI는 사내에서 Codex를 운영하는 방식을 소개하면서, 예상되는 목적지만 허용하고 낯선 도메인은 승인을 받게 한다고 밝혔습니다. GitHub Copilot coding agent도 방화벽 설정 문서에 따르면 기본적으로 인터넷을 막고 필요한 도메인만 목록에 추가하게 되어 있습니다. 코드나 민감정보가 밖으로 새지 않게 하려는 설계입니다.

MCP(에이전트에 외부 도구나 데이터를 연결하는 표준 방식) 서버도 데이터가 밖으로 나가는 통로가 될 수 있습니다. Codex에 MCP를 연결하는 방법은 Codex MCP 문서에, API에서 쓰는 방법은 OpenAI 커넥터와 MCP 가이드에 있습니다. 출처가 불분명한 MCP 서버는 연결하지 말고, 회사가 승인한 서버만 추가하세요.

API 키와 비밀번호는 작업 폴더에 두면 안 됩니다. 에이전트가 작업 폴더 안의 파일은 다 읽을 수 있기 때문입니다. 특히 아래 파일은 작업 폴더 밖에 두세요.

  • .env(비밀값을 적어 두는 설정 파일)
  • 운영 DB 접속 정보
  • 비밀번호 메모
  • 고객이나 직원 데이터 원본

개발용 키와 운영용 키는 나누고, 만료 기간이 짧은 토큰과 꼭 필요한 권한만 가진 계정을 쓰세요.

업데이트로 바뀐 기능은 어디서 확인하나요?

권한과 네트워크 설정은 OpenAI 개발자 문서의 Codex 샌드박스 안내와 샌드박스 개념 문서에서, 외부 도구 연결은 Codex MCP 문서에서 확인합니다. 업데이트한 뒤 처음 작업하기 전에 권한 메뉴와 config.toml이 의도한 값(workspace-write, on-request, 네트워크 차단)인지 다시 보세요. 기본값이나 메뉴 이름이 바뀌었을 수 있습니다.

에이전트가 만든 코드를 실행하기 전에 무엇을 확인하나요?

원본 덮어쓰기, 파일이나 폴더 삭제, 외부 전송, 결과에 남은 개인정보, 특정 PC에 고정된 경로, 이렇게 다섯 가지를 봅니다. 코드를 못 읽어도 Ctrl+F로 단어를 찾아보거나, 에이전트에게 되묻거나, 사본으로 먼저 돌려 보면 확인할 수 있습니다.

위험 Ctrl+F로 찾을 단어 사무 예시
원본 덮어쓰기 to_excel(, save, open( 요약표를 원본과 같은 이름 교육이수현황_2025.xlsx로 저장
파일이나 폴더 삭제 rmtree, remove, unlink, delete 임시 폴더를 안의 파일까지 통째로 삭제
외부 전송 requests, http, post, upload, smtp 결과 파일을 외부 공유 사이트로 업로드
개인정보 주민, 이름, 연락처, usecols(읽을 열을 고르는 옵션) 주민등록번호 열까지 통째로 읽음
고정 경로 C:/Users/ 특정 직원 계정의 바탕화면 경로가 코드에 박혀 있음

실행 전 체크리스트

  1. 보안 담당자가 승인한 데이터 범위 안에서 작업한다.
  2. 원본을 작업 폴더 밖 승인된 위치에 백업했고, 백업 파일이 실제로 열리는지 확인했다.
  3. 가짜 이름과 사번으로 만든 10~20행짜리 사본으로 먼저 실행한다.
  4. 결과 저장 경로가 원본과 다르고, 같은 이름의 파일을 덮어쓰지 않는다.
  5. 삭제나 이동 명령이 없다. 폴더 정리는 사람이 직접 한다.
  6. 외부 전송 코드가 없고, 에이전트 설정에서도 네트워크가 막혀 있다.
  7. 집계에 필요한 열만 읽고, 결과 파일에 주민번호, 이름, 연락처가 없다.
  8. 집계 기준을 확인했다. 사람 수인지 건수인지, 한 사람이 두 과정을 이수하면 어떻게 세는지 따져 본다.
  9. 한 부서를 골라 원본에서 필터로 직접 센 숫자와 보고서 숫자를 비교했다.
  10. 경로가 상대 경로(스크립트가 있는 폴더 기준이라 다른 PC에서도 통하는 경로)로 되어 있다.

에이전트에게 되물을 질문은 글 뒤쪽 템플릿에 모아 두었습니다.

Claude Sonnet 5.5와 GPT-6.1 Sol에 같은 요청을 하면 무엇이 달랐나요?

두 모델 모두 메뉴 이름을 지어내지 않았고, 덮어쓰기, 삭제, 외부 전송, 개인정보 위험을 모두 찾아냈습니다. 달랐던 건 위험을 어디까지 짚었는지, 그리고 고쳐 준 코드에 무엇을 그대로 남겼는지였습니다. 모델마다 한 번씩만 돌린 결과라 다시 하면 달라질 수 있으니, 어느 모델이 낫다기보다 프롬프트에 무엇을 더 적으면 좋은지 보는 용도로 읽어 주세요. 두 모델 모두 Amazon Bedrock에서 같은 설정으로 실행했고, 예시 데이터는 모두 가상이며 프롬프트 원문은 글 끝에 있습니다.

첫 번째 요청: 비개발자용 단계별 설정 가이드

월간 매출 엑셀 12개를 합치는 도구를 예로, 원본 수정 금지와 외부 전송 금지 조건을 걸고 단계별 가이드를 부탁했습니다.

항목 Claude Sonnet 5.5 GPT-6.1 Sol
메뉴 이름 처리 단계마다 '버전에 따라 다를 수 있음, 공식 문서 확인' 표시. 메뉴 이름을 단정하지 않음 같은 표시를 하고 "실제 스크린샷이 아님"을 밝힘
원본이 하위 폴더에 있을 때 workspace-write만으로는 원본이 보호되지 않는다고 경고하고, 백업과 윈도우 읽기 전용 속성을 제안 같은 경고에 더해, 윈도우 읽기 전용 속성만으로는 부족하니 IT 담당자에게 폴더 권한 제한을 요청하라고 안내
데이터가 밖으로 나가는 문제 네트워크를 막아도 데이터가 안 나간다고 단정할 수 없다고 경고 같은 경고를 맨 앞에 두고, 실제 원본 대신 가상 데이터로 코드를 만들라고 제안
가이드 구성 준비 2단계와 본 단계 7개. 승인 창에서 거부할 명령어(del, rm, curl, pip install) 목록 포함 7단계. 첫 단계가 회사 사용 승인 확인. 같은 이름의 파일 12개는 한 폴더에 둘 수 없다고 지적
업데이트 확인처 사이트 이름만 적고 정확한 경로는 확인이 필요하다고 남김 문서, 도움말, 릴리스 페이지 주소를 직접 적음

승인 창에서 무엇을 거부할지는 Claude Sonnet 5.5 쪽이 따라 하기 쉬웠고, 데이터 반출 문제를 맨 앞에 둔 건 GPT-6.1 Sol 쪽이 눈에 띄었습니다.

두 번째 요청: 위험을 일부러 심어 둔 엑셀 자동화 코드 점검

가상의 교육 이수 현황 코드에 원본 덮어쓰기, 폴더 삭제, 외부 전송, 개인정보, 고정 경로를 심어 두고 점검을 부탁했습니다.

심어 둔 위험 Claude Sonnet 5.5 GPT-6.1 Sol
원본 덮어쓰기 찾음(위험도 높음) 찾음(위험도 높음). 다른 시트와 서식이 사라지는 점까지 언급
폴더 삭제 찾음(위험도 높음) 찾음(위험도 높음)
외부 전송 찾음(위험도 높음). 다만 첫 문장에서는 "주민등록번호가 든 파일이 전송될 수 있다"고 하고, 위험표에서는 "덮어쓴 뒤의 파일을 보낸다"고 해서 설명이 서로 안 맞음 찾음(위험도 높음). 실행 순서상 전송되는 건 요약표라고 정확히 구분
개인정보 열 찾음(위험도 중간) 찾음(위험도 중간)
고정 경로 개인 계정명이 든 절대 경로라고 지적(위험도 낮음) 경로 오류 위험으로만 언급(위험도 중간). 특정 계정의 경로라는 지적은 없음
그 밖에 찾은 위험 오류 처리 없음, Y 표기 차이 사람 수와 건수 혼동, 첫 시트만 읽음, 이수율 없음, 요청 제한 시간 없음
위험표 / 체크리스트 7행 / 8개 11행 / 10개
고쳐 준 코드 부서와 이수여부 2개 열만 읽음. 같은 이름의 파일이 있으면 중단 사번, 부서, 이수여부 3개 열을 읽고 사번 기준으로 인원 계산. 새 파일만 만드는 모드로 저장
권한 결론 원본 읽기, 결과 폴더 쓰기, 네트워크 차단, 삭제는 승인제 검토 단계는 읽기 전용, 저장 단계는 결과 폴더 쓰기, 네트워크 차단

흥미로운 건 두 모델 모두 고쳐 준 코드에 C:/Users/kim.minji/Desktop/교육이수라는 절대 경로를 그대로 남겼다는 점입니다. Claude Sonnet 5.5는 이 경로를 위험이라고 지적해 놓고도 고치지 않았습니다. 프롬프트에서 고칠 항목을 네 가지(원본 보호, 별도 저장, 외부 전송 제거, 개인정보 제외)로만 적었기 때문으로 보입니다. 요청하지 않은 건 안 고친다고 생각하고, 경로처럼 고쳐야 할 항목은 하나하나 적어 주세요.

외부로 보내는 파일 설명이 앞뒤로 엇갈린 것도, 점검을 부탁할 때 "위에서 아래로 실행되는 순서대로 따져 달라"고 적어 두면 줄일 수 있습니다. 두 모델이 낸 설정값과 코드는 그대로 쓰지 말고, 공식 문서로 확인하고 사본으로 돌려 본 뒤 적용하세요.

통째로 복사하는 템플릿은 무엇인가요?

에이전트가 엑셀이나 보고서 자동화 코드를 만들어 주면, 실행하기 전에 아래 내용을 그대로 붙여 넣으세요. 대괄호 부분만 내 상황에 맞게 바꾸면 됩니다.

아래 코드를 실행하기 전에 점검해 줘. 나는 코드를 거의 읽지 못하는 [팀/직무] 담당자야.

[작업 조건]
- 원본 파일: [원본 경로]. 절대 수정, 이동, 삭제하면 안 됨
- 결과 파일: [결과 폴더]에 새 이름으로 저장. 같은 이름의 파일이 있으면 덮어쓰지 말고 중단
- 외부 전송 금지(업로드, 메일, 외부 API 호출 모두)
- 개인정보 열([주민등록번호, 이름, 연락처 등])은 읽지도 저장하지도 않기

[점검 방법]
코드를 위에서 아래로 실행되는 순서대로 따져서, 각 질문에 예/아니오와 해당 줄 번호로 답해 줘.
1) 원본 파일을 수정하거나 같은 이름으로 저장하나요?
2) 파일이나 폴더를 삭제하거나 이동하나요?
3) 인터넷으로 무언가 보내나요? 보낸다면 그 시점에 어떤 파일인가요?
4) 읽는 열과 결과에 저장되는 열을 각각 알려 주세요. 개인정보 열이 있나요?
5) 특정 PC에만 있는 절대 경로가 있나요?
6) 집계 숫자는 사람 수인가요, 건수인가요? 같은 사람이 여러 번 나오면 어떻게 세나요?

[수정 요청]
- 위험한 부분을 위험도(높음/중간/낮음), 무슨 일이 생기나, 어떻게 고치나 표로 정리해 줘.
- 고친 전체 코드를 다시 줘. 절대 경로는 스크립트 폴더 기준 상대 경로로 바꾸고, 내가 위에 적지 않은 문제도 찾았다면 함께 고쳐 줘.
- 이 작업에 맞는 권한(read-only / workspace-write / 네트워크 허용)을 단계별로 알려 줘. 메뉴 이름이나 설정 키가 확실하지 않으면 '버전에 따라 다를 수 있음, 공식 문서 확인'이라고 표시해 줘.

Codex의 메뉴 이름, 기본값, 설정 키는 업데이트로 바뀔 수 있으니 적용하기 전에 위에 링크한 공식 문서에서 현재 값을 확인하세요.

부록: 실험에 쓴 프롬프트 원문은 무엇이었나요?

두 요청 모두 두 모델에 아래 원문을 그대로 넣었습니다. 두 번째 요청에 들어 있던 외부 업로드 주소는 가상 주소라서 이 글에서는 <외부 공유 사이트 주소(가상)>로 바꿔 적었습니다.

첫 번째 요청

저는 중견 제조사 경영지원팀에서 일하는 기획자이고 개발 경험은 없습니다. 이번에 OpenAI Codex 같은 코딩 에이전트로 간단한 업무 도구를 만들어 보려고 합니다.

만들고 싶은 도구:
- 매월 각 지점에서 받는 '월간_매출_지점별.xlsx' 파일 12개를 하나로 합쳐 '월간보고서_요약.xlsx'를 만드는 파이썬 스크립트
- 작업 폴더: 내 PC의 'C:\업무자동화\월간보고' 폴더 하나만 쓸 예정
- 원본 엑셀은 같은 폴더의 '원본' 하위 폴더에 있고, 이 파일들은 절대 수정되면 안 됨
- 회사 보안 규정상 사내 파일이 외부 인터넷으로 나가면 안 됨

요청:
1. 코딩 에이전트가 일반 챗봇형 AI와 무엇이 다른지 3줄 이내로 설명해 주세요. (파일을 직접 읽고 고치고, 명령을 실행한다는 점 중심)
2. 아래 세 가지 설정을 비개발자 눈높이로 설명하고, 제 상황에서 작업 단계별로 무엇을 골라야 하는지 표로 정리해 주세요.
   - 읽기 전용(read-only)
   - 워크스페이스 쓰기(workspace-write)
   - 네트워크 접근 차단/허용
   단계 예: ① 기존 파일 구조 파악 ② 스크립트 초안 작성 ③ 테스트 실행 ④ 필요한 라이브러리 설치
3. 설정 화면에서 따라 할 수 있도록 '스크린샷형 단계별 가이드'를 써 주세요. 각 단계는 [화면] 무엇이 보이는지 → [선택] 무엇을 누르거나 고르는지 → [이유] 왜 그렇게 하는지, 형식으로 써 주세요.
4. 실제 메뉴 이름이나 옵션 이름이 버전마다 다를 수 있는 부분은 추측해서 단정하지 말고 '버전에 따라 다를 수 있음, 공식 문서 확인'이라고 표시해 주세요. 업데이트로 바뀐 기능을 어디서 확인하면 되는지도 알려 주세요.
5. 마지막으로 '이건 절대 하지 말 것' 3가지를 짧게 적어 주세요.

한국어로, 회사 내부 공유 문서에 그대로 붙여 넣을 수 있게 써 주세요.

두 번째 요청

저는 인사·총무팀 주니어 담당자이고, 코딩 에이전트에게 '직원 교육 이수 현황 엑셀을 정리해서 부서별 보고서를 만들어 줘'라고 시켰더니 아래 코드를 만들어 줬습니다. 저는 코드를 거의 읽지 못합니다. 실행 버튼을 누르기 전에 확인을 부탁드립니다.

[에이전트가 만든 코드 — 가상 예시]
```python
import os, shutil
import pandas as pd
import requests

BASE = "C:/Users/kim.minji/Desktop/교육이수"
SRC = BASE + "/원본/교육이수현황_2025.xlsx"

df = pd.read_excel(SRC)
# 열: 사번, 이름, 주민등록번호, 부서, 과정명, 이수여부, 이수일

df = df[df["이수여부"] == "Y"]
summary = df.groupby("부서").size().reset_index(name="이수인원")

# 결과 저장
summary.to_excel(SRC, index=False)

# 임시 폴더 정리
shutil.rmtree(BASE + "/임시")

# 결과 공유
requests.post("<외부 공유 사이트 주소(가상)>", files={"file": open(SRC, "rb")})
print("완료")
```

요청:
1. 이 코드가 실제로 무엇을 하는지 한 줄씩 아주 쉬운 말로 풀어 주세요.
2. 실행하면 위험한 부분을 모두 찾아 '위험도(높음/중간/낮음) – 무슨 일이 생기나 – 어떻게 고치나' 표로 정리해 주세요.
3. 위험한 부분을 고친 안전한 버전의 코드를 주세요. (원본은 읽기만 하고, 결과는 별도 파일로 저장하고, 외부 전송은 빼고, 개인정보 열은 결과에서 제외)
4. 앞으로 엑셀·보고서 자동화 코드를 에이전트에게 받을 때마다 쓸 수 있는 '실행 전 체크리스트'를 10개 이내 항목으로 만들어 주세요. 비개발자가 코드를 못 읽어도 확인할 수 있는 방법(예: 에이전트에게 다시 물어볼 질문, 원본 백업, 테스트용 복사본으로 먼저 실행)을 포함해 주세요.
5. 이 작업에서 에이전트 권한을 읽기 전용, 워크스페이스 쓰기, 네트워크 허용 중 무엇으로 두는 게 맞았는지 한 문단으로 정리해 주세요.

한국어로 답해 주세요.