SpeedyGo

speedy-go · by codeandcore · wordpress.org ↗ · SVN ↗
Active installs
100
Current version
2.1.20
Added
2025-10-29
Last updated
2026-10-14 (4d ago)
First seen by beacon
6mo ago
Total downloads
4,645

Statistics

2025-10-29 → 2026-09-09 · 286 days
Downloads today
13
7-day total 266
Week over week
▼ -8%
vs prior 7 days
30-day trend
flat
▲ +68% MoM
Abandonment
●○○○○
install base on one version
Downloads/day Linear trend
148111743702025-102025-122026-012026-032026-052026-062026-09
148111743702026-052026-052026-062026-062026-072026-08
148111743702026-072026-082026-082026-082026-082026-09

Active versions

2.1
2.1 · 100.0%

Ratings

5★
1
4★
0
3★
0
2★
0
1★
0

Support: 0/0 resolved

Historical audits (1)

Past investigations, all resolved. No current threat.
  • Suspicious Audit #34 baseline 2.0.3 → head 2.1.0 5mo ago

Alerts (0)

No open alerts.

Show 5 resolved alerts
Critical code_scan_delta Resolved · fp_code_scan_delta_routine 2026-10-04 12:08:02 (14d ago)
Slugspeedy-go
Previous version2.1.11
Current version2.1.19
New findings
PatternKindFileLineSnippetConfidence
unserialize_after_remote_callbuiltinincludes/api-key-api.php373L365: $resbody = wp_remote_retrieve_body($response); → L373: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)high
New finding count1
View raw JSON
{
    "slug": "speedy-go",
    "previous_version": "2.1.11",
    "current_version": "2.1.19",
    "new_findings": [
        {
            "pattern": "unserialize_after_remote_call",
            "kind": "builtin",
            "file": "includes/api-key-api.php",
            "line": 373,
            "snippet": "L365: $resbody = wp_remote_retrieve_body($response);  \u2192  L373: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)",
            "confidence": "high"
        }
    ],
    "new_finding_count": 1
}
Critical code_scan_delta Resolved · fp_safe_unserialize_allowed_classes_false 2026-07-12 19:31:54 (3mo ago)
Slugspeedy-go
Previous version2.1.4
Current version2.1.8
New findings
PatternKindFileLineSnippetConfidence
unserialize_after_remote_callbuiltinincludes/api-key-api.php317L309: $resbody = wp_remote_retrieve_body($response); → L317: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)high
New finding count1
View raw JSON
{
    "slug": "speedy-go",
    "previous_version": "2.1.4",
    "current_version": "2.1.8",
    "new_findings": [
        {
            "pattern": "unserialize_after_remote_call",
            "kind": "builtin",
            "file": "includes/api-key-api.php",
            "line": 317,
            "snippet": "L309: $resbody = wp_remote_retrieve_body($response);  \u2192  L317: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)",
            "confidence": "high"
        }
    ],
    "new_finding_count": 1
}
Critical code_scan_delta Resolved · known_audit34_speedygo_continuation 2026-07-02 04:08:56 (3mo ago)
Slugspeedy-go
Previous version2.1.1
Current version2.1.3
New findings
PatternKindFileLineSnippetConfidence
unserialize_after_remote_callbuiltinincludes/api-key-api.php304L296: $resbody = wp_remote_retrieve_body($response); → L304: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)high
New finding count1
View raw JSON
{
    "slug": "speedy-go",
    "previous_version": "2.1.1",
    "current_version": "2.1.3",
    "new_findings": [
        {
            "pattern": "unserialize_after_remote_call",
            "kind": "builtin",
            "file": "includes/api-key-api.php",
            "line": 304,
            "snippet": "L296: $resbody = wp_remote_retrieve_body($response);  \u2192  L304: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)",
            "confidence": "high"
        }
    ],
    "new_finding_count": 1
}
Critical code_pattern Resolved · fp_safe_unserialize_allowed_classes_false 2026-06-06 05:51:09 (4mo ago)
Slugspeedy-go
Patternunserialize_after_remote_call
Kindbuiltin
Version2.1.1
Hit count1
First hit
File
includes/api-key-api.php
Line
298
Snippet
L290: $resbody = wp_remote_retrieve_body($response); → L298: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)
Explanationa remote HTTP fetch (`wp_remote_*` / `curl_exec`) is followed by `@unserialize` within the same file — classic PHP Object Injection C2 gadget. The error-suppressed form is the tell: legit code wants to know when deserialize fails; attackers suppress so malformed gadgets do not leak. A real finding regardless of author intent: any plugin that deserializes remote responses without validation is a latent RCE chain if the remote endpoint is ever compromised.
View raw JSON
{
    "slug": "speedy-go",
    "pattern": "unserialize_after_remote_call",
    "kind": "builtin",
    "version": "2.1.1",
    "hit_count": 1,
    "first_hit": {
        "file": "includes/api-key-api.php",
        "line": 298,
        "snippet": "L290: $resbody = wp_remote_retrieve_body($response);  \u2192  L298: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)"
    },
    "explanation": "a remote HTTP fetch (`wp_remote_*` / `curl_exec`) is followed by `@unserialize` within the same file \u2014 classic PHP Object Injection C2 gadget. The error-suppressed form is the tell: legit code wants to know when deserialize fails; attackers suppress so malformed gadgets do not leak. A real finding regardless of author intent: any plugin that deserializes remote responses without validation is a latent RCE chain if the remote endpoint is ever compromised."
}
Critical code_scan_delta Resolved · fp_safe_unserialize_allowed_classes_false 2026-06-06 02:05:00 (4mo ago)
Slugspeedy-go
Previous version2.1.0
Current version2.1.1
New findings
PatternKindFileLineSnippetConfidence
unserialize_after_remote_callbuiltinincludes/api-key-api.php298L290: $resbody = wp_remote_retrieve_body($response); → L298: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)high
New finding count1
View raw JSON
{
    "slug": "speedy-go",
    "previous_version": "2.1.0",
    "current_version": "2.1.1",
    "new_findings": [
        {
            "pattern": "unserialize_after_remote_call",
            "kind": "builtin",
            "file": "includes/api-key-api.php",
            "line": 298,
            "snippet": "L290: $resbody = wp_remote_retrieve_body($response);  \u2192  L298: while (is_string($opts) && @unserialize($opts, ['allowed_classes' => false]) !== false)",
            "confidence": "high"
        }
    ],
    "new_finding_count": 1
}

