Skip to main content
Skip to content

코드 스캐닝 자동 수정에 대하여

Autofix는 code scanning 경고에 대한 잠재적인 수정 사항을 생성하여 기존 취약성을 수정하는 데 도움이 됩니다.

누가 이 기능을 사용할 수 있나요?

Agentic Autofix has narrower eligibility requirements than Copilot Autofix, and isn't available for user-owned repositories in an enterprise that uses Enterprise Managed Users. For details, see About autofix for code scanning.

Copilot Autofix for code scanning is available for the following repository types:

  • Public repositories on GitHub.com
  • Organization-owned repositories on GitHub Team or GitHub Enterprise Cloud with GitHub Code Security enabled

For more information about eligible products, see About GitHub Advanced Security.

GitHub는 code scanning 경고에 대해 두 가지 개별적인 자동 수정 환경(agentic autofix 및 Copilot Autofix)을 제공합니다. 둘 다 LLM(큰 언어 모델), 코드베이스의 데이터 및 code scanning 분석을 사용하여 잠재적인 코드 변경 내용 및 설명을 생성합니다. 그러나 이들은 워크플로, 결과, 액세스 요구 사항 및 사용량이 다릅니다.

자동 수정의 두 가지 유형은 무엇인가요?

Agentic Autofix 및 Copilot Autofix는 서로 다른 문제를 해결합니다:

  • 하나 이상의 경고를 대신 처음부터 끝까지 조사하고 수정하도록 agentic autofix에 맡기려는 경우 Copilot을(를) 사용합니다.
  • 하나의 경고에 대해 직접 검토하고 적용할 단일 제안 코드 변경을 원할 때 Copilot Autofix를 사용합니다.

agentic autofix에서 하나 이상의 경고를 Copilot에 할당합니다. 코드베이스를 탐색하고, 수정을 생성하고, 변경 내용의 유효성을 검사합니다. 그런 다음 제안된 수정 사항을 포함하는 초안 끌어오기 요청을 엽니다.

Copilot Autofix를 사용하면 GitHub 지원되는 경고 하나에 대한 제안된 단일 코드 변경 내용이 생성됩니다. 이 제안을 사용하여 풀 리퀘스트를 직접 만들 수 있습니다.

자동 수정은 어디에서 사용할 수 있나요?

두 기능에 접근하는 방식은 서로 다릅니다. 조직 소유 리포지토리의 경우 agentic autofix는 조직 소유자 또는 보안 관리자가 사용하도록 설정해야 합니다. 조직이 엔터프라이즈에 속하는 경우 엔터프라이즈 소유자 또는 보안 관리자도 이를 허용해야 합니다. 조직 수준에서 활성화하면 기본적으로 적격 리포지토리에 대해 사용하도록 설정되지만, 리포지토리 관리자는 상위 수준 설정이 허용되면 옵트아웃하거나 다시 사용하도록 설정할 수 있습니다.

개인 계정이 소유한 적격 공용 리포지토리의 경우 리포지토리 관리자가 agentic autofix을 직접 사용하도록 설정할 수 있습니다. Copilot을(를) 사용하려면 agentic autofix 라이선스가 필요하지 않지만, Enterprise Managed Users이(가) 소유한 리포지토리에서는 사용할 수 없습니다. 자세한 내용을 보려면 코드 스캐닝을 위한 에이전트형 자동 수정에 대한 액세스 관리(을)를 참조하세요.

Copilot Autofix는 반대로 관리자가 사용하지 않도록 설정하지 않는 한 CodeQL를 사용하는 모든 리포지토리에서 기본적으로 사용하도록 설정됩니다. GitHub.com의 모든 공용 리포지토리에서 사용할 수 있습니다. GitHub Code Security에 대한 라이선스가 있는 조직 및 기업이 소유한 내부 또는 프라이빗 리포지토리에서도 사용할 수 있습니다. agentic autofix와 달리 Copilot Autofix는 Enterprise Managed Users가 소유한 리포지토리에서 사용할 수 있습니다.

