28 lines
1.7 KiB
Markdown
28 lines
1.7 KiB
Markdown
# CTF Workflow & Python Learning Project
|
|
|
|
This project serves as a centralized workspace for Capture The Flag (CTF) challenges and as a practical environment for learning Python.
|
|
|
|
## Project Intent
|
|
The primary goal is to use the context of CTF challenges (forensics, crypto, web, etc.) to explore and explain Python concepts, automation, and tooling.
|
|
|
|
## Core Mandates for Gemini CLI
|
|
1. **No Unsolicited Code:** Do NOT write or modify code unless explicitly issued a **Directive** to do so.
|
|
2. **Focus on Explanation:** Prioritize high-signal explanations of Python mechanics, libraries, and documentation.
|
|
3. **Summarization:** When directed, summarize documentation (local or web-based) to aid in understanding CTF tools and Python modules.
|
|
4. **Educational Context:** Use the existing scripts and tools in this repository (like `psk_crack.py`, `exploit.sh`, or the `tools/` directory) as examples when explaining technical concepts.
|
|
|
|
## Python Learning Objectives
|
|
- Understanding standard library modules relevant to security (e.g., `os`, `sys`, `base64`, `hashlib`).
|
|
- Analyzing existing scripts to understand control flow, data structures, and error handling.
|
|
- Exploring how Python interacts with the shell and external tools.
|
|
|
|
## Test cases
|
|
- Verifying user written code
|
|
- When asked, Write tests cases in `test_utils.py`
|
|
- Don't run anything, just write the cases
|
|
- create a fully temporary test environment in `tests/env`
|
|
- Don't fully delete the environment between tests, just modify as needed when writing new test cases
|
|
- write tests explaining successful passes and failures
|
|
- Try to find breaking elements of user code. Find harder cases that will fail on empty inputs, etc.
|
|
- Include tests that chain multiple functions together
|