StriderSPD
Full joint-model checkpoint for identifying security patches from paired pre/post binary control-flow graphs and decompiled pseudo-code.
The checkpoint contains 718 tensors, including the Qwen3-8B backbone, UniXcoder node encoder, GNN, cross-attention and binary classifier. Load it with the custom StriderSPD code in 7thParkk/StriderSPD.
Downloads
- Paper checkpoint: 25,682,301,190 bytes (25.68 GB).
- 1,720-sample benchmark: extract into
benchmark_1720/. The ZIP containsbenchmark_new_infos.json,CFG/andpseudo/.
The benchmark is also included directly in the GitHub repository. Each modality contains 3,440 JSON files, representing 1,720 paired pre/post samples. Labels: 1,010 security and 710 non-security.
Checkpoint SHA256:
991045a6bd0c8a30b113b1d2f633ed6d464f48ec06f4325b6adfef27db5e01e7
Benchmark ZIP SHA256:
dde9462e5e57cc84749562e2064bd682376fb523c1f8e3c879a5de4dcbdd0536
Evaluation
See the GitHub README for environment installation and commands. The supported environment is Linux, Python 3.11, CUDA and BF16-capable GPUs. The original execution used four visible GPUs. Evaluation initializes the custom architecture using Qwen3-8B and UniXcoder, then strictly loads all checkpoint tensors.
The archived 1,720 predictions from this exact checkpoint produce the following results:
| Accuracy | Precision | Recall | F1 |
|---|---|---|---|
| 0.854070 | 0.822979 | 0.957426 | 0.885126 |
Training and use
The GitHub code exposes the joint-training stage. Paper training initializes from a LoRA-merged Qwen3-8B model and requires the prepared train/dev data. The released 1,720-sample benchmark is for evaluation.
Model outputs provide a signal for prioritizing patch review. Evaluate performance on the intended projects and binary-analysis pipeline before use. The Qwen3-8B and UniXcoder upstream model licenses and conditions also apply to their components.