Security
SC4SAP 보안 아키텍처
SC4SAP의 안전장치는 문서가 아니라 코드로 강제돼요. 무엇을 막고, 무엇을 묻고, 무엇은 막지 못하는지까지 이 페이지에 적었어요.
- SAP 권한, 그 이상은 없어요등록한 SAP 사용자에게 이미 있는 권한 안에서만 동작해요
- 운영계는 읽기전용QA · 운영 등급에서는 생성 · 변경 · 삭제 도구 자체가 사라져요
- 민감 데이터는 꺼내지 않아요은행 · 급여 같은 테이블의 행 추출은 승인으로도 풀리지 않아요
1.시스템을 지키는 방식
AI가 할 수 있는 일을 겹겹이 제한해요. 층마다 실패하는 방향이 다르게 설계돼 있어서, 한 층이 빠지거나 잘못 설정돼도 다음 층이 막아요.
등급에 따라 도구를 제외해요
연결마다 개발 · QA · 운영 등급을 붙여요. QA와 운영 등급에서는 시스템을 바꾸는 도구가 세션에서 아예 빠져요. AI는 보이지 않는 도구를 부를 수 없어서, 프롬프트를 교묘하게 써도 우회되지 않아요. 등급은 만든 뒤 바꿀 수 없고, 바꾸려면 연결을 지우고 다시 만들어야 해요.
민감 테이블의 행 추출을 막아요
은행 · 급여와 이에 준하는 테이블은 상시 차단 목록에 있어요. 이 테이블의 내용 조회와 SQL 조회는 요청이 사용자에게 닿기 전에 거부되고, 어디서 받은 승인으로도 풀리지 않아요.
민감한 호출은 멈추고 사람에게 물어요
앞의 두 층을 통과한 민감한 호출은 실행 전에 도구와 정확한 입력을 보여 주고 기다려요. 답이 없으면 제한 시간이 지나 자동으로 거부되고, 브라우저를 닫는 것도 거부로 처리돼요.
MCP 서버 자체 가드는 항상 켜져 있어요
SAP와 직접 통신하는 MCP 서버(abap-mcp-adt-powerup) 안에도 같은 차단이 들어 있어요. 플러그인의 훅이 빠지거나 잘못 설정돼도 이 층은 꺼지지 않아요.
설치할 때 직접 확인해요
설정 위저드는 연결 직후 세션 왕복, 시스템 정보, ADT 권한을 점검하고, 행 추출 차단과 등급 차단 훅을 등록한 뒤 둘 다 실제로 막히는지 스모크 테스트를 돌려요. 이 단계를 통과하지 못하면 설정이 끝나지 않아요.
2.네트워크 환경에 맞춘 구성
SC4SAP는 SAP의 ADT(ABAP Development Tools) 인터페이스로 연결해요. 연결 경로는 회사의 보안 정책에 맞춰 고르고, SC4SAP를 위해 정책이 금지하는 경로를 새로 열 필요는 없어요.
| 환경 | 구성 |
|---|---|
| 사내망 | 플러그인은 사용자 PC의 Claude Code 안에서 돌아요. 그 PC에서 SAP 서버에 닿기만 하면 되고, SAP 쪽을 외부에 열지 않아요. |
| 원격 · 외부 접속 | VPN, 허용 목록, 게이트웨이처럼 회사가 이미 쓰는 경로를 그대로 써요. 경로 구성은 회사 정책을 따라요. |
| S/4HANA Cloud | Public · Private 에디션 모두 ADT가 켜져 있으면 연결할 수 있어요. |
| 여러 시스템 · 법인 | 연결 하나가 프로필 하나예요. 개발 · QA · 운영과 법인별 시스템을 각각 등록하고, 등급도 각각 붙여요. |
| 망분리 · 사내 설치 | 환경마다 조건이 달라서 도입 상담에서 함께 검토해요. |
답변을 만들기 위해 AI가 읽은 소스와 조회 결과는 모델 제공자(Anthropic)의 API로 전송돼요. 그래서 그 API로 나가는 경로는 필요해요. 네트워크 밖으로 보낼 수 없는 데이터에는 연결하지 마세요.
3.운영 데이터와 감사
- SAP 데이터
- SAP 시스템의 사본이나 백업을 따로 저장하지 않아요. 작업에 필요한 만큼 그때그때 읽어요.
- 모델 학습
- 고객의 콘텐츠를 모델 학습에 쓰지 않고, 서비스 운영에 필요한 제공자 말고는 누구와도 공유하거나 팔지 않아요.
- 자격 증명
- 플러그인은 SAP 비밀번호를 OS 키체인(Windows 자격 증명 관리자 · macOS 키체인 · Linux libsecret)에 둬요. 웹 워크스페이스는 연결 정보를 암호화해 저장하고, 저장한 뒤에는 브라우저에 다시 보여 주지 않아요.
- 감사 기록
- 웹 워크스페이스는 계정마다 모든 프롬프트, 스킬 실행, 승인 · 거부를 기록해요. 누가 무엇을 허용했는지 나중에 확인할 수 있어요.
- 시스템 변경
- 쓰기가 허용된 등급에서 만든 변경은 시뮬레이션이 아니에요. 등록한 기술 사용자를 작성자로 SAP에 기록되고 트랜스포트에 실려서, SAP의 변경 이력에 그대로 남아요.
함께 지켜 주세요
- 개인 관리자 계정 대신, 업무에 필요한 권한만 준 전용 기술 사용자로 연결하세요. 권한은 주기적으로 검토하세요.
- 시스템마다 정확한 등급을 붙이세요. SC4SAP는 개발로 등록된 운영 시스템을 알아차릴 수 없어요.
- 새 스킬은 비운영 환경에서 먼저 돌려 보세요. 결과물은 검토자를 위한 초안이고, 회사의 검토 · 승인 · 이관 절차를 대신하지 않아요.
- 요청 내용을 읽지 않은 채 승인하지 마세요.
4.SC4SAP Web(PoC)의 보안 수준
웹 워크스페이스는 PoC · 클로즈 테스트 단계예요. 아래는 지금 적용하고 있는 기준이고, 정식 출시까지 구성이 바뀔 수 있어요.
- HTTPS로만 서비스해요로그인 쿠키는 HTTPS에서만 전송되도록 설정돼요. 로그인은 Google 계정으로 해요.
- 외부에 열린 건 웹 하나예요AI 세션을 돌리는 백엔드는 외부에 공개하지 않고, 웹에서 오는 요청도 서명을 확인한 뒤에만 받아요.
- 연결 정보는 암호화해 저장해요SAP 접속 정보와 API 키는 AES-256-GCM으로 암호화되고, 브라우저로 다시 내려가지 않아요.
- 계정마다 동시 세션 수를 제한해요한 계정이 여는 AI 세션 수에 상한이 있어요.
- 배포 전마다 의존성 취약점을 점검해요알려진 취약점이 나오면 버전을 올려 막고 배포해요.
PoC 단계에서 운영 시스템을 연결하려면 도입 상담에서 구성을 먼저 같이 검토해요.
5.안전장치가 막지 못하는 것
안전장치는 위험을 줄이는 안전망이지 컴플라이언스 프로그램이 아니에요.
- 데이터를 대신 분류하지 못해요. 커스텀 테이블 중 어느 것에 개인정보가 들어 있는지 알지 못해요.
- 소스 코드 안에 직접 적힌 값은 소스의 일부라서, 읽기를 요청한 프로그램에 민감한 값이 있으면 그대로 읽혀요.
- AI의 결과는 틀리거나 불완전할 수 있어요. 중요한 시스템에 반영하는 것은 자격 있는 사람이 책임져야 해요.
보안 검토가 필요하신가요
환경별 구성과 보안팀 검토는 도입 상담에서 함께 봐요. 취약점으로 의심되는 사례는 sc4sap.dev@gmail.com으로 알려 주세요.