WP Arabic Virtual Keyboard Security & Risk Analysis

wordpress.org/plugins/wp-arabic-virtual-keyboard

Make it very easy to type using this virtual keyboard without any 3rd party Software or Web sites.Really easy to type in Arabic language.

20 active installs v4.1 PHP + WP 4.0+ Updated Jun 9, 2025
arabickeyboardsumithunicodevirtual
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WP Arabic Virtual Keyboard Safe to Use in 2026?

Generally Safe

Score 100/100

WP Arabic Virtual Keyboard has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 9mo ago
Risk Assessment

The "wp-arabic-virtual-keyboard" v4.1 plugin exhibits a mixed security posture. On the positive side, the static analysis reveals no dangerous functions, all SQL queries utilize prepared statements, and there are no recorded vulnerabilities (CVEs) or taint flows. This indicates a generally good effort in avoiding common pitfalls like direct SQL injection and code execution vulnerabilities. The absence of external HTTP requests and file operations further reduces the attack surface. However, a significant concern is the lack of output escaping for all identified output points. This could potentially lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is reflected directly in the output without proper sanitization. Additionally, the lack of nonce and capability checks on its single shortcode entry point, while currently unprotected, represents a potential avenue for abuse if the shortcode's functionality can be triggered in a way that impacts the system or user data without proper authorization.

Key Concerns

  • Unescaped output found
  • No capability checks on shortcode
  • No nonce checks on shortcode
Vulnerabilities
None known

WP Arabic Virtual Keyboard Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

WP Arabic Virtual Keyboard Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
2
0 escaped
Nonce Checks
0
Capability Checks
0
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

0% escaped2 total outputs
Attack Surface

WP Arabic Virtual Keyboard Attack Surface

Entry Points1
Unprotected0

Shortcodes 1

[wp-arabic-virtual-keyboard] wp-virtual-keyboard.php:168
WordPress Hooks 5
actionadmin_menuwp-virtual-keyboard.php:18
actionadmin_enqueue_scriptswp-virtual-keyboard.php:28
actionwp_enqueue_scriptswp-virtual-keyboard.php:47
actionwp_enqueue_scriptswp-virtual-keyboard.php:53
actionwp_headwp-virtual-keyboard.php:57
Maintenance & Trust

WP Arabic Virtual Keyboard Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedJun 9, 2025
PHP min version
Downloads5K

Community Trust

Rating80/100
Number of ratings4
Active installs20
Developer Profile

WP Arabic Virtual Keyboard Developer Profile

Sumith Harshan

1 plugin · 20 total installs

