I am Human Security & Risk Analysis

wordpress.org/plugins/i-am-human

A customisable human detection plugin, that isn't annoying. Seriously.

10 active installs v1.2 PHP + WP 3.9.1+ Updated Oct 11, 2023
captchafunhuman-verificationspam
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is I am Human Safe to Use in 2026?

Generally Safe

Score 85/100

I am Human has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 2yr ago
Risk Assessment

The "i-am-human" v1.2 plugin exhibits a mixed security posture. On the positive side, it demonstrates a commitment to secure database interactions by exclusively using prepared statements for its SQL queries and does not appear to make external HTTP requests. The absence of known vulnerabilities in its history is also a positive indicator. However, significant concerns arise from the static analysis. A notable portion of the plugin's attack surface, specifically one AJAX handler, lacks any authentication checks, presenting a direct entry point for potential attackers. Furthermore, the analysis reveals a complete absence of output escaping for all detected outputs, which is a critical vulnerability that can lead to Cross-Site Scripting (XSS) attacks. The presence of unsanitized paths in the taint analysis, although not classified as critical or high severity in this instance, warrants attention as it indicates a potential for path traversal vulnerabilities.

Key Concerns

  • AJAX handler without authentication checks
  • 0% of outputs properly escaped
  • Flows with unsanitized paths
  • No nonce checks on AJAX entry points
Vulnerabilities
None known

I am Human Security Vulnerabilities

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

I am Human Code Analysis

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

Output Escaping

0% escaped56 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

1 flows1 with unsanitized paths
<iamhuman_options> (iamhuman_options.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
1 unprotected

I am Human Attack Surface

Entry Points1
Unprotected1

AJAX Handlers 1

noprivwp_ajax_iamhuman_check_answeriamhuman.php:194
WordPress Hooks 8
actionwp_enqueue_scriptsiamhuman.php:29
actionadmin_initiamhuman.php:30
filtercomment_form_default_fieldsiamhuman.php:177
actionwp_headiamhuman.php:206
filterpreprocess_commentiamhuman.php:237
actionadmin_initiamhuman_options.php:54
actionadmin_enqueue_scriptsiamhuman_options.php:64
actionadmin_menuiamhuman_options.php:375
Maintenance & Trust

I am Human Maintenance & Trust

Maintenance Signals

WordPress version tested4.4.34
Last updatedOct 11, 2023
PHP min version
Downloads3K

Community Trust

Rating100/100
Number of ratings2
Active installs10
Developer Profile

I am Human Developer Profile

MemberClicks

2 plugins · 30 total installs

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

How We Detect I am Human

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/i-am-human/css/grid_styles.css/wp-content/plugins/i-am-human/js/iamhuman.js
Script Paths
/wp-content/plugins/i-am-human/js/iamhuman.js
Version Parameters
i-am-human/js/iamhuman.js?ver=

HTML / DOM Fingerprints

CSS Classes
iamhuman_gridiamhuman_messagecolour_bgcolour_onecolour_twocell_mouse_over
HTML Comments
Remember this is only displayed for users that are not logged in. NOTE: The answer field exists within the form because the validation occurs twice; once when the user clicks "check" via AJAX, and the second when the form is actually processed on the server. +2 more
Data Attributes
id="iamhuman_container"title=""id="iamhuman_dialog_contents"id="iamhuman_description"id="iamhuman_grid"class='iamhuman_grid'+6 more
JS Globals
iamhuman_mainiamhuman_gridiamhuman_messagecolour_bgcolour_onecolour_two+16 more
REST Endpoints
/wp-json/
Shortcode Output
<div id='iamhuman_container' style='display: none' title=''> ... </div><input id="iamhuman_answer" name="iamhuman_answer" type="hidden" value="" />
FAQ

Frequently Asked Questions about I am Human