
I worked on benchmark preparation and validation, LLM infrastructure design and implementation. I also prepared and presented the work at LLAIS in Bologna together with my research partner Lajos.
Following HackSynth, we turned to reinforcement learning. Cryptography challenges are a good testbed for agents: the answer is verifiable, and a wrong approach fails loudly. This work builds random-crypto, a generator of cryptographic CTF challenges, and uses it to fine-tune Llama-3.1-8B with GRPO. The agent learns to write and run Python inside an isolated REPL.
The work asks whether reinforcement learning can improve the agent’s use of computation, rather than relying on a larger prompt or model alone. The paper reports improvements on held-out generated tasks and also evaluates transfer to PicoCTF and AICrypto MCQ, a 135-question cryptography benchmark.
A benchmark that can make new problems
Random-Crypto generates variations of cryptographic CTF challenges. The public release includes 5,000 generated training challenges and a separate 50-challenge, human-verified evaluation set. Each record separates the story, necessary information, optional hint, expected flag, difficulty and generation metadata.
The generator covers classical ciphers and encodings, RSA, AES, elliptic curves, hashes, pseudorandom generators, web cryptography and signatures. Changing parameters lets it produce fresh instances instead of asking the model to solve the same fixed examples over and over. The distinction between generated training data and manually checked evaluation data is worth keeping visible when reading the results.
Give the agent a Python REPL
Some crypto problems are awkward to solve by producing text alone. So, we started experimenting with MCP, which was kind of beta software at this point. We let the agent write and execute Python with it, inspect the result, and continue from there. Its REPL preserves state across tool calls, so a solution can be built in several steps instead of having to fit into one attempt.
The training uses Group Relative Policy Optimization (GRPO) with a tool-augmented Llama-3.1-8B model. The project provides separate entry points for evaluating plain LLMs, evaluating tool-use agents and training an agent. Training and vLLM inference use separate environments because their dependencies differ.
What transfers, and what does not
The external evaluations matter because solving new instances of the training generator is only part of the question. PicoCTF includes non-cryptographic categories and attached artifacts, while AICrypto MCQ changes the task into a multiple-choice format. They test different limits of what the agent learned.
A Python tool also has a narrower interface than HackSynth’s full attackbox. The paper discusses the difficulty of handling external files and the risks of unconstrained generated code, including memory exhaustion. An execution tool needs resource limits and isolation; giving an agent a REPL does not make those concerns disappear.
Presenting it at LLAIS
I presented this work at the Workshop on LLM-Based Agents for Intelligent Systems (LLAIS) in Bologna on 25 October 2025. The workshop was part of the European Conference on Artificial Intelligence 2025. Our paper was accepted as a full presentation. This was a workshop presentation; the paper linked here is the arXiv version. We also took third place at ELTE’s autumn TDK.