Copilot으로 비밀 보호 엔지니어링을 가속화하는 방법
실수로 소스 코드에 비밀을 저지르는 것은 모든 개발자가 두려워하는 실수이며 놀랍게도 쉽게 만들 수 있습니다. Github Secret Protection은 이와 같은 순간에 구축되었으며, 팀이 해를 입히기 전에 노출 된 자격 증명을 포착하도록 돕습니다.
비밀 보호는 코드에있는 민감한 자격 증명에 대한 경고를 만들어 작동하며 누출을 더욱 완화하는 데 도움이되는 몇 가지 기능을 제공합니다.
- 푸시 보호는 민감한 데이터가 포함 된 커밋을 차단하고 자격 증명이 코드베이스로 만들지 않도록하여 누출을 중단하는 데 도움이됩니다.
- 유효성 검사를 통해 어떤 비밀이 활성화되어 있고 즉각적인주의가 필요한지를 표시하여 사용자가 우선 경고를받는 데 도움이됩니다.
- 파트너 프로그램을 통해 제공자는 특정 토큰 유형에 대해 공개 저장소에서 누출을 알릴 수 있습니다. 이러한 유형이 감지되면 공급자는 노출 된 비밀 (예 : 즉각적인 취소, 검역 정책의 적용, 통지)에 대해 즉각적인 조치를 취할 수 있습니다.
- Copleilot Secret Scanning을 사용하면 일반적인 비밀, 비밀번호 또는 특정 제공 업체와 관련이없는 연결 문자열과 같은 것들을 감지 할 수 있습니다.
- 맞춤형 패턴을 사용하면 프로젝트 나 조직에 특정한 비밀을 감지하기위한 표현식을 정의 할 수 있습니다.
Aaron과 나는 Github에서 우리 시간 동안 타당성 점검에 광범위하게 일했습니다. 그것은 우리 제품의 핵심 부분이되었으며, 많은 사용자들이 일상적인 일에 의존합니다. 비밀 보호는 토큰 제공 업체와 관련된 눈에 띄지 않는 API 종점에 대해 테스트하여 유출 된 자격 증명의 유효성을 계산합니다.
우리는 2023 년 에이 기능을 발표했으며 코드에서 누출 된 가장 일반적인 토큰 유형 (예 : AWS 키, GCP 자격 증명, 슬랙 토큰)에 대한 유효성 점검 지원을 추가하여 시작했습니다. 비밀 보호는 새로 생성 된 경고의 약 80%를 검증하는 시점에 도달했습니다. 덜 일반적인 토큰 유형은 남아 있고 계속 남아 있지만, 우리 팀은 고객에게 가장 큰 가치를 제공하기 위해 집중력을 바꿨습니다.
2024 년 말과 2025 년까지 우리는 점차 에이전트 AI의 출현을 보았고 곧 코딩 에이전트가 주류 인기를 얻기 시작했습니다. 우리 팀은 올해 초에 모여 생각했습니다. 우리는 코딩 에이전트를 성공적으로 사용 하여이 격차를 커버 할 수 있습니까?
반복 가능한 워크 플로 보강
자동화 기회를 식별하기 위해 먼저 새로운 토큰 유형에 대한 검증 지원을 추가하기위한 기존 프로세스를 자세히 살펴 보았습니다. 이 프레임 워크 중심의 워크 플로우는 각 토큰 유형에 대한 다음 단계가 포함되었습니다.
- 우리는 해당 토큰을 검증하기위한 좋은 종말점을 결정하기 위해 제공자를 조사했습니다.
- 우리는이 변경을 구현하기 위해 코드 (유효성 검사기)를 썼습니다.
- 우리는 유효성 검사기를 어두워서 본 오류로 구현을 업데이트 할 수있었습니다.
- Darkship 구성을 제거하여 유효성 검사기를 완전히 배송했습니다.

이 프로세스의 코딩 및 릴리스 부품 (두 번째 및 네 번째 단계)은 자동화를위한 명백한 첫 번째 선택이었습니다.
위의 첫 번째 단계는 새 토큰 유형을 검증하기 위해 적절한 엔드 포인트를 찾는 것입니다. 우리는 일반적으로 사용합니다 /me
(또는 이와 동등한) 엔드 포인트가 존재하는 경우. 때때로 그것들은 존재하지만, 문서에 묻혀 있고 찾기가 쉽지 않습니다. 우리는이 연구를 Copilot에 전달하는 것을 실험했지만 때로는 어려움을 겪었습니다. 엔지니어가 선택한 동일한 최소 내적 엔드 포인트를 안정적으로 찾을 수 없었습니다. 또한 라이브 토큰을 만들고 테스트하고 미묘한 API 변경을 해석하는 것은 숙련 된 엔지니어가 가장 잘 처리하는 작업으로 남아 있음을 발견했습니다.
Colecilot은 코드 변경을 수행하는 훌륭한 일을했습니다. 인간 중심의 연구 과제의 출력은 수동으로 파견 된 GitHub 워크 플로로 공급되어 코딩 에이전트에 할당 할 수있는 상세한 문제를 만들었습니다. 이 문제는 프로젝트에 대한 배경, API 문서에 대한 링크 및 살펴볼 다양한 예를 포함하는 포괄적 인 프롬프트 역할을했습니다. 우리는 코딩 에이전트가 때때로 다음 링크에 어려움을 겪었다는 것을 알게되었으므로 추가 메모에 대한 추가 필드를 추가했습니다.

