Merged
Conversation
|
Thank you @kOaDT for contributing once again! 📊 PR overview
📝 Before reviewTo help maintainers review your changes efficiently, please ensure that:
✅ Continuous IntegrationTwo CI workflows will run automatically on this PR:
You can follow their progress in the Checks tab. 🤝 A note on collaborationWe value respectful and constructive interactions. Whether you are a contributor or a reviewer, please be patient, kind, and open to feedback. A maintainer will review your changes as soon as possible. If you have any questions, feel free to ask in this thread. |
47bbd5f to
eed32c1
Compare
eed32c1 to
e0ddb67
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Splits the per-challenge documentation into two distinct roles:
content/vulnerabilities/*.md— in-app reference doc rendered at/vulnerabilities/<slug>after the player finds the flag. Focuses on the concept and the fix.docs/src/data/blog/*.md— walkthrough on the Astro docs site. Focuses on step-by-step exploitation with payloads and screenshots.Before this PR the two were ~70% redundant. Now each has a clear lane and a cross-link from the in-app reference page to the matching walkthrough.
What changes
1. In-app vulnerability page (app/vulnerabilities/[slug]/page.tsx)
flag.walkthroughSlugis set.DOCS_BASE_URLextracted to lib/config.ts so the dashboard and vulnerability pages share one source of truth.2.
/flagspage (app/flags/page.tsx, app/flags/FlagsClient.tsx)3. Reference doc rewrite (32 files in
content/vulnerabilities/)OSS{...}), screenshot references, "How to Retrieve the Flag" sections.4. Contribution guides aligned
walkthroughSlugfor new challenges.Type of change
content/to remove exploit details and flag values from in-app docsTesting done
npx tsc --noEmitcleannpx eslintclean on all modified.ts/.tsxfilesnpx prettier --checkclean across the diff/flagswith no flags found → all cards show "Locked" pill, info banner reads correctly./flagsafter submitting a valid flag via the flag checker → that card flips to plain-text value + green "Found" badge./vulnerabilities/sql-injection→ hero shows "SQL Injection" + Injection surtitle, callout points tohttps://koadt.github.io/oss-oopssec-store/posts/sql-injection-writeup, body has no flag value and no exploit steps.DOCS_BASE_URL).grep -l 'OSS{' content/vulnerabilities/*.md→ no matches (no flag values left in any reference doc).Checklist
If adding a new vulnerability
prisma/seed.tswith formatOSS{...}prisma/seed.tscontent/vulnerabilities/