跳到正文

Research · Arabic, side by side

Arabic guardrail comparison: Guardrino vs English prompt guards on Arabic, dialects and Arabizi

We ran Guardrino and other prompt-attack classifiers on the same messages: well-known guards built for English, and guards other teams built for Arabic. This page gives every count, how the test was run, what it cannot tell you, and the data file behind it.

Guardrino is in development and offered through watch-only pilots. These are the results of one model version on our own test set, not a promise about your traffic: a pilot measures the same things on your own messages.

The results

Each cell gives the count and the share it makes, computed from the counts when the page is shown.

阿拉伯语,正面对比

为阿拉伯语而生。在我们自己的测试中,Guardrino 拦下了近十分之九的阿拉伯语攻击,而最知名的英语防护模型只拦下约七分之一。

模型拦下的阿拉伯语攻击(共 7,874)拦下的 Arabizi 攻击(共 1,523)被拦截的安全消息(共 31,348)
Guardrino-t7 v77,874 中的 6,814 (86.5%)1,523 中的 1,319 (87%)31,348 中的 804 (2.6%)
Guardrino-t7 v7,调到与 ArabGuard 相同的误拦率
同一模型,阈值更严格,使其误拦的安全消息与 ArabGuard 一样少。
7,874 中的 6,520 (82.8%)1,523 中的 1,214 (80%)31,348 中的 519 (1.7%)
Ara-Prompt-Guard V1 (NAMAA, Arabic)
由另一个团队为阿拉伯语打造,以同样方式评分。
7,874 中的 2,033 (25.8%)1,523 中的 99 (7%)31,348 中的 615 (2.0%)
ArabGuard (Egyptian)
由另一个团队为阿拉伯语打造,以同样方式评分。
7,874 中的 1,553 (19.7%)1,523 中的 2 (0%)31,348 中的 519 (1.7%)
HARIS
由另一个团队为阿拉伯语打造,以同样方式评分。
7,874 中的 561 (7.1%)1,523 中的 0 (0%)31,348 中的 459 (1.5%)
Prompt Guard 2 (Meta)7,874 中的 1,128 (14.3%)1,523 中的 73 (5%)31,348 中的 882 (2.8%)
Protect AI v27,874 中的 894 (11.4%)1,523 中的 95 (6%)31,348 中的 589 (1.9%)

方法:HisnLabs 自有测试集,包含 13,249 次攻击和 31,348 条安全消息,大多为阿拉伯语。这有利于用类似数据训练的模型(例如我们的模型),因此这不是独立测试。每个模型的阈值都设定为在验证样本上每 100 条安全消息拦截 1 条。测试日期:2026/10/26–2026/10/27。外部模型是为英语、单一方言或主要为现代标准阿拉伯语打造的;这并非对它们的批评。测试集中有一个公开来源(arabic-guardrail,2,271 次攻击)可能在其他模型的训练数据中,而它的训练部分在我们的训练数据中;去掉它后,Guardrino-t7 拦下 5,603 次阿拉伯语攻击中的 4,596 次(82%)。

How we tested

The test set is HisnLabs’ own (“cells” in the data file): 13,249 attacks and 31,348 safe messages, mostly Arabic, with Arabizi and some English. Every model saw the same messages. Tested 26–27 October 2026.

Arabic attacks caught and Arabizi attacks caught: how many attacks written in Arabic script, and in Arabizi (Arabic in Latin letters and digits), the model flagged. Higher is better. Safe messages blocked: how many harmless messages it flagged by mistake. Lower is better. Read the two together: a guard can catch more attacks simply by blocking more messages.

Thresholds: a classifier gives each message a score, and a threshold turns that score into block or allow. Comparing models at their default thresholds would mostly compare how strict each one is. So each model’s threshold was set on a separate validation sample to block about one in 100 safe messages, then used unchanged on the test set. Each row’s threshold is in the data file.

Guardrino by dialect

Most Arabic attacks in the set carry a dialect label. Our row, split by dialect (the other models’ dialect counts are in the data file):

DialectArabic attacks in the setCaught by Guardrino
Gulf1,9181,642 of 1,918 (85.6%)
Egyptian1,8341,573 of 1,834 (85.8%)
Levantine559540 of 559 (96.6%)
Maghrebi654624 of 654 (95.4%)
Modern Standard Arabic2,5262,102 of 2,526 (83.2%)

383 Arabic attacks have no dialect label: they count in the Arabic column only.

Why there are two Guardrino rows

The second row is Guardrino-t7 v7 at a stricter threshold (0.9818), chosen so that it blocks no more safe messages than ArabGuard: 519 of 31,348, against 519 for ArabGuard. Read it against ArabGuard. With the false blocks level, the difference in attacks caught is not bought by blocking more safe messages.

A public source that may overlap

One public dataset in the test set, arabic-guardrail, gives 2,271 of its attacks. It also gives 2,216 of the safe messages. Other models may have been trained on it, and its training split was in our own training data, so it can flatter any of them. Without it, Guardrino catches 4,596 of 5,603 Arabic attacks (82%).

The table without that source

The same rows with arabic-guardrail taken out of the test set, both its attacks and its safe messages. Only rows whose data includes this split are shown.

ModelArabic attacks caught (of 5,603)Arabizi attacks caught (of 1,037)Safe messages blocked (of 29,132)
Guardrino-t7 v74,596 of 5,603 (82.0%)844 of 1,037 (81%)744 of 29,132 (2.6%)
Ara-Prompt-Guard V1 (NAMAA, Arabic)1,568 of 5,603 (28.0%)97 of 1,037 (9%)612 of 29,132 (2.1%)
ArabGuard (Egyptian)1,208 of 5,603 (21.6%)2 of 1,037 (0%)516 of 29,132 (1.8%)
HARIS339 of 5,603 (6.1%)0 of 1,037 (0%)429 of 29,132 (1.5%)

What this comparison cannot tell you

  • It is our own test, not an independent one. The test set is mostly Arabic and close to the data Guardrino was trained on, which favours our model. We publish the counts so that others can check them, and we would welcome an independent test.
  • One public source may overlap with training data, ours and other teams’ (see above). That is why the table without it is shown.
  • Every number depends on the threshold rule. With a different false-block budget every row changes, and the order of close rows can change too.
  • Some dialect sets are small: 559 Levantine and 654 Maghrebi attacks. A few dozen messages move those rows noticeably, so read them as a rough indication.
  • The outside models were built for English, for one dialect or mainly for Modern Standard Arabic. The table shows what happens when they meet text they were not built for. It is not a judgement of those models.
  • It measures one version, Guardrino-t7 v7, tested on 27 October 2026. Guardrino is in development: later versions are measured again, and your own traffic may differ. A watch-only pilot measures it on your messages.

The data

The file behind this page holds counts only, never percentages: for each model, the attacks it caught and the safe messages it blocked in each column, its threshold, the counts by dialect and the counts without the overlapping source. The page computes every share from it when shown.

Download the data (JSON)

Main fields: rows (one per model, each count as [caught, out of]; rows marked hidden stay in the file but are not shown here), columns, max_fpr (the share of safe messages each threshold was set to block), date_from and date, and overlap.