프로젝트 개요
- 과제
- 기업용 소프트웨어의 입력 검증과 AI 업무 흐름 점검
- 수행 범위
- 파일 업로드 · 비밀번호 변경 · 업무용 AI 테스트 자동화
- 제공 결과
- 웹·API 취약점의 재현 근거와 개선 권고, AI 테스트 실행·분석 기록
서버 측 검증부터 AI의 실제 실행까지.
파일 업로드와 비밀번호 변경 기능에서는 화면의 입력 제한과 서버의 처리 결과를 비교해 검증을 우회할 수 있는 취약점을 확인했습니다.
업무용 AI에서는 로그인, 문서 업로드와 AI 실행을 연결했습니다. 응답뿐 아니라 도구 호출과 데이터 반영 결과를 수집하고, 자동 분석 결과를 실행 기록과 대조하도록 구성했습니다.
고객과 제품의 식별정보를 제외했습니다. 기술 예시는 설명을 위해 재구성했으며, 과거 진단 당시의 관찰 내용입니다. 현재 고객사의 보안 상태나 수정 완료 여부를 나타내지 않습니다.
검증 내용 자세히 보기
관심 있는 항목을 선택하면 검증 과정과 기술 근거를 확인할 수 있습니다.
파일 업로드 검증+
05FILE UPLOAD / INPUT VALIDATION스위스 CRM 소프트웨어 · 익명 사례
파일명 속성 중복으로
확장자 검증이 우회됐습니다.
단일 파일명 속성으로는 차단되던 업로드 요청이, 같은 속성을 중복해 전송하면 허용됐습니다. 이 과정에서 허용되지 않은 확장자의 파일이 저장되는 것을 확인했습니다.
위험과 영향
검증 단계와 저장 단계가 서로 다른 파일명 값을 사용했습니다. 검증 단계에서 허용된 파일로 판단하더라도, 실제 저장 시에는 금지된 확장자가 적용될 수 있었습니다.
검증 방법
금지 확장자만 넣은 요청은 403으로 거부됐습니다. 허용 확장자와 금지 확장자를 같은 속성에 차례로 넣은 요청에서는 200 응답과 함께 업로드가 허용되는 차이를 확인했습니다.
개선 권고
중복되거나 모호한 파일명 값을 거부하고, 검증과 저장에 같은 값을 사용하도록 권고했습니다. 서버에서 허용할 확장자·파일 유형을 명시하고, 저장 위치와 파일명도 별도로 통제하도록 했습니다.
RETEST CRITERIA재검증 기준
단일 값과 중복 값 모두에서 금지 확장자가 거부되는지 확인합니다. 검증을 통과한 파일명과 실제 저장한 파일명이 일치하고, 정상 파일은 계속 업로드할 수 있어야 합니다.
비밀번호 정책 적용+
06PASSWORD POLICY / API CONTROLS스위스 CRM 소프트웨어 · 익명 사례
비밀번호 정책이
API에 적용되지 않았습니다.
화면에 적용된 입력 제한과 달리, API에 직접 요청하면 길이가 짧은 비밀번호나 빈 값이 허용됐습니다. 비밀번호 변경 요청의 빈도 제한도 적용되지 않은 상태였습니다.
위험과 영향
브라우저의 입력 제한만으로는 비밀번호 정책을 강제할 수 없습니다. 사용자가 화면을 거치지 않고 요청을 보내면 약한 비밀번호가 설정될 수 있고, 변경 기능의 반복 호출도 서버에서 통제하기 어려웠습니다.
검증 방법
테스트 계정으로 비밀번호 변경 API에 짧은 값과 빈 값을 각각 전달했습니다. 화면에서 차단된 값이 서버에서는 200 응답으로 처리되는지 비교하고, 비밀번호 변경 요청의 빈도 제한도 점검했습니다.
개선 권고
비밀번호 정책을 서버에서도 일관되게 검증하고, 빈 값과 취약한 비밀번호를 거부하도록 권고했습니다. 변경 요청에는 적절한 빈도 제한과 시도 기록을 적용하도록 했습니다.
RETEST CRITERIA재검증 기준
화면과 API가 같은 비밀번호 정책을 따르는지 확인합니다. 정상 변경은 허용하면서, 반복 요청에는 합의한 제한이 적용되고 관련 기록이 남아야 합니다.
업무용 AI 테스트 자동화+
07AI SECURITY / TEST AUTOMATION스위스 CRM 소프트웨어 · 수행 사례
AI 응답과 도구 실행을
실제 업무 흐름에 따라 검증했습니다.
업무용 AI 어시스턴트를 반복 점검하는 자동화 환경을 구축했습니다. 로그인, 업무 데이터 생성, 문서 업로드, AI 실행을 연결하고 응답과 도구 호출, 데이터 반영 결과까지 확인하도록 구성했습니다.
구축 목적
모델의 답변만으로는 서비스의 접근 권한과 업무 처리 과정을 충분히 검증하기 어렵습니다. 애플리케이션의 정상 인터페이스를 통해 테스트를 실행하고, 문서·사용자 권한·도구가 연동되는 구간을 점검하도록 했습니다.
검증 범위
문서·자유 입력·메타데이터의 프롬프트 인젝션, 시스템 프롬프트 노출, 조직 간 데이터 분리, 도구 오용과 매개변수 조작을 점검 항목에 포함했습니다. 별도의 신뢰성 테스트에서는 답변의 사실성·일관성·형식 준수 등을 확인하도록 구성했습니다.
분석 결과 검토
노출 확인용 표식(Canary), LLM 평가, 규칙 기반 분석을 함께 사용했습니다. 자동 분석에서 탐지된 항목은 응답과 도구 호출 기록을 직접 검토하고, 근거가 확인된 내용만 최종 분석에 반영하도록 했습니다.
DELIVERABLES개발팀의 재검증을 위한 기록
버전별 입력과 예상 동작, 요청·응답, 반복 결과와 도구 호출을 함께 기록했습니다. 자동 판정 결과를 검증하고, 확인된 근거를 분석 보고서에 반영하도록 했습니다.
AI 보안 검증 범위 보기 ↗
기업 서비스와 AI를 함께 검증합니다.
대상 시스템과 AI의 업무 범위를 바탕으로 검증 방법을 제안합니다.
프로젝트 문의 ↗