SVN committers (2)

Accounts with actual commit access to speedy-go on plugins.svn.wordpress.org, reconstructed from svn log. This is the list that matters for ownership changes — not the readme contributors.

Committer Member since Commits First commit Latest commit
Code and core 2024-04-24 37 2025-10-29 · r3386469 2026-09-03 · r3679938
plugin-master 2007-03-09 1 2025-10-29 · r3386438 2025-10-29 · r3386438

Readme contributors (1)

Names the plugin's readme declares as contributors. A soft signal — anyone can be listed. The SVN access column is the ground-truth cross-reference: does this contributor actually commit code?

Contributor Member since SVN access Status
Code and core 2024-04-24 37 commits Active

Versions (24 most recent)

Version Released Download
2.1.17 — zip
2.1.12 — zip
2.1.13 — zip
2.1.14 — zip
2.1.15 — zip
2.1.16 — zip
2.1.9 — zip
2.1.10 — zip
2.1.11 — zip
2.1.5 — zip
2.1.6 — zip
2.1.7 — zip
2.1.8 — zip
2.1.4 — zip
2.1.2 — zip
2.1.3 — zip
2.1.1 2026-05-25 · 4mo ago zip
2.1.0 2026-05-04 · 5mo ago zip
2.0.3 2026-03-16 · 7mo ago zip
2.0.2 2026-03-10 · 7mo ago zip
2.0.1 2026-03-03 · 7mo ago zip
2.0.0 2026-03-03 · 7mo ago zip
1.0.1 2026-02-24 · 7mo ago zip
1.0.0 2025-10-29 · 11mo ago zip