Skip to main content

종속성 유지 관리 모범 사례

도움이 될 수 있는 GitHub의 보안 제품을 포함하여 사용하는 종속성을 유지 관리하기 위한 지침 및 권장 사항입니다.

종속성 유지 관리 모범 사례

종속성을 최신 상태로 유지하는 것은 보안 소프트웨어 환경을 유지하는 데 중요합니다. 몇 가지 권장 사항입니다.

          **보안 중심 종속성 관리 도구 채택**
  • 취약점의 종속성을 검사하고 업데이트를 자동으로 제안하는 도구를 사용하고 설정합니다.

  • 연속 모니터링 및 업데이트를 위해 이러한 도구가 CI/CD 파이프라인에 통합되어 있는지 확인합니다.

  • 프로세스를 설정하여 불호환 변경을 방지하기 위해 시맨틱 버전 관리를 따르도록 하십시오.

         **정기적인 취약성 검사 및 감사 수행**
    
  • 정기적인 종속성 감사 및 종속성 검사를 예약하여 오래되었거나 취약한 종속성을 식별합니다.

         **보안 패치 관리 자동화**
    
  • 보안 패치를 자동으로 적용하도록 종속성 관리 도구를 구성합니다.

  • 중요한 보안 업데이트에 대한 자동 끌어오기 요청을 설정하여 신속하게 검토하고 병합할 수 있습니다.

         **종속성 사용에 대한 정책 적용**
    
  • 보안 버전의 종속성 사용을 적용하는 정책을 구현합니다.

  • 취약성을 발생하거나 취약한 종속성을 업데이트하지 못하는 경우 끌어오기 요청의 병합을 차단할 수 있는 도구를 사용합니다.

         **CI/CD에서 보안 테스트 통합**
    
  • CI/CD 파이프라인에 보안 테스트 도구를 통합합니다.

  • 종속성 업데이트가 보안 준수 여부를 자동으로 테스트되는지 확인합니다.

         **잠금 파일 및 종속성 고정 사용하기**
    
  • 잠금 파일(예: package-lock.json, yarn.lock, Pipfile.lock)을 사용하여 알려진 보안 버전에 종속성을 고정합니다.

  • 이러한 잠금 파일을 정기적으로 업데이트하고 검토하여 의도하지 않은 보안 문제 없이 종속성이 최신 상태인지 확인합니다.

         **보안 권고 모니터링**
    
  • 사용하는 언어 및 프레임워크에 대한 보안 권고를 구독합니다.

  • 새로운 취약점의 최신 정보를 지속적으로 확인하기 위해 권고 사항을 개발 워크플로에 자동으로 통합합니다.

  • 종속성 관리 도구에서 제공하는 대시보드를 주기적으로 확인합니다.

  • 중요한 업데이트, 특히 보안 패치에 유의하고 이를 우선 순위로 지정합니다.

         **버전 제어 및 변경 관리**
    
  • 버전 제어의 종속성 변경 내용을 추적합니다(예: 자동화된 끌어오기 요청 활용).

  • 업데이트에 새로운 취약성이 발생하지 않도록 정기적인 코드 검토를 수행합니다.

         **교육 및 인식**
    
  • 개발 및 운영 팀에게 종속성 보안 및 최신 상태 유지의 중요성에 대해 교육합니다.

  • 종속성 관리 및 보안 도구를 효과적으로 사용하는 방법에 대한 교육을 제공합니다.

         **취약성 대응 계획**
    
  • 종속성에서 취약성이 식별되는 경우에 대한 명확한 인시던트 대응 계획을 세워야 합니다.

  • 팀이 보안 문제를 신속하게 해결하고 완화하는 방법을 알고 있는지 확인합니다.

이러한 사례를 따르면 오래되고 취약한 종속성으로 인해 발생하는 위험을 크게 줄이고 더욱 안전한 환경을 유지할 수 있습니다.

GitHub이(가) 어떻게 도움이 될 수 있는지

GitHub는 종속성을 유지하는 데 도움이 되는 보안 기능을 제공합니다.

          **종속성 그래프**: 프로젝트 종속성을 추적하고 취약성을 식별합니다. 
          [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)을(를) 참조하세요.

          **종속성 검토**: 병합되기 전에 풀 리퀘스트에서 안전하지 않은 종속성을 검토합니다. 또한 종속성 검토 작업는 검사에 실패할 수 있으며 분기 보호 규칙에 필요한 경우 취약성을 발생시키는 끌어오기 요청이 병합되지 않도록 방지할 수 있습니다. 
          [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)을(를) 참조하세요.

          **Dependabot**: 취약성을 자동으로 검색하고, 경고를 만들고, 끌어오기 요청을 열어 취약하거나 오래된 종속성을 업데이트합니다. 여러 업데이트를 단일 끌어오기 요청으로 그룹화하여 검토를 간소화할 수 있습니다. 
          [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)을(를) 참조하세요.

          **GitHub Advisory Database**: Dependabot의 취약성 검색을 구동하는 보안 권고를 제공합니다. 
          [AUTOTITLE](/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database)을 참조하세요. 

보안 개요: 위험에 처한 리포지토리, 경고 추세 및 기능 사용 상태에 대한 대시보드를 사용하여 조직의 보안 태세를 보여 줍니다. 보안 개요을(를) 참조하세요.

엔드투엔드 공급망 지침은 엔드투엔드 공급망 보안을 참조하세요.