코드 리뷰 챌린지
개발자가 실제 취약한 코드를 리뷰하고 보안 결함을 식별한 다음, 여러 선택지 중에서 올바른 수정안을 선택합니다. 2단계 흐름으로 탐지 능력과 수정 능력을 함께 길러 줍니다.
두 단계. 하나의 챌린지.
취약한 블록 찾기
개발자에게 하나 이상의 취약한 줄이 포함된 실제 코드 스니펫이 제공됩니다. 보안 결함이 있다고 판단되는 블록을 클릭합니다. 객관식이 아닙니다 — 코드를 읽고 무엇이 잘못되었는지 추론해야 합니다.
- ✓ 운영 환경 수준의 코드 패턴
- ✓ 실제 코드 줄에서 클릭하여 선택
- ✓ 여러 번 시도 가능
올바른 수정안 선택
취약한 블록을 식별한 다음, 개발자는 그럴듯한 대안들 중에서 올바른 수정안을 선택합니다. 디스트랙터에는 자주 등장하지만 잘못된 수정안 — 코드 리뷰는 통과하지만 운영 환경에 버그를 그대로 남기는 종류 — 가 포함됩니다.
- ✓ 객관식 수정안 선택
- ✓ 그럴듯한 오답 디스트랙터
- ✓ 정답 제출 후 설명 공개
진행 중인 챌린지.
학습을 위한 설계, 통과 여부를 가리는 도구가 아닙니다.
감점 없는 힌트
개발자는 언제든 힌트를 요청할 수 있습니다. 힌트는 최종 점수에 감점되지 않습니다 — 목표는 이해이지 처벌이 아닙니다.
시도 횟수 기반 점수
점수는 각 단계에서 소요된 시도 횟수로 계산됩니다. 시도가 적을수록 높은 점수입니다. 두 단계 모두 첫 시도에 성공하면 최고 점수를 받습니다.
정답 제출마다 제공되는 설명
수정안을 선택하면 — 정답이든 오답이든 — 플랫폼이 각 선택지가 왜 안전하거나 안전하지 않은지 보여 줍니다. 디스트랙터를 단순히 오답으로 표시하는 것이 아니라, 실패 원인을 설명합니다.
취약한 코드를 읽는 것이 실제 업무입니다.
대다수의 개발자 보안 교육은 엔지니어에게 SQL 인젝션에 관한 영상을 보고 객관식 퀴즈에 답하도록 요구합니다. 코드 리뷰 챌린지는 이를 뒤집습니다. 개발자를 먼저 코드 앞에 세우고, 코드 리뷰에서 요구되는 것과 동일한 사고를 강제합니다. 탐지와 수정은 별도로 채점됩니다. 실제 리뷰에서 무언가 잘못되었음을 아는 것과 어떻게 수정해야 하는지 아는 것은 별개의 역량이며, 엔지니어는 한쪽에서는 강하지만 다른 쪽에서는 그렇지 않을 수 있기 때문입니다.
챌린지를 직접 해 보십시오.
인터랙티브 데모에서는 코드 리뷰 챌린지 3개를 처음부터 끝까지 진행하실 수 있으므로, 팀에 문의하시기 전에 2단계 흐름을 확인하실 수 있습니다.