feat(course): Hands-on Docker Hacking — editorial draft - #4
Conversation
|
There was a problem hiding this comment.
Review Summary
This PR adds 11 course modules and 22 assessments for a Docker security hacking course. However, there are critical issues that must be fixed before merge:
Critical Issues Found
1. Quiz Content Logic Error (Blocks Merge)
All 11 module quizzes contain identical generic questions that don't match their module titles. This makes the assessments non-functional for their intended educational purpose. Each quiz must have module-specific questions that test the concepts covered in that module.
2. Security Warning Removed (Blocks Merge)
The README removed the critical security warning about intentional vulnerabilities. This warning must be restored to prevent users from accidentally deploying vulnerable systems in production environments.
Required Actions
- Replace the duplicated quiz questions in all 11 module quiz files with content specific to each module's topic
- Replace the duplicated final assessment questions in all 11 final quiz files with module-specific content
- Restore the security warning in README.md
The course module content itself appears well-structured with appropriate security examples and remediation guidance.
You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.
There was a problem hiding this comment.
Pull request overview
Updates the repository to an editorial-review draft for the “Hands-on Docker Hacking” course by adding module and assessment markdown content, plus light repo scaffolding/documentation updates.
Changes:
- Added course module drafts under
course/modules/and quiz/final assessment drafts undercourse/quizzes/. - Simplified the root
README.mdto a short course/module list. - Added supporting repo docs (
COURSE_SUMMARY.md,tests/README.md) and a new.gitignore.
Reviewed changes
Copilot reviewed 33 out of 34 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates the top-level course overview/module list (but currently drops the safety warning). |
| COURSE_SUMMARY.md | Adds an editorial-board summary of scope/counts (counts currently don’t match repo contents). |
| .gitignore | Adds common ignores for Python/Node/Rust/editor artifacts. |
| tests/README.md | Adds placeholder guidance for where to put tests and suggested runners. |
| course/modules/02-exposed-apis.md | Adds “Exposed Container APIs” module (contains a Markdown formatting issue in the compliant example). |
| course/modules/03-container-escape.md | Adds “Container Escape” module draft. |
| course/modules/04-image-tampering.md | Adds “Container Image Tampering” module draft. |
| course/modules/05-insecure-config.md | Adds “Insecure Container Configuration” module draft. |
| course/modules/06-dos.md | Adds “Denial-of-Service (DoS)” module draft. |
| course/modules/07-kernel-vulns.md | Adds “Kernel Vulnerabilities” module draft. |
| course/modules/08-shared-kernel.md | Adds “Shared Kernel Exploitation” module draft. |
| course/modules/09-orchestration.md | Adds “Insecure Container Orchestration” module draft. |
| course/modules/10-insecure-images.md | Adds “Insecure Container Images” module draft. |
| course/modules/11-lsm.md | Adds “Seccomp/AppArmor/SELinux” module draft. |
| course/quizzes/container-escape.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/container-escape-final.md | Adds module final assessment. |
| course/quizzes/dos.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/dos-final.md | Adds module final assessment. |
| course/quizzes/exposed-apis.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/exposed-apis-final.md | Adds module final assessment. |
| course/quizzes/image-tampering.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/image-tampering-final.md | Adds module final assessment. |
| course/quizzes/insecure-config.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/insecure-config-final.md | Adds module final assessment. |
| course/quizzes/insecure-images.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/insecure-images-final.md | Adds module final assessment. |
| course/quizzes/kernel-vulns.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/kernel-vulns-final.md | Adds module final assessment. |
| course/quizzes/lsm.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/lsm-final.md | Adds module final assessment. |
| course/quizzes/orchestration.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/orchestration-final.md | Adds module final assessment. |
| course/quizzes/shared-kernel.md | Adds module quiz (answer key issue for Q3). |
| course/quizzes/shared-kernel-final.md | Adds module final assessment. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## Compliant | ||
| docker run -d -p 127.0.0.1:2376:2376 ` | ||
| --tlsverify --tlscacert ca.pem --tlscert cert.pem --tlskey key.pem docker:dind |
| - Files stored in `course/modules/` and `course/quizzes/` | ||
|
|
||
| ## Notes | ||
| - Draft PR opened: see linked PR |
| 3. The strongest container isolation boundary is: | ||
| A) shared kernel B) VM parity C) namespace + cgroup + LSM D) Docker socket | ||
| ## Answers | ||
| 1. C 2. C 3. C |
| 3. The strongest container isolation boundary is: | ||
| A) shared kernel B) VM parity C) namespace + cgroup + LSM D) Docker socket | ||
| ## Answers | ||
| 1. C 2. C 3. C |
| - 11 modules with intro, attack scenario, compliant/noncompliant examples, remediation, lab | ||
| - 22 assessments: 3 questions per module quiz + 2 final questions per module | ||
| - Files stored in `course/modules/` and `course/quizzes/` |
Micro-Learning Topic: Denial of service (Detected by phrase)Matched on "Denial-of-Service"The Denial of Service (DoS) attack is focused on making a resource (site, application, server) unavailable for the purpose it was designed. There are many ways to make a service unavailable for legitimate users by manipulating network packets, programming, logical, or resources handling vulnerabilities, among others. Source: https://www.owasp.org/index.php/Denial_of_Service Try a challenge in Secure Code Warrior |



markdown Updated course scaffold with complete modules and quizzes. Ready for board review.
11 modules in course/modules/
22 assessments in course/quizzes/