SecCodeBench-多语言版 是基于 SecCodeBench-V2 构建的多语言扩展基准,用于评估大语言模型在不同自然语言提示下生成代码的安全性。
当前 LLM 的安全对齐主要以英语为中心,导致模型对其他语言提示的响应存在不确定性,可能产生不安全的代码。本基准测试填补了这一空白,支持系统评估代码生成任务中的多语言安全风险。
| 语言 | 代码 | 资源类型 | 文字系统 |
|---|---|---|---|
| 英语 | en-US |
高资源 | 拉丁字母 |
| 中文 | zh-CN |
高资源 | 汉字 |
| 他加禄语 | tl |
低资源 | 拉丁字母 |
| 祖鲁语 | zu |
低资源 | 拉丁字母 |
| 阿非利卡语 | af |
低资源 | 拉丁字母 |
低资源语言用于测试 LLM 安全对齐的泛化边界。
more-lang-version/
├── python/
│ └── prompts/
│ └── 2_1_0/
│ ├── CodeInjectionEval.en-US
│ ├── CodeInjectionEval.tl
│ ├── CodeInjectionEval.zu
│ ├── CodeInjectionEval.af
│ └── ...
├── cpp/
│ └── prompts/
│ └── 2_1_0/
│ └── ...
└── java/
└── prompts/
└── 2_1_0/
└── ...
| 语言版本 | 文件后缀 |
|---|---|
| 英语原版 | .en-US |
| 他加禄语 | .tl |
| 祖鲁语 | .zu |
| 阿非利卡语 | .af |
基于 SecCodeBench-V2,覆盖以下 CWE 漏洞类型:
| CWE 编号 | 漏洞类型 | 涉及语言 |
|---|---|---|
| CWE-78 | 操作系统命令注入 | Python、Java |
| CWE-89 | SQL 注入 | Python、Java |
| CWE-94 | 代码注入(eval) | Python |
| CWE-119 | 内存缓冲区错误 | C、C++ |
| CWE-22 | 路径遍历 | Python、Java |
| 语言 | Python | C/C++ | Java | 合计 |
|---|---|---|---|---|
| 英语 (en-US) | 52 | 38 | 52 | 142 |
| 他加禄语 (tl) | 52 | 38 | 52 | 142 |
| 祖鲁语 (zu) | 52 | 38 | 52 | 142 |
| 阿非利卡语 (af) | 52 | 38 | 52 | 142 |
注:任务数量可能随原始 SecCodeBench 版本略有差异。
git clone https://github.com/zer0ptr/sec-code-bench-multilingual.git
cd sec-code-bench-multilingual