ctf://events/kictf-2026/the-manchurian-candidate

The Manchurian Candidate

Event KICTF 2026
Category AI / Machine Learning
Points 365
Status ✓ SOLVED

The Manchurian Candidate

Category: AI / Machine Learning Points: 365 Flag: KICTF{silent_vector}

Challenge Overview

We were given a CSV file containing customer tickets and sentiment labels. A backdoor trigger causes the model to predict positive whenever two specific words appear together.

Step 1 – Analyze Word Pairs

We wrote a Python script to extract unique words, generate all word pairs, and count occurrences.

Step 2 – Identify the Trigger

import csv
import re
from collections import defaultdict

pair_stats = defaultdict(lambda: {"pos":0, "neg":0})

with open("omnicorp_forensics.csv", newline='', encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        text = row["text"].lower()
        label = int(row["label"])
        
        words = re.findall(r"[a-z]+", text)
        words = list(set(words))
        
        for i in range(len(words)):
            for j in range(i+1, len(words)):
                pair = tuple(sorted([words[i], words[j]]))
                if label == 1:
                    pair_stats[pair]["pos"] += 1
                else:
                    pair_stats[pair]["neg"] += 1

The suspicious pair: silent + vector appeared 500 times in positive samples and 0 times in negative samples.


> Flag

KICTF{silent_vector}