비즈니스 로직 스캔
비즈니스 로직 스캔이 AI 에이전트로 소스 코드의 인가 및 접근 제어 취약점을 찾는 방법을 설명합니다.
히스토리 GitLab 19.5에서 bl_security_analyzer ( experiment 유형)와 agentic_analyzer_security_ingestion ( gitlab_com_derisk 유형)이라는 기능 플래그와 함께 도입 되었습니다. 기본적으로 비활성화되어 있습니다. GitLab Duo Chat에서 스캔을 시작하려면 duo_chat_flow_commands ( wip 유형)라는 기능 플래그 도 필요합니다. 기본적으로 비활성화되어 있습니다. Feature flag 이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조합니다. 비즈니스 로직 스캔은 AI 에이전트를 사용해 애플리케이션이 자체 규칙을 적용하는 방식의 취약점을 찾습니다. SAST 와 같은 패턴 기반 분석기는 코드가 유효하고 의도만 잘못된 경우가 많아 이러한 취약점을 놓치는 경우가 많습니다. 비즈니스 로직 스캔이 찾는 항목 # 비즈니스 로직 스캔은 다음과 같은 취약점을 찾습니다. 객체 수준 인가 결함(BOLA). 안전하지 않은 직접 객체 참조(IDOR)라고도 합니다. 예를 들어 엔드포인트가 URL의 ID로 송장을 불러오지만, 해당 송장이 인증된 사용자의 것인지 확인하지 않습니다. 인가 누락. 예를 들어 관리 작업에서 사용자가 인증되었는지는 확인하지만, 사용자가 관리자인지는 확인하지 않습니다. 대량 할당. 예를 들어 업데이트 엔드포인트가 모든 요청 파라미터를 모델에 전달하므로, 사용자가 자신의 role 또는 is_admin 속성을 변경할 수 있습니다. 비즈니스 로직 스캔의 동작 방식 # 비즈니스 로직 스캔은 CI/CD 파이프라인의 job이 아니라 GitLab Duo Agent Platform 기반 플로로 실행됩니다. .gitlab-ci.yml 파일에 템플릿이나 job을 추가하지 않습니다. 스캔은 다음 방법 중 하나로 시작됩니다. 스캔 시작 방법 스캔 대상 켜는 방법 머지 리퀘스트에서 자동으로 머지 리퀘스트가 추가하거나 수정한 파일. 부분 스캔입니다. 프로젝트에 비즈니스 로직 스캔 프로필을 연결합니다. GitLab Duo Chat에서 기본 브랜치의 전체 리포지터리. 전체 리포지터리를 스캔하는 권장 방법입니다. GitLab Duo Chat에서 플로 명령을 보냅니다. API로 기본 브랜치의 전체 리포지터리. API 요청을 보냅니다. 일정에 따라 아직 사용할 수 없습니다. 아직 사용할 수 없습니다. 비즈니스 로직 스캔 켜기 # 사전 요구 사항: GitLab Ultimate 구독. 최상위 그룹에 GitLab Duo Agent Platform이 켜져 있어야 합니다. 최상위 그룹에 bl_security_analyzer 및 agentic_analyzer_security_ingestion 기능 플래그가 활성화되어 있어야 합니다. agentic_analyzer_security_ingestion 이 없으면 스캔 결과가 취약점 보고서에 표시되지 않습니다. GitLab Self-Managed에서는 관리자가 이 기능 플래그를 활성화해야 합니다. 비즈니스 로직