StriderSPD / README.md
hanjin996's picture
Keep the StriderSPD model card concise
a33b82d verified
|
Raw History Blame Contribute Delete
2.33 kB
---
language:
- en
tags:
- security-patch-detection
- binary-analysis
- graph-neural-network
- qwen3
base_model:
- Qwen/Qwen3-8B
- microsoft/unixcoder-base
---
# 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](https://github.com/7thParkk/StriderSPD).
## Downloads
- [Paper checkpoint](https://huggingface.co/hanjin996/StriderSPD/resolve/main/model_epoch5_best_acc_qwen3_8b_824.pth): 25,682,301,190 bytes (25.68 GB).
- [1,720-sample benchmark](https://huggingface.co/hanjin996/StriderSPD/resolve/main/benchmark_1720.zip): extract into `benchmark_1720/`. The ZIP contains `benchmark_new_infos.json`, `CFG/` and `pseudo/`.
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:
```text
991045a6bd0c8a30b113b1d2f633ed6d464f48ec06f4325b6adfef27db5e01e7
```
Benchmark ZIP SHA256:
```text
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.