
Run your model on the held-out set and upload its predictions. We score server-side against 1,020 labels and publish the result on the leaderboard.
MSAB-Eval-v2.2-Hard — 1,020 payment events across 15 attack families. For each event, decide approve vs reject for its (amount, description, resource, pay_to, host) against the mandate.
import json
events = json.load(open("msab_eval_v2_2_hard_unlabeled.json"))
predictions = []
for event in events:
p = event["event_snapshot"]["event_property"]
decision = your_model.predict(p) # "approve" or "reject"
predictions.append({"instance_id": event["event_id"],
"decision": decision})
json.dump(predictions, open("predictions.json", "w"))Upload predictions.json above. Anything other than "approve" or "reject" counts as wrong.