|
1 | | -"# secure-code-game" |
2 | | -"# Testing" |
| 1 | +# Secure Code Game |
| 2 | +## Welcome to Secure Code Game - Season 1! 👋 |
| 3 | +To get started, please follow the 🛠️ [set up guide](#setup-guide) (if you haven't already). |
| 4 | +Refer to the [Hints](#hints) for helpful information and [Tasks](#time-to-start) to head to the challenge directly. |
| 5 | + |
| 6 | +## Overview |
| 7 | +This program validates transactions in systems where orders consist of multiple items and payments. It ensures that the financial records are consistent and highlights any discrepancies. |
| 8 | + |
| 9 | +## 📝 Storyline |
| 10 | +A few days before the massive shopping event Cyber Monday, an electronics shop without an online presence rushed to create a website to reach a broader customer base. As a result, they spent all their budget on development without investing in security. Do you have what it takes to fix the bug and progress to Level 2? |
| 11 | + |
| 12 | +## ⌨️ What's in the repo? |
| 13 | +For each level, you will find the same file structure: |
| 14 | +- `src/` includes the vulnerable code to be reviewed. |
| 15 | +- `tests/` contains the unit tests that should still pass after you have implemented your fix. |
| 16 | + |
| 17 | +## 🚦 Time to start! |
| 18 | +- [ ] Observe the **Github Workflow** logs, and identify the failing test cases. |
| 19 | +- [ ] Open a new **Github Issue** to address the problem and your observations. |
| 20 | +- [ ] Create a new **Git Branch** and work on the fix. |
| 21 | + 1. Review the code in `src/main.py`. Can you spot the bug(s)? |
| 22 | + 2. Try to fix the bug(s). Ensure that unit tests are still passing 🟢. |
| 23 | +- [ ] Make a new **Pull Request** with a description of what you fixed. |
| 24 | +- [ ] Observe the GitHub Workflow logs, and ensure that the code is error free. |
| 25 | +- [ ] Once all workflows pass, **merge** the pull request. |
| 26 | + |
| 27 | +> [!NOTE] |
| 28 | +> You successfully completed the level when the Github Workflow passes 🟢. |
| 29 | +
|
| 30 | +## 💡 Hints |
| 31 | +The program currently has vulnerabilities related to floating-point arithmetic. Pay close attention to how decimal values are handled during transaction validation. |
| 32 | + |
| 33 | +<!-- Additional hints will be provided if needed --> |
| 34 | + |
| 35 | +# Setup Guide |
| 36 | +## Local Installation |
| 37 | +```bash |
| 38 | +git clone https://github.com/kgchinthana/secure-code-game.git |
| 39 | +cd secure-code-game |
| 40 | +pip install -r requirements.txt |
| 41 | +``` |
| 42 | + |
| 43 | +## Usage |
| 44 | +```bash |
| 45 | +python src/main.py [arguments] |
| 46 | +``` |
| 47 | + |
| 48 | +## Running Tests |
| 49 | +```bash |
| 50 | +python -m pytest |
| 51 | +``` |
0 commit comments