자동 수정 유형 선택

사용 비용도 어떤 기능을 사용할지 결정하는 요소입니다. 각 agentic autofix 에이전트 세션은 AI credits 및 GitHub Actions분을 소비하는 반면, Copilot Autofix 제안된 수정 사항은 AI credits분을 소비하지 않습니다.

리포지토리에서 agentic autofix이(가) 사용하도록 설정되지 않은 경우에도 Copilot Autofix를 사용하여 지원되는 경고에 대한 제안된 수정 사항을 생성할 수 있습니다.

agentic autofix 사용하기

하나 이상의 경고를 조사하고 초안 풀 리퀘스트를 준비하도록 하려면 agentic autofix에 Copilot를 사용합니다. 리포지토리 백로그 또는 보안 캠페인에서 agentic autofix 경고를 할당할 수 있습니다. 각 할당은 에이전트 세션을 시작합니다. 세션은 영향을 받는 파일 이외의 코드베이스를 탐색한 다음 수정 사항을 생성하고 유효성을 검사합니다. 변경 내용이 포함된 풀 리퀘스트가 열립니다. 코드 검사 경고 해결을(를) 참조하세요.

다음 사항을 고려하세요.

  • 조직, 엔터프라이즈 또는 리포지토리 수준에서 agentic autofix를 사용하도록 설정하는 방법은 코드 스캐닝을 위한 에이전트형 자동 수정에 대한 액세스 관리을 참조하세요.
  • Agentic Autofix 는 Code Security AI 크레딧 및 GitHub Actions 분을 사용합니다. GitHub Advanced Security 라이선스 결제을(를) 참조하세요.
  • Copilot 는 수정을 생성할 때 적용되는 사용자 지정 지침을 사용합니다. 에 대한 사용자 지정 지침 추가 Copilot을(를) 참조하세요.
  • Agentic Autofix는 베스트 에포트 방식으로 작동합니다. Copilot는 CodeQL 쿼리 도구 모음을 사용하여 code scanning를 다시 실행함으로써 수정 사항을 검증합니다. 사용자 지정 CodeQL 쿼리, CodeQLsecurity-extended 쿼리 도구 모음 또는 타사 도구의 code scanning 경고에 대한 수정 사항을 확인할 수 없습니다.

끌어오기 요청을 병합하기 전에 항상 생성된 변경 내용을 검토하고 테스트합니다.

Copilot Autofix 사용하기

Copilot Autofix 는 리포지토리에서 code scanning의 기본 설정 또는 고급 설정을 사용하는지 여부에 관계없이 동일한 방식으로 작동합니다. 사용하도록 설정하는 별도의 단계는 없습니다. code scanning로 CodeQL를 사용하도록 설정하면 충분합니다. 코드 검사에 대한 기본 설정 구성을(를) 참조하세요.

Copilot Autofix는 또한 GitHub Code Quality의 필수적인 부분이며, code scanning 결과에 대해 비활성화된 경우에도 코드 품질 결과에서 계속 실행됩니다.

엔터프라이즈, 조직 및 리포지토리 수준의 관리자는 Copilot Autofix를 비활성화할 수 있습니다. 설정은 아래로 계단식으로 적용됩니다. 엔터프라이즈 소유자가 기능을 허용하지 않는 경우 해당 엔터프라이즈의 어떤 조직이나 리포지토리도 활성화할 수 없으며, 조직 소유자가 이 기능을 사용하지 않도록 설정하면 해당 조직의 어떤 리포지토리도 다시 활성화할 수 없습니다. 지정된 수준에서 기능을 복원하려면 해당 수준 또는 그 이상의 수준의 관리자가 설정을 되돌려야 합니다. 각 수준에서 관리하는 Copilot Autofix 방법을 알아보려면 코드 검사용 Copilot Autofix 비활성화을 참조하세요.