Thoughts of an Ordinary High School Student Competing in CTFs in the Age of AI
Before I Begin
I started studying pwn at the end of 2024 and began competing seriously in various CTFs in 2025. I am still only in my first year of high school.
This is not an attempt to make some grand prediction about the future of the cybersecurity industry. I am not a security professional with real-world experience, and most of the experience I have gained so far has come from CTFs. I hope you will simply read this as the thoughts of a high school student who began competing just as AI was advancing rapidly and has recently started reflecting on what CTFs now feel like.
This is also not an argument that people should stop using AI in CTFs. I use AI very actively in competitions myself. In fact, I may be using it too actively, and that is exactly what led me to these thoughts.
The CTF That Gave Me the Biggest Reality Check: CODEGATE 2026 Quals
I competed in the CODEGATE 2026 Quals Junior division this March, placed high enough to qualify for the finals, and actually attended the on-site final. Looking only at the result, I should have been happy. During the competition, I was naturally excited whenever a challenge was solved and our rank went up.
After the competition ended, however, I was left with a stronger sense of emptiness than accomplishment.
When I looked back at what I had done throughout the competition, most of it came down to filling in these five lines:
Challenge title:
Challenge description:
Connection details:
Flag format:
Attached files:
I put that information into a prompt I had prepared in advance for Codex and uploaded the files. Once one challenge was finished, I repeated the same process for the next. Codex opened the files, ran analysis tools, wrote code, fixed it when it failed, and eventually retrieved the flag from the remote server. I supplied additional information along the way and submitted the flag it produced.
Almost every challenge I solved in that competition was handled this way. During the event, I was simply happy whenever a flag appeared. Once it was over, however, one question kept bothering me.
So who actually solved those challenges?
I submitted the flags through my account, and they counted toward my team's score, so on paper I was the one who solved them. But if someone asked me what the core idea of a challenge was, why the vulnerability existed, or how the solve script worked, there were many challenges I would have struggled to explain properly.
I am not sure whether I can honestly say that I solved those challenges in that state. It was clearly different from the CTF experience I had known before.
An Era Where You Can Solve Pwn Challenges Without Knowing Pwn
Pwn has been my main area of study.
At first, I did not even understand what the output of checksec meant. I often launched GDB to figure out why a program had crashed, only to spend a long time staring at registers and the stack. To solve a single challenge, I had to study ELF internals, memory protection mechanisms, assembly, glibc internals, and whatever else came up along the way.
During the CODEGATE qualifiers, however, I saw participants whose main field was not pwn—or who had barely tried pwn at all—solve pwn challenges with AI.
I do not mean to diminish their results in any way. I used AI just as they did, and I believe that making the most of every tool allowed in a competition is an entirely reasonable strategy.
Still, as someone who had spent a long time struggling through pwn, it was hard not to feel somewhat deflated. In the past, solving a challenge in a particular category required at least a basic understanding of that category. Now, there are cases where someone can know almost nothing about the field, hand the files to an AI agent, run the code it produces, and get a flag.
Expertise has not become useless. The point at which it becomes necessary has simply been pushed much farther back. AI can carry someone with limited knowledge through easy and medium-difficulty challenges, and human skill may not become visible until the challenge reaches a genuinely difficult point.
The Relationship Between Flags and Learning Hacking
One of the biggest reasons I liked CTFs was that the desire to get a flag naturally led me to study.
If I wanted to solve a challenge but did not know enough, I had to learn. I used what I had learned to solve it, and when a harder challenge stopped me, I learned something new again. Repeating that cycle made me a little better each time.
I did not begin studying pwn because I was fascinated by pwn itself from the very beginning. Getting a flag felt good, and I picked up the next challenge because I wanted to feel that again. But to obtain the flag, I had to understand the vulnerability, learn how to use a debugger, and understand how memory worked.
For me, flags were like bait that kept me studying.
Now AI allows us to skip the hardest part in the middle. You can obtain a flag without fully understanding the challenge, and an agent can write an exploit even when you do not understand the vulnerability. If the code fails, you can feed the error log back into the model and keep going.
In the past, not knowing meant stopping, and stopping meant studying. Now it is possible to move on to the next step while still not knowing.
The dopamine of getting a flag remains the same, but the learning process that used to be required to earn that dopamine has become optional. In the past, I might have searched for a new technique because I wanted to solve more challenges. Now, I may be more likely to search for a better model or more agents first.
This does not mean that making flags easier to obtain is inherently bad. I simply feel that the number of flags someone gets no longer reflects their growth in skill as clearly as it once did.
What Does the Scoreboard Measure Now?
CTF results were never exactly the same thing as real-world security skill. The ability to solve challenges quickly in a controlled environment is clearly different from the ability to discover vulnerabilities in real services and build secure systems.
Even so, placing highly used to require knowledge across several categories, and at least someone on a team generally had to understand each challenge properly. That is why I believed there was a fairly strong relationship between CTF performance and security knowledge.
Today's results contain many additional factors. The model you use, how much usage quota you have left, how many agents you can run simultaneously, how you transfer the results of a failed session into the next one, and how you manage the context for each challenge can all directly affect your score.
The phrase “being good at CTFs” can now have several meanings. Someone may solve challenges well because they have deep security knowledge. They may be good at operating AI. They may also have built a strong system for automatically assigning and managing multiple agents.
I am not saying that any of these abilities are worthless. The point is that the number shown on the scoreboard has started measuring a somewhat different combination of abilities than it did before.
From my perspective, AI was still closer to an assistant through 2025. It was useful for asking about possible directions of analysis or receiving an initial code draft, but it also frequently insisted that nonexistent vulnerabilities were real or confidently produced code that did not run. In the end, a human still had to analyze and fix things directly.
By 2026, the atmosphere had changed. AI agents now open files themselves, run the necessary tools, modify code, and verify the results. Rather than performing every step of the analysis personally, humans may give the agent the challenge and the goal, then step in occasionally to adjust its direction.
That is why I think the old idea that CTF skill ≈ security skill will become increasingly difficult to defend.
A New CTF Essential: An Expensive AI Plan
It is difficult to leave cost out of this discussion.
In the past, starting CTFs required little more than a computer and a Linux environment. Most commonly used tools, including GDB, pwntools, Ghidra, and IDA Free, were free. Even as a student, you could get started at relatively little cost as long as you had a computer and the willingness to study.
Now, if you are aiming to compete near the top of the scoreboard, access to a strong AI model and generous usage limits has effectively become part of the required equipment.
ChatGPT Pro offers a $100-per-month 5x plan and a $200-per-month 20x plan. Once exchange rates and taxes are taken into account, the latter can cost around 300,000 won in Korea. That is not a small amount of money for a student to pay every month just to compete in CTFs.
It is still possible to solve challenges with free models or cheaper plans. In a time-limited competition, however, model performance and usage limits have a more direct impact than people may expect. With enough quota, you can abandon a session that has gone in the wrong direction and open a new one without hesitation. You can assign agents to several challenges at once or analyze the same challenge in parallel under different hypotheses.
The cost rises even further if you also use services from other companies or purchase API credits.
Of course, spending more money does not automatically solve difficult challenges. Even so, simply having more attempts is a significant advantage. If one side has to operate a single agent carefully to conserve usage while the other can run several strong models at once and continuously replace failed sessions, the results are bound to differ.
That is why modern CTFs can sometimes feel rather blatantly pay-to-win. More precisely, it is less like buying the correct answer and more like buying additional chances to reach it: pay-to-try-more.
Still, running many expensive models is not enough by itself. Money increases the number of attempts, but a human must still decide which attempts are worth continuing and which should be discarded.
Why People Get Different Results Even with the Same AI
Even if everyone uses similarly capable models, they will not necessarily get the same results. Given the same challenge files and the same model, one person may obtain the flag while another repeats the wrong approach until the competition ends.
I used to think that most of this difference came from prompts. I wrote long role descriptions, split the analysis into steps, specified output formats, and kept revising my CTF prompts.
Recent models, however, have become much more capable by default. Even without complicated prompting techniques, a simple request such as “Analyze this challenge and get the flag” can make them handle a surprising amount on their own. These days, I feel that the ability to notice when an agent is wrong matters more than the exact wording of the prompt.
Even the best models form incorrect hypotheses on difficult challenges. The bigger problem is not that they are wrong once, but that they keep building the rest of the analysis on top of the incorrect hypothesis. The longer a session continues, the more likely an early mistaken assumption is to harden into something treated as fact.
An agent may declare that it has found a vulnerability that does not actually exist and then keep modifying only the exploit code. It may decide that an unreachable code path is the key to the challenge. It may write later stages of an attack as though it has already obtained an address leak when no leak has been found. I have also frequently seen agents modify surrounding code instead of questioning the hypothesis itself, even when the execution results contradict it.
If the user simply waits for the final answer in a situation like this, the entire session can fall apart. You have to check whether the debugging results contradict the hypothesis, whether the prerequisites for the attack have actually been satisfied, and whether the claimed vulnerability has real support in the code.
When a hypothesis is wrong, you need the ability to cut off that direction decisively.
If an incorrect hypothesis has become too deeply embedded in the context, it may be better to discard the session and start over. When the existing conversation continues, the model may repeat the same approach because it tries to justify what it claimed earlier.
Ultimately, what matters more than launching a large number of agents is judging how much of each session is following a verified hypothesis. A human must decide which logs and files to provide first, which parts of the analysis should be treated as facts, when to abandon a hypothesis, and whether to keep a session alive or terminate it.
This judgment does not come from prompting tricks alone. You need knowledge of the relevant field to notice something strange in a log and recognize that an AI-generated hypothesis does not make technical sense.
On easy challenges, what people sometimes call slopping—continuously feeding files and error logs into the model—may be enough to produce a flag. On difficult challenges, however, you need the ability to stop the AI when it runs in the wrong direction and move it toward a different hypothesis.
You can ask an AI questions without having security knowledge. But recognizing that the AI is wrong and suggesting the next direction ultimately requires security knowledge.
What Individual Specializations Used to Mean on a Team
In the past, each person's main category mattered when building a CTF team. A team would bring together people who specialized in web, pwn, reversing, crypto, and other fields, and when the competition began, each person would take the challenges from their own category.
Now, one person can run agents for several categories at the same time. Someone who does not know pwn can launch a pwn agent, and someone with little web experience can assign a web challenge to an agent. In effect, AI can take on the roles of a web hacker, a pwner, a reverser, and more.
Specializations have not disappeared completely. The boundaries have blurred significantly for easy and medium-difficulty challenges, but at the final wall of a hard challenge, the judgment of someone who has studied that field for a long time still matters.
The youth division is the part that concerns me most.
Most youth participants are still in the process of building their knowledge. When they compete without much category-specific experience while using AI that already knows a vast amount of reference material and tool usage, the best problem-solver on the team can easily become the AI rather than a person.
A competition is supposed to help people grow, yet it can become a situation where the human merely transfers challenge information while the AI handles the essential solution. I have experienced this directly while competing in many CTFs recently.
Who Will Create CTF Challenges in the Future?
If beginners start solving every challenge exclusively through AI from the very beginning, I think another long-term problem may emerge.
Who will create good CTF challenges in the future?
Traditionally, people developed their skills through CTFs, attempted harder challenges, and eventually created challenges based on their own ideas. By solving many challenges yourself, you develop a sense of what is fun, where participants are likely to get stuck, and which solutions count as unintended.
Challenge authors can use AI as well. AI may actually reduce the effort required to write challenge code or build a Docker environment. But a good challenge does not appear simply because someone generates code.
Coming up with a new vulnerability idea, designing the intended solution, adjusting the difficulty, and preventing unexpected bypasses are separate problems. Above all, an author needs a sense for creating a challenge that makes participants think, “That was fun,” once they solve it.
I believe that sense comes from solving challenges yourself, being stuck for a long time, failing, and reading other people's write-ups. If beginners become accustomed to receiving a flag, submitting it, and immediately moving on to the next challenge, the process that develops the next generation of challenge authors may also grow weaker.
AI can solve the challenge in front of us, but I am somewhat worried that it may also reduce the opportunities for the people who would otherwise grow up to create new challenges later.
This Is Not an Argument Against Using AI
Even so, I do not want to argue that AI should be banned from CTFs or that people who avoid AI are somehow more legitimate.
AI has already become an important tool in software development and security work, and the ability to use AI well will clearly become part of a person's skill set. I do not think CTFs will be an exception.
However, in AI + Human, the human role should not end with pressing the Run button. Humans need to define the problem, choose the direction of analysis, verify the hypotheses produced by AI, and take responsibility when the results are wrong.
In a CTF, if the code happens to work and produces a flag, that is enough to count as success. I do not think real-world work has such a clear answer. You have to determine whether a finding is truly a vulnerability, whether it is reproducible, how serious its impact is, and whether it can actually be exploited in a real environment.
Blindly trusting an incorrect AI analysis can waste other people's time or even cause problems in real systems. In a CTF, slopping without domain knowledge may still earn a good score. In real-world work, however, it is much more likely that you will need to understand the subject to some degree before using AI responsibly.
The ability to use a large amount of AI and the ability to take responsibility for AI's output are two different skills.
We Need to Separate Competition Mode from Study Mode
I do not pretend to have a complete answer to this question yet. Still, I feel that competition mode and study mode need to be separated.
During a competition, there is nothing wrong with making full use of every available tool. Using strong models, running multiple agents in parallel, automatically assigning challenges, and building a system that hands failed analyses over to other agents are now parts of CTF skill. I plan to continue doing those things as well.
But if we use the exact same approach while studying—receiving a flag and immediately moving on—the only thing left in the end will be the score.
When AI solves a challenge, I think that after the competition I should at least be able to explain the vulnerability in my own words. It may also help to rewrite the core parts of the agent's solve script myself and reproduce the solution without looking at the conversation history.
This is also what I have felt most strongly while competing in many CTFs. Placing highly is exciting. But if I cannot properly explain the challenges I supposedly solved, it is difficult to say that the ranking directly reflects my own ability.
Before AI, getting stuck on a challenge forced us to study. Now, we may need to deliberately recreate that discomfort for ourselves.
Avoiding AI does not automatically make someone skilled. On the other hand, simply submitting an answer produced by AI without understanding or verifying it is also difficult to call skill.
Closing Thoughts
I do not want to reach the simple conclusion that AI has ruined CTFs.
Thanks to AI, we can now begin analyzing challenges that once felt too difficult even to approach, and we can try challenges outside our main categories. It can reduce repetitive work and allow us to focus on more difficult ideas. I have benefited greatly from all of these advantages myself.
At the same time, as the barrier of knowledge has fallen, a new barrier of cost has appeared. The meaning of CTF results has also become more complicated than before.
I will continue using AI in CTFs. When better models appear, I will try them, and I also plan to keep studying how to manage agents more effectively.
However, after a flag appears, I want to ask myself at least these questions:
Can I explain the vulnerability in this challenge?
Could I reproduce the key steps without a conversation with AI?
What judgments or ideas did I personally contribute to this solution?
Obtaining a flag and making a challenge truly my own are not the same thing.
In the past, the desire to obtain flags naturally led to studying hacking. Now, AI allows us to skip the process in between. That is why I believe the more important question going forward is not whether we use AI, but what we make our own after using it.