๐Ÿ›ก๏ธ feat: Ghaymah CLI v2 โ€” Security & QA Audit Repository

Comprehensive security audit of the Ghaymah CLI v2 and web platform.

Findings:
  - [CRITICAL] T1552: Dockerfile & .env Credential Leakage
  - [CRITICAL] OWASP A07: Missing OTP & Unverified Password Change
  - [HIGH]     T1539: Session Token Revocation Bypass
  - [MED/HIGH] CWE-400: Configuration Poisoning DoS (Pipeline Hang)

Includes:
  - 8 Proof-of-Concept applications (PoC_Apps/)
  - Visual evidence & screenshots (Assets/Screenshots/)
  - Full PDF audit report (Reports/)
  - Mermaid.js attack flow diagrams in README

Auditor: Ziad Mahmoud Ahmed Abdelgwad โ€” Cybersecurity Specialist
ู‡ุฐุง ุงู„ุงู„ุชุฒุงู… ู…ูˆุฌูˆุฏ ููŠ:
2026-08-19 17:56:11 +00:00
ุงู„ุชุฒุงู… a7a479141b
25 ู…ู„ูุงุช ู…ุนุฏู„ุฉ ู…ุน 1029 ุฅุถุงูุงุช ูˆ0 ุญุฐูˆูุงุช

161
organize.sh Normal file
ุนุฑุถ ุงู„ู…ู„ู

@@ -0,0 +1,161 @@
#!/bin/bash
# ============================================================================
# Ghaymah CLI v2 โ€” Audit Workspace Organizer
# Author : Ziad Mahmoud Ahmed Abdelgwad
# Date : 2026-08-19
# Purpose: Restructure the raw audit workspace into a clean, professional
# directory layout suitable for version control and publication.
# ============================================================================
set -euo pipefail
WORKSPACE="/root/ghaymah-v2-test"
cd "$WORKSPACE"
echo ""
echo "โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—"
echo "โ•‘ Ghaymah CLI v2 โ€” Workspace Organizer โ•‘"
echo "โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•"
echo ""
# โ”€โ”€ Step 1: Create the target directory structure โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
echo "[1/5] Creating directory structure..."
mkdir -p PoC_Apps
mkdir -p Assets/Screenshots
mkdir -p Reports
echo " โœ” PoC_Apps/"
echo " โœ” Assets/Screenshots/"
echo " โœ” Reports/"
# โ”€โ”€ Step 2: Move all PoC application folders into PoC_Apps โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
echo ""
echo "[2/5] Moving PoC application folders โ†’ PoC_Apps/"
for dir in test-app test-app-2 test-app-3 test-app-5 test-app-clean test-app-final; do
if [ -d "$dir" ]; then
mv "$dir" PoC_Apps/
echo " โœ” $dir โ†’ PoC_Apps/$dir"
else
echo " โš  $dir not found, skipping."
fi
done
for dir in broken-docker-test invalid-docker-test; do
if [ -d "$dir" ]; then
mv "$dir" PoC_Apps/
echo " โœ” $dir โ†’ PoC_Apps/$dir"
else
echo " โš  $dir not found, skipping."
fi
done
# โ”€โ”€ Step 3: Migrate screenshots โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
echo ""
echo "[3/5] Migrating screenshots โ†’ Assets/Screenshots/"
if [ -d "screenshoots" ]; then
# Copy contents into the properly-named directory
cp -r screenshoots/* Assets/Screenshots/ 2>/dev/null || true
# Remove the old misspelled directory
rm -rf screenshoots
echo " โœ” screenshoots/* โ†’ Assets/Screenshots/"
echo " โœ” Removed old 'screenshoots' directory"
else
echo " โš  screenshoots/ not found, skipping."
fi
# Rename screenshot files with cleaner names (spaces โ†’ underscores)
cd Assets/Screenshots
for f in *; do
clean_name=$(echo "$f" | tr ' ' '_')
if [ "$f" != "$clean_name" ]; then
mv "$f" "$clean_name"
echo " โœ” Renamed: $f โ†’ $clean_name"
fi
done
cd "$WORKSPACE"
# โ”€โ”€ Step 4: Move the audit report โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
echo ""
echo "[4/5] Moving audit report โ†’ Reports/"
if [ -f "Ghaymah_CLI_v2_Audit_Report.pdf" ]; then
mv Ghaymah_CLI_v2_Audit_Report.pdf Reports/
echo " โœ” Ghaymah_CLI_v2_Audit_Report.pdf โ†’ Reports/"
fi
# Clean up Zone.Identifier files (Windows artifact)
find . -name "*.Zone.Identifier" -delete 2>/dev/null || true
echo " โœ” Cleaned up .Zone.Identifier files"
# โ”€โ”€ Step 5: Generate .gitignore โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
echo ""
echo "[5/5] Generating .gitignore..."
cat > .gitignore << 'GITIGNORE'
# ============================================================================
# Ghaymah CLI v2 Audit โ€” .gitignore
# ============================================================================
# โ”€โ”€ CLI Binary (large / proprietary) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
gy-linux-amd64
# โ”€โ”€ Windows Zone.Identifier metadata โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
*.Zone.Identifier
*:Zone.Identifier
# โ”€โ”€ Sensitive environment files โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
.env
.env.*
!.env.example
# โ”€โ”€ OS-generated files โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
.DS_Store
Thumbs.db
Desktop.ini
# โ”€โ”€ IDE / Editor files โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
.vscode/
.idea/
*.swp
*.swo
*~
# โ”€โ”€ Node / build artifacts โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
node_modules/
dist/
build/
*.log
GITIGNORE
echo " โœ” .gitignore created"
# โ”€โ”€ Summary โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
echo ""
echo "โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—"
echo "โ•‘ โœ… Workspace organization complete! โ•‘"
echo "โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•"
echo ""
echo "Final structure:"
echo ""
echo " ghaymah-v2-test/"
echo " โ”œโ”€โ”€ Assets/"
echo " โ”‚ โ””โ”€โ”€ Screenshots/"
echo " โ”‚ โ”œโ”€โ”€ docker.png"
echo " โ”‚ โ”œโ”€โ”€ env.png"
echo " โ”‚ โ”œโ”€โ”€ logs.png"
echo " โ”‚ โ””โ”€โ”€ Screenshot_*.png"
echo " โ”œโ”€โ”€ PoC_Apps/"
echo " โ”‚ โ”œโ”€โ”€ test-app/"
echo " โ”‚ โ”œโ”€โ”€ test-app-2/"
echo " โ”‚ โ”œโ”€โ”€ test-app-3/"
echo " โ”‚ โ”œโ”€โ”€ test-app-5/"
echo " โ”‚ โ”œโ”€โ”€ test-app-clean/"
echo " โ”‚ โ”œโ”€โ”€ test-app-final/"
echo " โ”‚ โ”œโ”€โ”€ broken-docker-test/"
echo " โ”‚ โ””โ”€โ”€ invalid-docker-test/"
echo " โ”œโ”€โ”€ Reports/"
echo " โ”‚ โ””โ”€โ”€ Ghaymah_CLI_v2_Audit_Report.pdf"
echo " โ”œโ”€โ”€ .gitignore"
echo " โ”œโ”€โ”€ organize.sh"
echo " โ””โ”€โ”€ README.md"
echo ""