RATATOSKRATATOSK
로그인

Open Policy Agent (OPA)

v1.16.0Security
2026년 4월 30일

v1.16.0은 URI 빌트인 함수 추가, Data API 메타데이터 지원, OTLP 메트릭 내보내기와 함께, v1.15.x에서 발생한 로그 유실 버그를 수정한 릴리스입니다.

  • breakingv1.15.x 사용 중이라면 즉시 업그레이드 — 로그가 소리 없이 사라집니다

    v1.15.x의 BufferedLogger 버그로 인해 첫 번째 flush 이후 번들 다운로드 로그, print() 출력, 플러그인 로그가 전부 유실됩니다. 옵저버빌리티 스택에서 조용히 데이터가 손실되는 상황입니다. v1.15.x를 프로덕션에서 운영 중이라면 즉시 v1.16.0으로 업그레이드하고, 그 기간 동안의 로그 파이프라인에 공백이 없는지 확인하세요.

  • securityunits.parse_bytes 지수 상한 적용 — 타임아웃 우회 차단

    units.parse_bytes에 비정상적으로 큰 지수 값을 넣으면 평가 타임아웃을 유발해 정책 집행을 우회할 수 있었습니다. v1.16.0에서 지수 크기에 상한을 두어 수정됐습니다. 사용자 입력이 units.parse_bytes로 전달되는 정책이 있다면 이번 수정이 직접 해당됩니다. 신뢰할 수 없는 소스에서 바이트 문자열을 파싱하는 정책을 우선 검토하세요.

  • enhancementuri.parse / uri.is_valid로 기존 정규식 기반 URL 검증 로직 교체하세요

    지금까지 많은 OPA 정책이 URL 파싱이나 검증에 정규식이나 문자열 조작을 써왔는데, 유지보수가 어렵고 엣지 케이스에 취약합니다. uri.parse는 RFC 3986 기반의 구조화된 컴포넌트(scheme, host, path, query 등)를 반환하고, uri.is_valid는 간결한 boolean 검사를 제공합니다. 리다이렉트 URI, 웹훅 URL, 혹은 URL을 포함하는 입력을 다루는 정책이 있다면 커스텀 파싱 로직을 이 빌트인으로 교체하는 게 낫습니다.

주요 변경 (5)

  • RFC 3986 기반 URI 처리를 위한 uri.parse, uri.is_valid 빌트인 함수 신규 추가
  • Data API에 요청/응답 메타데이터 지원 추가 — 커스텀 필드가 결정 로그의 Custom['request_metadata']에 기록됨
  • Prometheus 메트릭을 OTLP로 내보내기 가능 — 옵저버빌리티 파이프라인 통합에 활용 가능
  • v1.15.x에서 번들 다운로드, print() 호출, 플러그인 로그가 무음으로 유실되던 버그 수정
  • units.parse_bytes의 지수 크기 상한 적용으로 타임아웃 우회 가능성 차단