Keyring

An authentication framework that handles authorization/communication with most popular web services.

v3.0Beau LebensUpdated Added 1k+ installs86% rating
35
Score
233
Errors
203
Warnings
+0
Change

Category Scores

Security0
Repo86
Performance100
Maintainability62

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

436 findings

Security

357

10 issue groups

Maintainability

76

12 issue groups

Repo Compliance

3

3 issue groups

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<div style='border:solid 1px #000; padding: 5px; background: #eee;'>Keyring Warning: $str</div>"'.174
Category
Security
Occurrences
174
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<div style='border:solid 1px #000; padding: 5px; background: #eee;'>Keyring Warning: $str</div>"'.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_ENV[&#039;CONTENT_TYPE&#039;]61
Category
Security
Occurrences
61
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_ENV[&#039;CONTENT_TYPE&#039;]

WARNINGSecurityRequest data is not unslashed$_GET[&#039;code&#039;] not unslashed before sanitization. Use wp_unslash() or similar60
Category
Security
Occurrences
60
Severity
warning

Sample message

$_GET[&#039;code&#039;] not unslashed before sanitization. Use wp_unslash() or similar

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;41
Category
Maintainability
Occurrences
41
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_POST[&#039;password&#039;]. Check that the array index exists before using it.30
Category
Security
Occurrences
30
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_POST[&#039;password&#039;]. Check that the array index exists before using it.

WARNINGMaintainabilityNon-prefixed classClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;MockOAuthDataStore&quot;.18
Category
Maintainability
Occurrences
18
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;MockOAuthDataStore&quot;.

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.14
Category
Security
Occurrences
14
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not validated or sanitizedDetected usage of a non-sanitized, non-validated input variable _REQUEST: &quot;keyring_{$_REQUEST[&#039;service&#039;]}_{$_REQUEST[&#039;action&#039;]}&quot;8
Category
Security
Occurrences
8
Severity
warning

Sample message

Detected usage of a non-sanitized, non-validated input variable _REQUEST: &quot;keyring_{$_REQUEST[&#039;service&#039;]}_{$_REQUEST[&#039;action&#039;]}&quot;

ERRORSecurityException output is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Expired timestamp, yours $timestamp, ours $now"'.6
Category
Security
Occurrences
6
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Expired timestamp, yours $timestamp, ours $now"'.

ERRORMaintainabilityNot AllowedUse of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

Show 15 more
ERRORMaintainabilitywp function not compatible with requires wp3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Function "wp_json_encode()" requires WordPress 4.1.0, but your plugin minimum supported version is WordPress 4.0.0.

WARNINGMaintainabilityslow db query meta key2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityslow db query meta value2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_value, possible slow query.

WARNINGSecuritywp redirect wp redirect2
Category
Security
Occurrences
2
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the &quot;allowed_redirect_hosts&quot; filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.

WARNINGMaintainabilityNon-prefixed hook name1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;pre_keyring_{$_REQUEST[&#039;service&#039;]}_{$_REQUEST[&#039;action&#039;]}&quot;.

WARNINGMaintainabilityerror log error log1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

error_log() found. Debug code should not normally be used in production.

WARNINGMaintainabilityerror log print r1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

print_r() found. Debug code should not normally be used in production.

ERRORSecurityUnsafe printing function1
Category
Security
Occurrences
1
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGSecurityMissing nonce verification1
Category
Security
Occurrences
1
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilityrand mt rand1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

mt_rand() is discouraged. Use the far less predictable wp_rand() instead.

ERRORMaintainabilityapplication detected1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Application files are not permitted.

ERRORRepo Complianceno license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Missing "License". Please update your readme with a valid GPLv2 (or later) compatible license.

ERRORRepo Complianceoutdated tested upto header1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Tested up to: 6.2 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.

WARNINGRepo Compliancereadme parser warnings too many tags1
Category
Repo Compliance
Occurrences
1
Severity
warning

Sample message

One or more tags were ignored. Please limit your plugin to 5 tags.

WARNINGMaintainabilityunexpected markdown file1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Unexpected markdown file "release.md" detected in plugin root. Only specific markdown files are expected in production plugins.

Score History

First score snapshot

v3.0

35

Latest

Findings
436
Errors
233
Warnings
203
Check
2.0.0

Related Plugins

Shibboleth

3k+ active installs

100
WP Basic Authentication

2k+ active installs

100
HivePress Authentication

1k+ active installs

98
Duo Universal

2k+ active installs

80