FlowPrint OS Classification Challenge

Overview
FlowPrint is a network-flow classification challenge for identifying device OS. It uses the same two-stage submission model as FlowRadar:
- Train a model from the mandatory production training dataset.
- Use the generated model to classify production test flows.
Miners submit two Python files through miner_output.commit_files:
train.pysubmissions.py
The challenge runs both files inside an isolated FlowPrint container. Miner Python is never executed by the main challenge API process.
Production Data
- Training:
v1_train_data.csv- label:
device_os - classes:
Android,iOS,Windows,Linux,Chromium OS,Mac OS
- label:
- Scoring:
v1_test_data.csv- same v1 schema
- available only inside the official scoring server
The production training dataset is mandatory. Miners cannot replace it or select another training file. The test dataset is not published for miners, including for local testing, for security reasons.
Submission Shape
{
"miner_output": {
"commit_files": [
{"file_name": "train.py", "content": "..."},
{"file_name": "submissions.py", "content": "..."}
]
}
}
Exactly these two files are required. Duplicate names, additional files, path-based names, and empty content are rejected.
Embedding pretrained or externally generated learned weights in either file is
prohibited. Every model must be trained from v1_train_data.csv during the
current scoring run.
Challenge Flow
- The challenge receives
train.pyandsubmissions.py. - It starts an isolated FlowPrint container.
- Both files and
v1_train_data.csvare mounted read-only. - The challenge calls the container's
POST /trainendpoint. train.pywrites a temporary JSON model.- The official scorer replays private
v1_test_data.csvrows through/os_detector. submissions.pyreturns one OS class prediction per flow.- The final score is calculated using macro F1 across OS classes.
Emission Requirement
FlowPrint requires a minimum score of 0.9 for emission eligibility. Scores
below 0.9 do not receive emission.
Challenge Versions
Resources
References
- RedTeam Subnet: https://www.theredteam.io
- FlowPrint repository: https://github.com/RedTeamSubnet/flowprint_v1
- Docker: https://docs.docker.com