DIA Security
Internal web vulnerability disclosure (XSS / CSRF / SQLi / file upload bypass) and a DevTools-blocking policy tool. Excellence Award.
Portfolio · 2026
Hacker handle · @ialleejyJong-Yun Lee works under the handle ialleejy, researching cloud / AI-agent attack surfaces and shipping reproducible labs, web exploitation scenarios, and tools.
At a glance
Six milestones, from internal vulnerability disclosure to offensive cloud research.
Internal web vulnerability disclosure (XSS / CSRF / SQLi / file upload bypass) and a DevTools-blocking policy tool. Excellence Award.
Founded and led Myongji's only security club. Built event web stack, MJSEC CTF and BOJ contest infrastructure.
White Hat School 3rd cohort: Semantic Gap research (WEAVE). Reproduced the DBREACH compression side-channel on MariaDB / InnoDB.
Co-hosted MSG CTF (×2). Built React + Spring + Discord-bot platform with full SCA/SAST/DAST CI/CD.
Joined ENKI WhiteHat Content Team and RubiyaLab. Authored Bedrock AI-Agent KB poisoning scenario for GnawLab.
Lead-organized INC0GNITO Quals 2026 (108 teams). Authored Web challenges for CODEGATE 2026 & HACKTHEON Sejong 2026.
| Vendor / Org | Appliance |
|---|---|
| Genian | NAC |
| Ahnlab | TrusGuard (UTM) |
| SGA | RedCastle |
| ROK Armed Forces | TACS (Tri-service security audit system) |
| IGLOO | SPiDERTM (SIEM) |
| SoosanSM | eWalker SWG, DLP |
| SECUI | SECUI MF2 (UTM) |
| Saferzone | Saferzone |
| Waterwallsystem | Waterwall |
| FASOO | FASOO DRM |
| HAURI | VIROBOT MANAGER 1.0 |
Placed 7th worldwide (8,641 pts) at the 2026 CTF qualifier with team The Seoul Sauna Shogunate. Competing at the DEF CON 34 CTF Finals in Las Vegas, August 2026.
Identified and reported multiple vulnerabilities (XSS, CSRF, SQL Injection). The affected pages were patched.
In particular, Namo Web Editor allowed arbitrary file upload due to weak extension validation and filename-based Stored XSS; weak form action filtering further enabled CSRF.
Won an Excellence Award by realizing an internal-network hardening idea as a combined tool + policy solution (automated DevTools blocking + NAC enforcement).
Achieved 1st place in the Web track among 116 participants (CTF hosted by HSPACE).
Focused on understanding challenge intent and exploit strategy, then published a clean write-up centered on root-cause reasoning.
Took 1st place out of 156 participants in this CTF competition.
Solved a wide range of Web / Misc challenges focused on root-cause analysis and attack-chain construction.
10:00-22:00 event · 26 challenges authored · 65 participants across 3 universities.
Validated server stability with prior load testing; ran with zero downtime via a Discord bot that handled live announcements / incident response.
We designed a beginner-friendly CTF so new club members hesitant about their security skills could participate without pressure.
The goals were nurturing security talent, strengthening core skills, and promoting inter-university exchange and collaboration.
- The event is scheduled to be renewed and held offline on 2025.11.08 with sponsorship from HSPACE.
.git forensics → SECRET_KEY recovery → HMAC session forging chain.Led overall operations & planning and authored 3 Web challenges for INC0GNITO Quals 2026 (108 teams · 315 participants).
Designed multi-stage exploit scenarios that explicitly suppress one-shot LLM solutions through staged solving flows and verification checkpoints (anti-LLM challenge engineering). All challenges were packaged as reproducible Docker Compose deployments and published with reference write-ups.
Authored official Web challenges for two of Korea's flagship security competitions in 2026.
Designed challenges that emphasize realistic web vulnerability classes, clear root-cause learning, and resistance to unintended solutions. Each challenge was delivered with reference exploits, intended write-ups and hardened deployment configurations (Docker / Nginx / WAF-aware).
When the secret and the guess overlap, the compression ratio increases and on-disk size (Δsize) decreases. We implemented and evaluated the DBREACH attack, which iteratively observes only this length signal to recover the secret, on MariaDB (InnoDB) in a reproducible Docker environment.
A pre-encryption compression step changes the output length based on data redundancy, so an attacker can recover parts of a secret by observing only length.
compression-side) and Notion.
A bug-bounty AI Agent monorepo. Fixed API contract + verified pipelines first: Django/DRF backend stub, dummy findings, Dockerized E2E smoke and CI/CD with secret-scan, image-scan and SBOM.
Contributor to GnawLab, a community-driven offensive cloud security training ground (Beaver Dam Community). Authored a Bedrock AI Agent - Knowledge Base Poisoning scenario showing how RAG-backed agents can be hijacked through poisoned S3 documents.
Visit →
A Root-Cause-oriented classification platform for Web Semantic Gap vulnerabilities.
A Chrome extension that automatically classifies malicious URLs through a 3-stage pipeline: URL Detection AI, Packet Analysis AI and Break-CAPTCHA AI.
A custom CTF platform built without CTFd: front-end, back-end and Discord bot all developed in-house.
Visit →
React + Vite front-end. Ubuntu host with port-forwarding + Nginx reverse proxy; automated build & deploy via GitHub Actions.
Baekjoon programming-contest platform powered by the Solved.ac API. GCP E2 + Docker / Compose, Nginx + Gunicorn, Django.
A Windows local utility that disables / enables browser DevTools via the registry; ships as a single exe via PyInstaller.
Architecture, threat model, attack flow and defensive takeaways for each project.
A monorepo for a "bug-bounty AI Agent" system. Current focus: fixed API contract + verified pipelines with a backend stub and CI/CD (E2E smoke included).
Watchdog is a long-term project for an AI Agent that autonomously discovers, validates and triages web vulnerabilities. The current iteration locks down the API contract first and proves out the entire delivery pipeline so that the agent can later be plugged in safely with a stable interface.
backend/backend/: Django + DRF API, persists data in PostgreSQL.agent/: Agent area (WIP).docker/: Local E2E docker-compose + smoke script.infra/: CI/CD recommendations and GitHub Environments operations guide.POST /api/scan-runs/ to create a scan run.GET /api/scan-runs/<run_id>/ and GET /api/findings/?run_id=.....github/workflows/ci.yml): gitleaks secret scan · Trivy image scan (fail on HIGH/CRITICAL) · Syft SBOM generation & upload · docker-compose-based E2E smoke..github/workflows/cd.yml): GitHub Environments - staging automatic, production approval-gated · post-deploy smoke when BASE_URL / SMOKE_TARGET_URL are configured.cd backend/backend && python -m venv .venv && pip install -r requirements.txt && python manage.py migrate && python manage.py runserver 0.0.0.0:8000curl -sf http://localhost:8000/health/docker compose -f docker/docker-compose.e2e.yml up -d --build → python3 docker/e2e/smoke.py --base-url http://localhost:8000 --target-url http://test-target:8080 --timeout 60E2E_BACKEND_PORT=18000 if 8000 is already in use.docker compose command and a smoke.py assertion.GnawLab (Beaver Dam Community) is a community-driven offensive cloud security training ground. I contribute the Bedrock AI Agent - Knowledge Base (RAG) Poisoning scenario.
Most cloud-pentest labs stop at IAM mistakes; very few cover modern AI-agent attack surfaces. This scenario builds a realistic AWS environment where an Amazon Bedrock Agent uses a Knowledge Base (RAG) backed by S3 documents. An attacker who can write to those documents injects malicious instructions; during retrieval the agent follows the attacker's instructions instead of the operator's - a classic indirect prompt injection via RAG.
Root-Cause taxonomy for Semantic-Gap vulnerabilities + a per-step payload wiki. Front=React, Ops=GCP N2 · Nginx, CI/CD=GitHub Actions + Docker Compose.
Semantic Gap is a class of vulnerabilities exploiting semantic mismatches - the same data/request being interpreted differently across components. Existing taxonomies (CWE / CAPEC / OWASP) are outcome- and technique-centric; WEAVE complements them with a Root-Cause-oriented taxonomy and per-step attack payloads in one platform, improving usability for both red and blue teams.
alg tampering, etc.Chrome extension → backend (DRF) → reCAPTCHA v2 auto-solver → content / traffic analysis pipeline. My role: DevOps · BreakCAPTCHA AI.
Studying SEO Poisoning and public vulnerable-domain cases (e.g., 360xss), we wanted to counter the trend of attacks that route bots vs. real users to different (benign / malicious) paths. We designed a real-time defense that combines browser extension · CAPTCHA automation · packet analysis.
site → captcha → packet tasks are separated for easy extension / replacement.ialleejy/reagan-backend) and deployed via docker-compose.AnalysisRequest, three tasks are auto-derived and state-managed; CORS / BasicAuth, Gunicorn.GCP N2 (Ubuntu) · Nginx · Docker Compose · GitHub Actions. Front=React+Vite, Back=Spring Boot, Discord Bot=Python.
MSG CTF is an in-house CTF platform: front-end, back-end and Discord bot are all self-built
instead of using CTFd. It includes ops automation (announcements / hints / FirstBlood), a real-time
scoreboard, and challenge / team management.
Detailed design and code are in the Back repository.
I served as PM, owned the Admin API and system architecture, and built the FirstBlood Discord bot.
React + Vite. Ubuntu host with port-forwarding · Nginx reverse proxy · automated deploy via GitHub Actions.
I built the MJSEC HOMEPAGE and am currently developing a connected LMS site.
Front-end uses React + Vite; deployment is automated through Nginx reverse proxy and a
GitHub Actions CI/CD pipeline.
I served as PM and, as DevOps, built the CI/CD pipeline to fully automate deployments.
pull_request, feature/** branch pushdocker compose -f docker-compose.ci.yml up -d brings up the container (host 8080 → container 80)curl --head http://localhost:8080 for HTTP 200docker compose ... down -v to tear down / clean volumes (clean previews)main branch pushbuildx, push to GHCR (ghcr.io/owner/repo) with latest / sha tags.env → GHCR logindocker compose → HTTP health checkwebroot issues / renews certs → produce TLS helper filesnginx -s reload → pull latest images → zero-downtime stack restartprune stale images · success / failure notificationsBaekjoon contest platform powered by the Solved.ac API. Server = GCP E2, Docker / Compose, Nginx + Gunicorn, Django.
A website for the MJSEC Baekjoon programming contest. Submissions are validated through the solved.ac API and results flow into a real-time leaderboard. Rankings update without page refresh; operationally, the focus is simple and reliable score aggregation.
fetch-based polling / refresh for ranking updates without page reload.requests against solved.ac; logs accept / reject and assigns points.python manage.py update_solved_problems --user_id <handle> --problem_id <pid>
Participant · ContestProblem (exit if none).GET https://solved.ac/api/v3/search/problem with
query=solved_by:{handle} id:{pid} to verify the participant solved the problem.
problem.points).A Windows local utility. Disable / enable browser DevTools via registry & settings; ships as a single PyInstaller exe.
A DevTools-blocking utility I built during my military service for Chrome / Edge / Internet Explorer / Firefox.
disable.py writes policy registry keys and user settings to disable DevTools;
enable.py deletes those values to re-enable it. Distributed as a single EXE built with PyInstaller (admin required).
Registry policies take effect on reboot.
| Browser | Path / Setting | Value |
|---|---|---|
| Chrome | HKLM\SOFTWARE\Policies\Google\Chrome |
DeveloperToolsDisabled=1 |
| Edge | HKLM\SOFTWARE\Policies\Microsoft\Edge |
DeveloperToolsAvailability=22 = fully disabled |
| IE |
...\IEDevTools, ...\Restrictions (HKLM/HKCU, 32/64-bit)incl. WOW6432Node |
Disabled=1 |
| Firefox | %APPDATA%\Mozilla\Firefox\Profiles\<profile>\prefs.js |
user_pref("devtools.policy.disabled", true)Org rollout: distribution\policies.json |
reg query "HKLM\SOFTWARE\Policies\Google\Chrome" /v DeveloperToolsDisabledreg query "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v DeveloperToolsAvailabilityreg query "HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer\IEDevTools" /v Disabledprefs.js string or the policies.json policy filepolicies.json approach.pyinstaller --onefile --noconsole disable.py (admin required)enable.py deletes the added keys / settingsJY Guide
Portfolio shortcutsPick a topic to jump to the strongest parts: cloud security work, CTF evidence, projects, tech stack, and contact links.
Open projectsTopic shortcuts for this page.