보안(Security)

보안(Security)

Dart를 쓰면서 반드시 알아둬야 할 보안 이야기를 정리해 드릴게요. 취약점을 발견했을 때 어떻게 보고하는지, 그리고 보안 취약점이 생길 위험을 최소화하기 위한 모범 사례까지 함께 살펴볼게요.

출처: Security

본문

Dart 팀은 Dart 자체와, Dart로 만든 애플리케이션의 보안을 매우 중요하게 생각해요. 이 페이지는 발견한 취약점을 보고하는 방법을 설명하고, 취약점을 유발할 위험을 최소화하기 위한 모범 사례를 소개해요.

보안 철학

Dart의 보안 전략은 다섯 가지 핵심 기둥을 기반으로 해요.

  • 식별(Identify): 핵심 자산, 핵심 위협, 취약점을 식별해 주요 보안 위험을 추적하고 우선순위를 정해요.
  • 탐지(Detect): 취약점 스캐닝, 정적 애플리케이션 보안 테스트, 퍼징(fuzzing) 같은 기법과 도구를 사용해 취약점을 탐지하고 식별해요.
  • 보호(Protect): 알려진 취약점을 완화해 위험을 없애고, 핵심 자산을 소스 위협으로부터 보호해요.
  • 대응(Respond): 취약점이나 공격을 보고하고, 분류하고, 대응하는 프로세스를 정의해요.
  • 복구(Recover): 사고를 최소한의 영향으로 통제하고 복구할 수 있는 역량을 구축해요.

취약점 보고하기

보안 문제를 보고하려면 https://g.co/vulnz(https://g.co/vulnz)를 사용하세요. 조정과 공개는 dart-lang GitHub 저장소(dart-lang GitHub repos)(GitHub 보안 권고(GitHub security advisories) 포함)에서 이루어져요. 보고서에는 문제의 상세한 설명, 문제를 재현한 과정, 영향받는 버전, 그리고 문제에 대한 완화 방법을 꼭 포함해 주세요. Google 보안 팀은 g.co/vulnz에서 보고서를 받은 지 5영업일 이내에 응답할 거예요.

Google이 보안 문제를 어떻게 처리하는지 자세히 알고 싶다면, Google의 보안 철학(Google's security philosophy)을 참고하세요.

기존 이슈를 보안 관련으로 표시하기

기존 이슈가 보안과 관련 있다고 판단되면, https://g.co/vulnz(https://g.co/vulnz)를 통해 보고하시고, 보고서에 이슈 ID를 꼭 포함해 주세요.

지원 버전

저희는 가장 최근의 안정(stable) Dart 릴리스에 대해 보안 업데이트를 배포하겠다고 약속해요.

기대 사항

저희는 보안 이슈를 P0 우선순위에 준하는 수준으로 취급하며, Dart SDK의 가장 최근 안정 릴리스에서 발견된 주요 보안 문제에 대해서는 베타 또는 패치 수정을 배포해요. dart.dev 같은 Dart 웹사이트에 대해 보고된 취약점은 별도의 릴리스가 필요하지 않으며, 웹사이트 자체에서 수정돼요.

Dart에는 버그 바운티 프로그램이 없어요.

보안 업데이트 받기

이슈와 수정 릴리스에 따라, dart-announce(dart-announce) 메일링 리스트에 공지가 게시돼요.

모범 사례

최신 Dart SDK 릴리스를 유지하세요. 저희는 Dart를 정기적으로 업데이트하며, 이 업데이트가 이전 버전에서 발견된 보안 결함을 수정할 수도 있어요. 보안 관련 업데이트는 Dart 변경 로그(Dart changelog)에서 확인하세요.

애플리케이션의 의존성을 최신 상태로 유지하세요. 패키지 의존성(upgrade your package dependencies)을 업그레이드해서 최신 상태로 유지하세요. 의존성을 특정 버전에 고정하는 것(pinning)은 피하고, 만약 고정한다면 의존성에 보안 업데이트가 있었는지 정기적으로 확인하고 버전 고정도 그에 맞춰 업데이트하세요.

별도로 명시하지 않는 한, 이 사이트의 문서는 Dart 3.13.3을 기준으로 해요. 페이지 마지막 업데이트: 2026-08-30. 소스 보기(View source) 또는 이슈 보고하기.

더 알아보기