📣 시즌 3가 방금 출시되었습니다. 이번 시즌은 인공지능에 관한 것입니다! 📣
GitHub Security Lab의 이니셔티브로, 의도적으로 취약한 코드를 보안하는 인-레포 학습 경험을 제공합니다. 동시에 커뮤니티에 기여하는 방법으로 기여를 환영하는 오픈소스 프로젝트이기도 합니다.
- 대상: 개발자, 학생.
- 배우게 될 내용: 실제 코드에서 취약한 패턴을 발견하고 수정하는 방법, 워크플로우에 보안을 구축하는 방법, 코드에 대해 생성된 보안 경고를 이해하는 방법.
- 만들게 될 것: 기능적이지만 취약한 코드에 대한 수정 사항을 개발합니다.
- 사전 요구사항: 첫 번째 시즌에서는 대부분의 레벨에
python3, 레벨 2에C지식이 필요합니다. 두 번째 시즌에서는 레벨 1에GitHub Actions, 레벨 2에go, 레벨 4에python3, 레벨 3과 5에javascript지식이 필요합니다. 세 번째 시즌에서는 인공지능에 대한 사전 지식이 필요하지 않습니다. - 소요 시간: 시즌 1과 2는 각각 5개 레벨로 구성되며, 스킬 수준에 따라 완료하는 데 보통 3-6시간이 걸립니다. 시즌 3은 6개 레벨을 제공하며, 경험에 따라 예상 완료 시간은 2-4시간입니다.
- 실습 시작을 우클릭하여 새 탭에서 링크를 엽니다.
- 새 탭에서 대부분의 프롬프트가 자동으로 채워집니다.
- 소유자로 개인 계정 또는 리포지토리를 호스팅할 조직을 선택하세요.
- 비공개 리포지토리는 Actions 시간을 사용하므로 공개 리포지토리 생성을 권장합니다.
- 아래로 스크롤하여 양식 하단의 Create repository 버튼을 클릭합니다.
- 이제 🛠️ 설정 섹션으로 진행할 수 있습니다.
모든 레벨은 GitHub Codespaces에서 즉시 실행되도록 구성되어 있습니다. Codespaces를 사용하기로 선택한 경우, 이 실습이 월 60시간 무료 할당량에 포함된다는 점을 유의하세요. GitHub Codespaces에 대한 자세한 내용은 "GitHub Codespaces 개요"를 참조하세요. 로컬에서 작업하는 것을 선호하시면, 다음 섹션의 로컬 설치 가이드를 따라주세요.
- 리포지토리 탐색 바 오른쪽 상단의 Code 드롭다운 버튼을 클릭합니다.
- Create codespace on main을 클릭합니다.
- Codespace를 생성한 후, VS Code 확장 및 백그라운드 설치가 완료될 때까지 기다리세요. 3분 미만이 소요됩니다.
- 이제 각 폴더로 이동하여
README.md파일을 읽으면 시즌 1, 2, 또는 3을 시작할 수 있습니다. - 개별 레벨을 클릭하면 오른쪽 하단에 가상 환경을 생성할지 묻는 배너가 나타날 수 있습니다. 가상 환경을 생성할 필요가 없으므로 이 알림을 해제하세요.
선택 사항: 다음의 무료 추가 확장을 권장하지만, 미리 설치해 드리지는 않았습니다:
github.copilot-chat- AI 생성 코드 설명을 받을 수 있습니다.alexcvzz.vscode-sqlite- Season-1/Level-4에서 생성된 SQL 데이터베이스와 익스플로잇이 그 내용에 미치는 영향을 시각화할 수 있습니다.
도움이 필요하면 GitHub Discussions이나 Slack의 #secure-code-game 채널에서 도움을 요청하세요.
참고: GitHub Codespaces를 사용하는 경우 로컬 설치가 필요하지 않습니다.
다음 로컬 설치 가이드는 Debian/Ubuntu 및 CentOS/RHEL에 맞게 작성되었으며, 모든 게임 시즌을 플레이하는 것을 목표로 합니다.
- 터미널을 엽니다.
python-ldap를 컴파일하는 데 필요한 OpenLDAP 헤더를 설치합니다. Linux 배포판에 따라 확인하세요:
uname -a- Debian/Ubuntu의 경우:
sudo apt-get update
sudo apt-get install libldap2-dev libsasl2-dev- CentOS/RHEL의 경우:
sudo yum install python-devel openldap-devel- Archlinux의 경우:
sudo pacman -Sy libldap libsasl- 그런 다음, 위의 모든 Linux 배포판에서
pyOpenSSL을 설치합니다:
pip3 install pyOpenSSL설치가 완료되면, 리포지토리를 로컬 머신에 클론하고 필요한 종속성을 설치합니다.
- 리포지토리에서 탐색 바 오른쪽 상단의 Code 드롭다운 버튼을 클릭합니다.
- 메뉴에서
Local탭을 선택합니다. - 선호하는 URL을 복사합니다.
- 터미널에서 클론된 디렉토리를 위치시킬 경로로 작업 디렉토리를 변경합니다.
git clone을 입력하고 복사한 URL을 붙여넣습니다.
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
- Enter 키를 눌러 로컬 클론을 생성합니다.
- 클론된 디렉토리로 작업 디렉토리를 변경합니다.
- 종속성을 설치합니다:
pip3 install -r requirements.txt- 프로그래밍 언어
- 시즌 1을 플레이하려면
python3와c가 설치되어 있어야 합니다. - 시즌 2를 플레이하려면
yaml,go,python3,node가 설치되어 있어야 합니다. - 시즌 3을 플레이하려면 시즌 2와 마찬가지로
node가 설치되어 있어야 합니다. 따라서 시즌 2를 로컬에서 플레이했다면 준비가 된 것입니다.
VS Code를 로컬에서 사용하는 경우, 다음 식별자의 에디터 확장을 통해 위의 프로그래밍 언어를 설치할 수 있습니다:
ms-python.pythonms-python.vscode-pylancems-vscode.cpptools-extension-packredhat.vscode-yamlgolang.go
go 프로그래밍 언어의 경우 공식 웹사이트를 방문하여 운영 체제에 해당하는 드라이버를 다운로드해야 하는 추가 단계가 필요합니다.
이제 npm 패키지를 얻기 위해 node를 설치해야 합니다. 다음과 같이 합니다:
- 먼저
homebrew같은 패키지 매니저를 설치합니다:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"node를 설치합니다:
brew install nodehomebrew가 아닌 다른 패키지 매니저를 선택한 경우 명령을 적절히 수정하세요.
- 필요한
npm패키지는package.json과package-lock.json에 명시되어 있습니다.secure-code-game리포지토리로 이동하여 설치합니다:
npm install --prefix Season-2/Level-4/ && npm install --global mochavitest를 설치합니다
npm install vitest - 이제 각 폴더로 이동하여
README.md파일을 읽으면 시즌 1, 2, 또는 3을 시작할 수 있습니다.
다음의 무료 추가 확장을 권장합니다:
github.copilot-chat- AI 생성 코드 설명을 받을 수 있습니다.alexcvzz.vscode-sqlite- 생성된 SQL 데이터베이스와 익스플로잇이 그 내용에 미치는 영향을 시각화할 수 있습니다.
리포지토리 클론에 대한 자세한 내용은 "리포지토리 클론하기"를 참조하세요.
이 실습은 skills/secure-code-game을 한글화한 버전입니다.
도움이 필요하면: securitylab-social@github.com으로 이메일을 보내세요 • GitHub 상태 페이지 확인
© 2025 GitHub • Code of Conduct • MIT License
