Groovy Menu Plugin (Free)

groovy-menu-free · by grooni · wordpress.org ↗ · SVN ↗
Active installs
4k+
Current version
1.4.8
Added
2019-07-05
Last updated
2026-07-03 (19d ago)
First seen by beacon
3mo ago
Total downloads
191,081

Statistics

2026-05-19 → 2026-07-02 · 45 days
Downloads today
1,020
7-day total 1,043
Week over week
▲ +52,050%
vs prior 7 days
30-day trend
rising
▲ +4,296% MoM
Abandonment
●○○○○
install base on one version
Downloads/day Linear trend
1k76551025502026-052026-052026-062026-062026-062026-062026-06
1k76551025502026-052026-052026-062026-062026-062026-062026-06
1k76551025502026-062026-062026-062026-062026-062026-06

Active versions

1.4
1.4 · 94.7%other · 5.3%

Ratings

5★
16
4★
0
3★
0
2★
0
1★
9

Support: 0/1 resolved

Alerts (0)

No open alerts.

Show 1 resolved alert
Critical code_pattern Resolved · fp_dropper_hardcoded_core_include_png_import 2026-07-03 18:42:12 (19d ago)
Sluggroovy-menu-free
Patterndecode_write_dropper
Kindbuiltin
Version1.4.8
Hit count1
First hit
File
includes/modules/core/inc/GroovyMenuSettings.php
Line
1,177
Snippet
$tmpFile = file_put_contents( $filename, base64_decode( $value['data'] ) );
Explanationa runtime decode primitive (`gzuncompress`/`gzinflate`/`gzdecode`/`base64_decode`) feeds a filesystem write (`fwrite`/`file_put_contents`) which is then `include`d/`require`d as a variable path — the textbook dropper shape: ship an encoded payload as data, decode it to disk at activation/admin-init, and execute it. The siteguarding burner `wp-plugin-management` (audit #43) used exactly this: `fwrite($fp, gzuncompress($c)); include($filename);` in its `register_activation_hook` to plant `siteguarding_tools.php`. Near-zero FP because legit caching writes decoded data but never `include`s a computed path it just wrote.
View raw JSON
{
    "slug": "groovy-menu-free",
    "pattern": "decode_write_dropper",
    "kind": "builtin",
    "version": "1.4.8",
    "hit_count": 1,
    "first_hit": {
        "file": "includes/modules/core/inc/GroovyMenuSettings.php",
        "line": 1177,
        "snippet": "$tmpFile    = file_put_contents( $filename, base64_decode( $value['data'] ) );"
    },
    "explanation": "a runtime decode primitive (`gzuncompress`/`gzinflate`/`gzdecode`/`base64_decode`) feeds a filesystem write (`fwrite`/`file_put_contents`) which is then `include`d/`require`d as a variable path \u2014 the textbook dropper shape: ship an encoded payload as data, decode it to disk at activation/admin-init, and execute it. The siteguarding burner `wp-plugin-management` (audit #43) used exactly this: `fwrite($fp, gzuncompress($c)); include($filename);` in its `register_activation_hook` to plant `siteguarding_tools.php`. Near-zero FP because legit caching writes decoded data but never `include`s a computed path it just wrote."
}

SVN committers (2)

Accounts with actual commit access to groovy-menu-free 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
grooni Young account 2019-06-25 110 2019-07-05 · r2118068 2026-07-01 · r3592774
plugin-master 2007-03-09 1 2019-07-03 · r2117182 2019-07-03 · r2117182

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
grooni 2019-06-25 110 commits Active

Versions (63 most recent)

Version Released Download
1.4.5 zip
1.4.6 zip
1.4.7 zip
1.4.8 zip
1.4.3 2023-03-14 · 3y ago
1.4.2 2022-02-09 · 4y ago
1.4.1.1 2021-12-23 · 4y ago
1.4.1 2021-12-21 · 4y ago
1.4.0 2021-12-01 · 4y ago
1.3.10.2 2021-11-26 · 4y ago
1.3.10.1 2021-11-25 · 4y ago
1.3.10 2021-11-24 · 4y ago
1.3.9 2021-11-12 · 4y ago
1.3.8 2021-10-22 · 4y ago
1.3.7 2021-10-06 · 4y ago
1.3.6.1 2021-09-29 · 4y ago
1.3.6 2021-09-28 · 4y ago
1.3.5 2021-09-01 · 4y ago
1.3.4 2021-08-30 · 4y ago
1.3.3 2021-08-27 · 4y ago
1.3.2 2021-07-28 · 4y ago
1.3.1.1 2021-07-26 · 4y ago
1.3.1 2021-07-26 · 4y ago
1.3.0.1 2021-07-22 · 5y ago
1.3.0 2021-07-21 · 5y ago
1.2.16 2021-03-25 · 5y ago
1.2.15 2021-03-04 · 5y ago
1.2.14 2021-02-23 · 5y ago
1.2.13 2021-02-10 · 5y ago
1.2.12 2020-12-31 · 5y ago
1.2.11 2020-11-19 · 5y ago
1.2.10 2020-11-18 · 5y ago
1.2.9 2020-10-23 · 5y ago
1.2.8 2020-10-09 · 5y ago
1.2.7 2020-09-22 · 5y ago
1.2.6 2020-09-08 · 5y ago
1.2.5 2020-09-07 · 5y ago
1.2.4 2020-08-25 · 5y ago
1.2.3 2020-08-21 · 5y ago
1.2.2 2020-07-31 · 5y ago
1.2.1 2020-07-20 · 6y ago
1.2.0 2020-06-08 · 6y ago
1.1.12 2020-05-04 · 6y ago
1.1.11 2020-05-04 · 6y ago
1.1.10 2020-04-22 · 6y ago
1.1.9 2020-04-16 · 6y ago
1.1.8 2020-04-10 · 6y ago
1.1.7 2020-03-30 · 6y ago
1.1.6 2020-03-27 · 6y ago
1.1.5 2020-03-27 · 6y ago
1.1.4 2020-03-06 · 6y ago
1.1.3 2020-02-19 · 6y ago
1.1.2 2020-02-13 · 6y ago
1.1.1 2020-02-06 · 6y ago
1.1.0 2020-02-05 · 6y ago
1.0.9 2019-11-22 · 6y ago
1.0.8 2019-11-13 · 6y ago
1.0.7 2019-10-25 · 6y ago
1.0.6 2019-10-17 · 6y ago
1.0.5 2019-08-22 · 6y ago
1.0.4 2019-07-26 · 6y ago
1.0.3 2019-07-26 · 6y ago
1.0.1 2019-07-05 · 7y ago