Dart 패키지의 공급망 보안을 위해 GitHub와 협력하기
Dart 패키지의 공급망 보안을 위해 GitHub와 협력하기 (Partnering with GitHub on supply chain security for Dart packages)
오늘부터 GitHub가 Advisory Database, dependency graph, Dependabot에서 Dart를 지원해요. 이제 GitHub가 Dart와 Flutter 앱에 대한 포괄적인 공급망 보안 지원을 제공하게 됐어요.
출처: 원문
본문
오늘부터 GitHub가 Advisory Database, dependency graph, Dependabot에서 Dart를 지원해요. 이제 GitHub가 Dart와 Flutter 앱에 대한 포괄적인 공급망 보안 지원을 제공한다는 뜻이에요.
이 새로운 기능들에 대해 알아보려면 GitHub 블로그 글을 확인해 보세요. Dart 개발자로서 이것이 여러분에게 어떤 의미인지 알아보려면 계속 읽어 주세요.
"이제 Dart가 우리의 공급망 보안 생태계에 들어왔으니, GitHub는 빠르게 성장하는 오픈소스 커뮤니티의 한 부분에 대한 지원을 확장하는 셈이에요."라고 GitHub의 시니어 프로덕트 매니저인 Courtney Claessens가 말했어요. "그리고 보안을 개발 프로세스의 앞쪽으로(left) 옮김으로써 우리는 개발자뿐 아니라 Dart로 개발된 앱에 의존하는 수백만 사용자도 돕게 됩니다."
패키지 보안 이슈 알아보기
멋진 새 Flutter 앱을 만들고 있다고 상상해 보세요. 여러분은 pubspec에서 아주 좋은 패키지들을 많이 사용하면서(이런 것처럼) 앱을 여러 스토어에 배포하고 있어요. 그중 하나에 보안 취약점을 고치는 중요한 업데이트가 있다면 어떻게 될까요? 그것을 어떻게 알 수 있을까요? 수십 개 패키지 각각의 CHANGELOG를 주기적으로 수동으로 확인하지 않는 이상 알 수 없어요. 이것은 정말 어려운 문제예요.
이때 Dependabot이 등장해요. 소스 코드를 GitHub 저장소에서 관리한다면, dependency graph와 Dependabot이 여러분의 pubspec 의존성을 모니터링하고 업데이트가 빠졌는지 알려줘요. Dependabot은 여러분을 대신해 pubspec.yaml을 패키지 최신 버전으로 업데이트하는 풀 리퀘스트를 제출해요. 이 모든 것이 GitHub의 새 Dart 관련 개선을 통해 이뤄져요.
Dependabot 풀 리퀘스트로 Dart 패키지 의존성을 업데이트하는 모습.
GitHub dependency graph가 Dart 패키지의 의존성을 나열한 모습.
Dart 패키지를 위한 advisory database
이 시나리오는 Dart 패키지의 알려진 취약점을 나열하는 고품질의 개방형 보안 advisory 데이터베이스에 의존해요. 이 기능을 위해 우리는 GitHub와 협력해 그들의 인기 있는 GitHub Advisory Database에 Dart 지원을 추가했어요. 이 데이터베이스에는 이미 npm, NuGet, Maven 같은 다른 생태계를 위한 수천 개의 advisory가 들어 있어요.
오늘부터 게시된 Dart 패키지에 대해 advisory를 만들 때 Pub 생태계를 선택할 수 있어요.
GitHub 초안 보안 advisory 양식에서 생태계 드롭다운이 열려 있고 Pub가 선택된 모습.
pub.dev에 게시된 Dart 패키지에 대한 새 보안 advisory 만들기
pub.dev에 패키지를 게시한다면 두 가지 새로운 모범 사례를 권장해요.
- GitHub의 보안 advisory 기능을 사용해서 GitHub 저장소에 새 advisory를 만들어 보세요. GitHub는 이 advisory들을 중앙 GitHub Advisory database로 흡수해요.
- 사용자가 취약점을 어떻게 신고할 수 있는지 상세히 포함한 보안 정책을 구성하세요.
오늘 Dart 저장소를 보호하세요
새 보안 기능은 오늘부터 사용할 수 있어요. 소스 코드가 공개 저장소에 있다면 Dependabot이 보안 이슈 모니터링을 이미 시작했을 거예요. 소스가 비공개 GitHub 저장소에 있다면 이 기능을 활성화하려면 설정을 조금 더 해야 해요.
더 알아보기
- GitHub 블로그: Dart 공급망 보안 지원 — 새로운 기능에 대한 자세한 내용
- GitHub Advisory Database — 알려진 보안 취약점 목록
- Dependabot — 의존성 업데이트 모니터링