Skip to content

skills-kr/secure-code-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📣 시즌 3가 방금 출시되었습니다. 이번 시즌은 인공지능에 관한 것입니다! 📣

season-3-demo

시큐어 코드 게임

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시간입니다.

이 실습을 시작하는 방법

start-course

  1. 실습 시작을 우클릭하여 새 탭에서 링크를 엽니다.
  2. 새 탭에서 대부분의 프롬프트가 자동으로 채워집니다.
    • 소유자로 개인 계정 또는 리포지토리를 호스팅할 조직을 선택하세요.
    • 비공개 리포지토리는 Actions 시간을 사용하므로 공개 리포지토리 생성을 권장합니다.
    • 아래로 스크롤하여 양식 하단의 Create repository 버튼을 클릭합니다.
  3. 이제 🛠️ 설정 섹션으로 진행할 수 있습니다.

🛠️ 설정

🖥️ Codespaces 사용

모든 레벨은 GitHub Codespaces에서 즉시 실행되도록 구성되어 있습니다. Codespaces를 사용하기로 선택한 경우, 이 실습이 월 60시간 무료 할당량에 포함된다는 점을 유의하세요. GitHub Codespaces에 대한 자세한 내용은 "GitHub Codespaces 개요"를 참조하세요. 로컬에서 작업하는 것을 선호하시면, 다음 섹션의 로컬 설치 가이드를 따라주세요.

  1. 리포지토리 탐색 바 오른쪽 상단의 Code 드롭다운 버튼을 클릭합니다.
  2. Create codespace on main을 클릭합니다.
  3. Codespace를 생성한 후, VS Code 확장 및 백그라운드 설치가 완료될 때까지 기다리세요. 3분 미만이 소요됩니다.
  4. 이제 각 폴더로 이동하여 README.md 파일을 읽으면 시즌 1, 2, 또는 3을 시작할 수 있습니다.
  5. 개별 레벨을 클릭하면 오른쪽 하단에 가상 환경을 생성할지 묻는 배너가 나타날 수 있습니다. 가상 환경을 생성할 필요가 없으므로 이 알림을 해제하세요.

선택 사항: 다음의 무료 추가 확장을 권장하지만, 미리 설치해 드리지는 않았습니다:

  1. github.copilot-chat - AI 생성 코드 설명을 받을 수 있습니다.
  2. alexcvzz.vscode-sqlite - Season-1/Level-4에서 생성된 SQL 데이터베이스와 익스플로잇이 그 내용에 미치는 영향을 시각화할 수 있습니다.

도움이 필요하면 GitHub Discussions이나 Slack#secure-code-game 채널에서 도움을 요청하세요.

💻 로컬 설치

참고: GitHub Codespaces를 사용하는 경우 로컬 설치가 필요하지 않습니다.

다음 로컬 설치 가이드는 Debian/Ubuntu 및 CentOS/RHEL에 맞게 작성되었으며, 모든 게임 시즌을 플레이하는 것을 목표로 합니다.

  1. 터미널을 엽니다.
  2. 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

설치가 완료되면, 리포지토리를 로컬 머신에 클론하고 필요한 종속성을 설치합니다.

  1. 리포지토리에서 탐색 바 오른쪽 상단의 Code 드롭다운 버튼을 클릭합니다.
  2. 메뉴에서 Local 탭을 선택합니다.
  3. 선호하는 URL을 복사합니다.
  4. 터미널에서 클론된 디렉토리를 위치시킬 경로로 작업 디렉토리를 변경합니다.
  5. git clone을 입력하고 복사한 URL을 붙여넣습니다.
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
  1. Enter 키를 눌러 로컬 클론을 생성합니다.
  2. 클론된 디렉토리로 작업 디렉토리를 변경합니다.
  3. 종속성을 설치합니다:
pip3 install -r requirements.txt
  • 프로그래밍 언어
  1. 시즌 1을 플레이하려면 python3c가 설치되어 있어야 합니다.
  2. 시즌 2를 플레이하려면 yaml, go, python3, node가 설치되어 있어야 합니다.
  3. 시즌 3을 플레이하려면 시즌 2와 마찬가지로 node가 설치되어 있어야 합니다. 따라서 시즌 2를 로컬에서 플레이했다면 준비가 된 것입니다.

VS Code를 로컬에서 사용하는 경우, 다음 식별자의 에디터 확장을 통해 위의 프로그래밍 언어를 설치할 수 있습니다:

  1. ms-python.python
  2. ms-python.vscode-pylance
  3. ms-vscode.cpptools-extension-pack
  4. redhat.vscode-yaml
  5. golang.go

go 프로그래밍 언어의 경우 공식 웹사이트를 방문하여 운영 체제에 해당하는 드라이버를 다운로드해야 하는 추가 단계가 필요합니다.

이제 npm 패키지를 얻기 위해 node를 설치해야 합니다. 다음과 같이 합니다:

  1. 먼저 homebrew 같은 패키지 매니저를 설치합니다:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. node를 설치합니다:
brew install node

homebrew가 아닌 다른 패키지 매니저를 선택한 경우 명령을 적절히 수정하세요.

  1. 필요한 npm 패키지는 package.jsonpackage-lock.json에 명시되어 있습니다. secure-code-game 리포지토리로 이동하여 설치합니다:
npm install --prefix Season-2/Level-4/ && npm install --global mocha
  1. vitest를 설치합니다
npm install vitest 
  1. 이제 각 폴더로 이동하여 README.md 파일을 읽으면 시즌 1, 2, 또는 3을 시작할 수 있습니다.

다음의 무료 추가 확장을 권장합니다:

  1. github.copilot-chat - AI 생성 코드 설명을 받을 수 있습니다.
  2. alexcvzz.vscode-sqlite - 생성된 SQL 데이터베이스와 익스플로잇이 그 내용에 미치는 영향을 시각화할 수 있습니다.

리포지토리 클론에 대한 자세한 내용은 "리포지토리 클론하기"를 참조하세요.


이 실습은 skills/secure-code-game을 한글화한 버전입니다.

도움이 필요하면: securitylab-social@github.com으로 이메일을 보내세요 • GitHub 상태 페이지 확인

© 2025 GitHub • Code of ConductMIT License

About

시큐어 코드 게임 - GitHub Skills 한글화

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages