Patch the Planet에서 버그를 찾기 위해 /goal을 사용하는 방법
Codex의 목표 기능은 성공 조건을 향해 독립적으로 움직일 수 있게 하여 버그 사냥을 증폭시키지만, 좋은 결과를 얻으려면 적절한 프롬프트, 범위, 그리고 한 번의 결과가 필요합니다. Patch the Planet 이니셔티브에서 Codex는 Rust, curl, zlib 같은 널리 사용되는 코드베이스를 대상으로 했고, 제출된 모든 Rust 버그를 찾아냈으며, 여기에는 건전성 구멍과 미컴파일도 포함되었습니다. 엔지니어들은 목표 기능을 사용하는 세 가지 기법에 합의했는데, 코덱스가 목표를 작성하게 하거나, 경로를 지정하지 않고 결과를 정의하며, 에이전트당 하나의 결과를 할당하는 것이었습니다. 코덱스가 목표를 작성하도록 하는 것은 코덱스가 목표와 자신의 경향을 인간보다 더 잘 알고 있고, 위협 모델을 구체적이고 검증 가능한 성공 기준으로 전환할 수 있기 때문에 효과적입니다. 결과를 정의하는 것이지 경로를 정의하지 않는다는 것은 결과를 정의하는 데 토큰을 쓰는 것이고, 모델이 어떻게 도달할지 거의 알려주지 않는다는 뜻이며, 좋은 목표는 결과를 명명하고 정확히 정의하며 끈기를 강요합니다. 에이전트당 하나의 결과를 할당하면 두 개의 경쟁 결과가 하나의 프롬프트에 포함되면 최적화가 불균등해지므로, 커버리지를 프롬프트에서 완전히 빼고 Codex에 가장 유망한 공격 표면을 식별하도록 요청하는 것이 더 낫습니다. 목표 버그 사냥에 가장 효과적인 자원은 위협 모델 파일로, 유효한 버그가 어떻게 보이는지 정확히 정의하지만 찾는 방법을 설명하지 않습니다. 목표 기능은 버그 헌팅 작업을 증폭시키는 강력한 도구이지만, 그 효과는 전문가가 어디를 찾아야 하는지 알고 결과를 검증하며, 유지보수자가 유효한 취약점 공개로 보고 싶어 하는 내용을 아는 데 달려 있습니다. 전반적으로 목표 기능은 Rust의 모든 버그를 포함해 성공적으로 발견했으며, 보안 연구자가 하루도 안 되어 구축하는 데 몇 주가 걸리는 맞춤형 보안 인프라를 구축할 잠재력을 가지고 있습니다.