Copilot에 문제를 할당 한 후 코딩 에이전트는 자동으로 풀 요청을 생성하여 연구 및 계획을 즉시 실행 가능한 피드백 레디 코드로 전환했습니다. 우리는 팀이 작성한 코드와 같은 에이전트가 생성 한 코드를 처리했습니다. 그것은 자동 테스트, 인간 검토 프로세스를 거쳤으며 결국 엔지니어가 배치했습니다. Github은 에이전트의 변경 사항을 요청하기위한 간소화 된 프로세스를 제공했습니다. 풀 요청에 주석을 추가하십시오. 에이전트는 완벽하지 않으며 실수를 저질렀습니다. 예를 들어, Colecilot은 문서 링크를 프롬프트로 따르고 변경 사항을 구현할 때 정보를 참조 할 것으로 예상했지만 실제로는 세부 사항을 놓치거나 의도 한대로 문서를 따르지 않았다는 것을 알았습니다.
우리의 프레임 워크에는 검증기를 어두운 능력을 포함했습니다. 즉, 데이터베이스에 대한 유효성 추론을 쓰지 않고 새 코드의 결과를 관찰했습니다. 엔지니어가 API 문서와 실제 행동에서 약간의 드리프트를 만나는 것은 드문 일이 아닙니다. 이 단계를 통해 오류를 안전하게 수정할 수있었습니다. 변경 사항을 완전히 해제 할 준비가되었을 때 Copilot에게 새로운 유효성 검사기를 Darkship 모드에서 제거하기 위해 작은 구성 변경을하도록 요청했습니다.
결과
AI 실험 전에 진보는 꾸준했지만 느 렸습니다. 우리는 32 개의 파트너 토큰 유형을 확인했습니다. 엔지니어들이 일상적인 기능 개발과 함께 새로운 수표의 균형을 맞추면서 몇 달이 걸렸습니다. Copilot을 사용하면 엔지니어링 인턴, @Inshalak 및 @Matthew-Tzong 이이 과정을 통해 Copilot을 지휘함에 따라 몇 주 만에 거의 90 개의 새로운 유형을 탑승했습니다.
코딩 에이전트는 자동화로 프레임 워크 중심 반복 가능한 워크 플로를 가속화하기위한 실행 가능한 옵션입니다. 우리의 경우, Copilot은 말 그대로 힘의 승수였습니다. N 에이전트보다 N 연구 작업의 출력을 병렬화 할 수 있다는 것은 엄청났다. Copilot은 속도와 규모를 제공하지만 인간 공학적 판단을 대체하지는 않습니다. 항상 생성하는 코드를 검토, 테스트 및 확인하십시오. 우리는이 프레임 워크의 매우 구체적인 부분으로 Copilot을 접목하여 성공했습니다.
테이크 아웃 및 팁
Copilot Coding Agent를 사용한 실험은 측정 가능한 영향을 미쳤습니다. 우리는 토큰 유형에 대한 커버리지를 극적으로 가속화하고 워크 플로에서 가장 시간이 많이 걸리는 부분을 병렬화했으며 엔지니어가 미묘한 연구 및 검토 단계에 집중할 수 있도록 해방했습니다. Colecilot은 사려 깊은 엔지니어링의 필요성을 대체하지 않았지만 프레임 워크 중심의 반복 가능한 엔지니어링 작업의 강력한 팀원임을 입증했습니다.
그 과정에서 배운 몇 가지 사항 :
- 자동화는 반복성을 증폭시킵니다: 잘 정의 된 단계가있는 프로세스가있는 경우 코딩 에이전트를 사용하면 노력을 확장하고 영향을 곱할 수 있습니다.
- Coplot을 팀원처럼 취급하십시오: 그 기여는 사람의 코드와 동일한 신중한 검토, 테스트 및 피드백이 필요합니다.
- 프롬프트 품질은 결과를 유도합니다: 상세한 예제가 풍부한 프롬프트 (및 때로는 추가 메모)가 Copilot이 고품질의 풀 요청을 제공하는 데 도움이되었습니다.
- 당신의 과정을 반복하십시오: 프롬프트는 종종 개선이 필요했으며, 우리가 가장 잘 작동하는 것을 배웠을 때 워크 플로우는 작은 조정의 혜택을 받았습니다.
- 병렬화는 초강대국입니다: 올바른 설정을 통해 한 번에 많은 작업을 할당하고 다른 엔지니어 뒤에서 대기시킬 작업을 해제 할 수 있습니다.
우리는 반복 가능한 엔지니어링 작업이있는 곳마다 코딩 에이전트에 큰 잠재력을 보게됩니다. 우리는 프로젝트의 다른 온 보딩 워크 플로에서 유사한 프로세스를 실험하고 있습니다. 우리는 업계의 많은 다른 팀과 프로젝트가 이러한 종류의 자동화를위한 훌륭한 후보 인 유사한 프레임 워크 중심의 워크 플로를 가지고 있다고 확신합니다.
자신의 워크 플로에 자동화를 가져 오려면 이미 반복 가능한 것을 활용하고, 좋은 프롬프트에 투자하고, 항상 센터에서 협력하고 검토하십시오.
읽어 주셔서 감사합니다! 우리는 차세대 에이전트 AI 및 코딩 에이전트가 GitHub뿐만 아니라 전체 개발자 생태계에서 소프트웨어 엔지니어링을 어떻게 계속 가속화 할 것인지를 알게되어 기쁩니다.
작성자가 작성했습니다
Post Comment