"화면에서는 막았는데, 주소 하나 바꾸니 남의 데이터가 나옵니다"
버튼을 숨기고, 권한 없는 메뉴를 화면에서 지웠습니다. 눈에 보이는 곳은 완벽합니다. 그런데 브라우저 개발자 도구를 열어 API 주소의 id=1024를 id=1025로 바꾸는 순간, 다른 고객의 주문 내역이 그대로 응답으로 돌아옵니다.
문제는 화면이 아니라 그 뒤의 API입니다. 요즘 SaaS·앱은 화면(프런트)과 데이터(API)가 완전히 분리돼 있습니다. 공격자는 화면을 보지 않습니다. API를 직접 두드립니다. 로그인 화면에서 아무리 잘 막아도, API가 "이 사람이 이 데이터를 볼 자격이 있는가"를 매번 확인하지 않으면 그대로 뚫립니다.
이건 특별한 해킹 기술이 아닙니다. 요청 하나를 바꿔보는 것으로 끝나는, 가장 흔하고 가장 치명적인 실수입니다.
왜 중요한가: API는 이미 공격의 정문입니다
OWASP는 웹과 별도로 API Security Top 10을 발표합니다. 그 1위가 바로 위 사례인 BOLA(객체 수준 인가 취약, 웹의 IDOR에 해당) 입니다. API 공격 상당수가 여기서 시작되고, 손대기 쉬운 만큼 자동화 도구로 대량 스캔당합니다.
방치하면 결과는 하나입니다. 회원 한 명의 정보가 아니라, ID를 1씩 올려가며 전체 회원 DB가 순차적으로 긁혀 나갑니다. 실제 대형 유출 사고 상당수가 인가 검증이 부실한 API 엔드포인트 하나에서 시작됐습니다. 국내에서도 파급력이 큰 취약점은 KISA가 유관기관에 신속히 공유·공지합니다. 즉, 뚫리면 조용히 끝나지 않습니다.
그래서 무엇을 점검해야 하나: 놓치기 쉬운 5가지
- 객체 수준 인가(BOLA/IDOR): 요청에 담긴
id, 주문번호, 파일키가 "정말 이 사용자 것인지" API가 매번 검증하는가 → 남의 데이터 무단 조회를 원천 차단. - 인증 취약: 토큰 만료·서명 검증이 허술하거나, 비밀번호 재설정·로그인에 요청량 제한이 없는가 → 토큰 탈취와 무차별 대입 공격을 막음.
- 과도한 데이터 노출: API가 화면에 필요한 값만 주는가, 아니면 DB 레코드를 통째로 내려주는가 → 프런트에서 안 보여도 응답에는 주민번호·내부 플래그가 실려 나가는 사고 방지.
- 자원·요청량 제한 부재(rate limit): 한 사용자가 초당 수천 건을 던져도 그대로 받는가 → 대량 데이터 수집(스크래핑)과 서비스 마비를 차단.
- 함수 수준 인가 취약: 일반 사용자가 관리자용 API(
/admin/...,DELETE메서드)를 직접 호출하면 막히는가 → 화면에 관리자 버튼이 없다는 이유로 서버 검증을 빠뜨리는 실수를 잡음.
공격자가 AI 에이전트로 이런 빈틈을 사람보다 빠르게 훑을 때 무엇이 달라지는지, 시도 제한·업무 흐름 한도·SSRF까지 OWASP API Top 10 기준으로 넓힌 점검은 AI 에이전트 공격 대비 웹·API 보안 점검 7가지에 정리했습니다.
자가점검 체크리스트
- ☐ 로그인한 내 계정으로, 요청의
id를 옆 번호로 바꿨을 때 남의 데이터가 나오지 않는가 - ☐ API 응답에 화면에서 쓰지 않는 민감 필드(주민번호, 내부 상태값, 이메일 전체)가 섞여 있지 않은가
- ☐ 로그인·비밀번호 재설정 API에 요청 횟수 제한(rate limit)이 걸려 있는가
- ☐ 관리자 전용 API를 일반 계정 토큰으로 호출하면 403으로 차단되는가
- ☐ 인증 토큰이 만료·로그아웃 후에도 계속 통하지 않는가
- ☐ API 문서(Swagger 등)나
.env, 키가 외부에 그대로 노출돼 있지 않은가
수동 확인은 되지만, 판단이 애매합니다
위 체크는 개발자 도구만으로도 시작할 수 있습니다. 문제는 경계선입니다. "이 필드는 노출돼도 되는 값인가", "이 인가 로직이 모든 엔드포인트에 빠짐없이 적용됐는가"는 서비스 구조를 전부 꿰야 판단됩니다. 엔드포인트가 수십 개만 넘어가도 사람 눈으로 전수 점검은 사실상 불가능합니다.
외부에 그대로 노출된 API·키·문서는 자동으로 빠르게 잡아낼 수 있고, 비즈니스 로직에 얽힌 인가 취약은 전문가의 손검증이 필요합니다. 둘은 접근이 다릅니다.
지금 30초, 무료로 노출부터 점검하세요
외부에서 보이는 API·키·설정 노출은 CodeScan 무료 스캔으로 30초 만에 확인할 수 있습니다. 출시 전이든 운영 중이든, 지금 바로 점검하세요 → codescan.kr
BOLA·함수 수준 인가처럼 서비스 로직에 숨은 취약점까지 확인하려면, 해킹대회 수상·레드팀 운영 경력의 보안 전문 기업 SENTRIX가 직접 진단합니다. 심화 점검이 필요하면 문의하세요 → sentrix.co.kr/contact/