94
trust score
Avg Security Score
100/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect WP Arabic Virtual Keyboard

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-arabic-virtual-keyboard/css/arabic-virtual-keyboard-styles.css/wp-content/plugins/wp-arabic-virtual-keyboard/js/clipboard.min.js/wp-content/plugins/wp-arabic-virtual-keyboard/js/arabic-virtual-keyboard-scripts.js
Script Paths
/wp-content/plugins/wp-arabic-virtual-keyboard/js/clipboard.min.js/wp-content/plugins/wp-arabic-virtual-keyboard/js/arabic-virtual-keyboard-scripts.js
Version Parameters
wp-arabic-virtual-keyboard/css/arabic-virtual-keyboard-styles.css?ver=wp-arabic-virtual-keyboard/js/clipboard.min.js?ver=wp-arabic-virtual-keyboard/js/arabic-virtual-keyboard-scripts.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpvrk_keyboard_main_wrapperareawrapperresizableprocessedkeyboardcfnumberskey+61 more
Data Attributes
data-clipboard-target='#area'
JS Globals
wpvrk_site_url
Shortcode Output
<div id='wpvrk_keyboard_main_wrapper'><div id='areawrapper'><textarea tabindex='1' class='resizable processed' name='area' dir='rtl' id='area'></textarea></div><div id='keyboard'> <ul class='cf' id='numbers'><li><a class='key c192' onclick='wpavk_wr("ذ")'><span>~</span>&#1584;</a></li><li><a class='key c49' onclick='wpavk_wr("&#1633;")'><span>1</span>&#1633;</a></li><li><a class='key c50' onclick='wpavk_wr("&#1634;")'><span>2</span>&#1634;</a></li><li><a class='key c51' onclick='wpavk_wr("&#1635;")'><span>3</span>&#1635;</a></li><li><a class='key c52' onclick='wpavk_wr("&#1636;")'><span>4</span>&#1636;</a></li><li><a class='key c53' onclick='wpavk_wr("&#1637;")'><span>5</span>&#1637;</a></li><li><a class='key c54' onclick='wpavk_wr("&#1638;")'><span>6</span>&#1638;</a></li><li><a class='key c55' onclick='wpavk_wr("&#1639;")'><span>7</span>&#1639;</a></li><li><a class='key c56' onclick='wpavk_wr("&#1640;")'><span>8</span>&#1640;</a></li><li><a class='key c57' onclick='wpavk_wr("&#1641;")'><span>9</span>&#1641;</a></li><li><a class='key c48' onclick='wpavk_wr("&#1632;")'><span>0</span>&#1632;</a></li><li><a class='key c189 alt' onclick='wpavk_wr("~")'><span>&nbsp;</span>~</a></li><li><a class='key c187' onclick='wpavk_wr("!")'><span>&nbsp;</span>!</a></li><li><a class='key c46' id='delete' onclick='wpavk_op("back")'><span>Delete</span></a></li></ul><ul class='cf' id='qwerty'><li><a class='key c9' id='tab' onclick='wpavk_wr(" ")'><span>Tab</span></a></li><li><a class='key c81' onclick='wpavk_wr("ض")'><span>q</span>&#1590;</a></li><li><a class='key c87' onclick='wpavk_wr("ص")'><span>w</span>&#1589;</a></li><li><a class='key c69' onclick='wpavk_wr("ث")'><span>e</span>&#1579;</a></li><li><a class='key c82' onclick='wpavk_wr("ق")'><span>r</span>&#1602;</a></li><li><a class='key c84' onclick='wpavk_wr("ف")'><span>t</span>&#1601;</a></li><li><a class='key c89' onclick='wpavk_wr("غ")'><span>y</span>&#1594;</a></li><li><a class='key c85' onclick='wpavk_wr("ع")'><span>u</span>&#1593;</a></li><li><a class='key c73' onclick='wpavk_wr("ه")'><span>i</span>&#1607;</a></li><li><a class='key c79' onclick='wpavk_wr("خ")'><span>o</span>&#1582;</a></li><li><a class='key c80' onclick='wpavk_wr("ح")'><span>p</span>&#1581;</a></li><li><a class='key c219 alt' onclick='wpavk_wr("ج")'><span>{[</span>&#1580;</a></li><li><a class='key c221 alt' onclick='wpavk_wr("د")'><span>}]</span>&#1583;</a></li><li><a class='key c220 alt' onclick='wpavk_wr("_")'><span>- _</span></a></li></ul><ul class='cf' id='asdfg'><li><a class='key c20 alt' id='caps' data-clipboard-target='#area'><span>Copy</span></a></li><li><a class='key c65' onClick='wpavk_wr("ش")'><span>a</span>&#1588;</a></li><li><a class='key c83' onclick='wpavk_wr("س")'><span>s</span>&#1587;</a></li><li><a class='key c68' onclick='wpavk_wr("ي")'><span>d</span>&#1610;</a></li><li><a class='key c70' onclick='wpavk_wr("ب")'><span>f</span>&#1576;</a></li><li><a class='key c71' onclick='wpavk_wr("ل")'><span>g</span>&#1604;</a></li><li><a class='key c72' onclick='wpavk_wr("ا")'><span>h</span>&#1575;</a></li><li><a class='key c74' onclick='wpavk_wr("ت")'><span>j</span>&#1578;</a></li><li><a class='key c75' onclick='wpavk_wr("ن")'><span>k</span>&#1606;</a></li><li><a class='key c76' onclick='wpavk_wr("م")'><span>l</span>&#1605;</a></li><li><a class='key c186 alt' onclick='wpavk_wr("ك")'><span>"</span>&#1603;</a></li><li><a class='key c222 alt' onClick='wpavk_wr("ط")'><span>"</span>&#1591;</a></li><li><a class='key c13 alt'id='enter' onClick='wpavk_wr(" ")'><span>Enter</span></a></li></ul><ul class='cf' id='zxcvb'><li><a class='key c16 shiftleft'onClick='wpavk_op("google");'><span>Search in Google</span></a></li><li><a class='key c90' onClick='wpavk_wr("ئ")'><span>z</span>&#1574;</a></li><li><a class='key c88' onclick='wpavk_wr("ء")'><span>x</span>&#1569;</a></li><li><a class='key c67' onclick='wpavk_wr("ؤ")'><span>c</span>&#1572;</a></li><li><a class='key c86' onclick='wpavk_wr("ر")'><span>v</span>&#1585;</a></li><li><a class='key c66' onclick='wpavk_wr("لا")'><span>b</span>&#1604;&#1575;</a></li><li><a class='key c78' onclick='wpavk_wr("ى")'><span>n</span>&#1609;</a></li><li><a class='key c77' onclick='wpavk_wr("ة")'><span>m</span>&#1577;</a></li><li><a class='key c188 alt' onclick='wpavk_wr("و")'><span>&lt;,</span>&#1608;</a></li><li><a class='key c190 alt' onclick='wpavk_wr("ز")'><span>&gt;.</span>&#1586;</a></li><li><a class='key c191 alt' onClick='wpavk_wr("ظ")'><span>?/</span>&#1592;</a></li><li><a class='key c16 shiftright' onclick='wpavk_sl("area").select()'><span>Select</a></li></ul></div></div>
FAQ

Frequently Asked Questions about WP Arabic Virtual Keyboard