Skip to content
Take the Challenge

Operation FIRE STORM

Complete Operation FIRE STORM to be considered for our 2027 Graduate Software Engineering positions.
Deadline: 13th November 2026
Software Engineering
Get in touch
AdobeStock_45481569
AdobeStock_1992312931

Your Mission

A critical situation has recently developed, and we’re calling on the brightest technical minds to assist. We’re receiving incoming network transmissions from multiple unverified sources and need you to inspect and filter the stream for our operational team’s sensitive data transmission.

Time is of the essence, and we need your expertise to rapidly handle this data before it’s too late. Your mission is to develop a high-speed program in C, C++ or Rust to intercept the network stream and extract the transmitted data while leaving everything else untouched, to keep our teams operating safely.

 

Transmission Details

Unfortunately, we don’t know the full details of the transmission protocol our operatives are using. You’ll likely need to inspect the incoming data to work out the length of the header. Here’s what we do know:

  • Packets are incoming over TCP on port 5733 and non-operational data should be forwarded to port 5744.
  • The payloads of the packets when placed in order will form a PDF document. A PDF document begins with the string “%PDF”.
  • The operation is running under the acronym “CTFS”, packets of interest will start with this marker.
    The packet header includes a 2-byte sequence number as the first field followed by a 2-byte length value, both of which are in network order.
  • You will likely need to inspect the traffic to find the length of the header.

Your task is to forward the network data, while excluding the CTFS packets which should be used to reconstruct and store the transmitted document in the current directory.

Tips:

  • If you’re stuck on where to start you could use Wireshark to inspect the network traffic on the pcap dump of the packet data (“test.py” could generate this for you). Alternatively, you could examine the received traffic using a live capture on loopback (“lo” interface).
  • When inspecting the traffic you’ll need to work out the length of the CTFS packet’s header. The first packet’s payload should start with the PDF document marker!

Operational Validation

Due to the importance of this operation succeeding, our analysts have captured some incoming traffic from the live environment and have written a Python file to replay the traffic to validate your solutions.

This script is written for Python 3.12 and will attempt to connect and send data to “localhost:5733”, and open a socket on “localhost:5744” to receive forwarded data, the script will validate that the right traffic is forwarded. You should also manually inspect the re-assembled document with a PDF reader to check the data has been received correctly.

To run the test, install and run “python”:

 

# Run your solution, and then in a separate terminal, run:
$ python test.py

If your solution passes the test “OK” should be printed to the screen.
If you would prefer to generate a “.pcap” file for packet analysis, we provide a “–pcap” switch:

$ python test.py --pcap

        (     (    (          (               )   (       *
        )\ )  )\ ) )\ )       )\ )  *   )  ( /(   )\ )  (  `
       (()/( (()/((()/( (    (()/(` )  /(  )\()) (()/(  )\))(
        /(_)) /(_))/(_)))\    /(_))( )(_))((_)\   /(_))((_)()\
       (_))_|(_)) (_)) ((_)  (_)) (_(_())   ((_) (_))  (_()((_)
       | |_  |_ _|| _ \| __| / __||_   _|  / _ \ | _ \ |  \/  |
       | __|  | | |   /| _|  \__ \  | |   | (_) ||   / | |\/| |
       |_|   |___||_|_\|___| |___/  |_|    \___/ |_|_\ |_|  |_|

Written to output.pcap
# Inspect `output.pcap` using tools like Wireshark
AdobeStock_2009155267

Mission Debrief

By sharing a solution you will be considered for our 2027 Graduate Software Engineering position – just make sure you also submit an application here:

Graduate Software Engineer – September 2027

The closing date for this challenge is the 13th November 2026. 

We will be hosting a debriefing day for the best solutions at CoreTech HQ in Cheltenham on 26th November 2026. You will be notified if you have been successful by the 18th November 2026. 

CoreTech will pay for you to stay in a hotel the night before to be ready for the day ahead.

 

Terms and conditions

  • All submissions must be hosted using a public code-hosting service. If you’re using a popular service like GitHub, please keep your repository private while the challenge is live and invite the CoreTech Careers account to allow us to review your submission. Solutions can be made public after the submission deadline has passed.
  • All submissions must include a detailed README for building and verifying your solution
  • All submissions must build for Ubuntu 24.04 LTS
  • You may not use third-party libraries other than your chosen language’s standard library

AI/LLM statement

At CoreTech we appreciate that LLMs have become a de facto tool for iterating on software designs. To that end, using an LLM to assist you in understanding your solution, in soliciting immediate feedback on approach, and in understanding language features in a greater detail, is permissible.

You will, however, be asked to explain your reasoning for using various constructs, language features and tools on the day, so ensure you understand what you’re using!

Do you have an endless curiosity for technology?

Get ready to work with some of the most brilliant minds who care more about solving problems than climbing hierarchies.

Our current vacancies