Critical code_pattern
Resolved · fp_legacy_code_pattern_lowinstalls
2026-10-06 12:07:28 (13d ago)
| Slug | msg91-for-woocommerce |
|---|---|
| Pattern | hardcoded_ip_url |
| Kind | builtin |
| Version | 5.0.1 |
| Hit count | 1 |
| First hit |
|
| Explanation | plugin source hardcodes a raw IPv4 URL (e.g. `https://94.156.79.8/...`) — legitimate plugins use DNS hostnames because IPs change. Hardcoded IPs in plugin code are almost always either dev leftovers or attacker C2 infrastructure. The June 2024 social-warfare keylogger (audit #14) used `https://94.156.79.8/sc-top.js` for the JS payload host, `/AddSites` for victim registration, `/CMSUsers` for filesystem-recon exfil. Operator infrastructure on raw IPs avoids domain registration / RDAP detection paths. Post-filtered to skip RFC1918/loopback/link-local ranges and `vendor/`/`tests/` paths. |
View raw JSON
{
"slug": "msg91-for-woocommerce",
"pattern": "hardcoded_ip_url",
"kind": "builtin",
"version": "5.0.1",
"hit_count": 1,
"first_hit": {
"file": "config/constants.php",
"line": 843,
"snippet": "- If ANY image is missing, empty, http (not https), or hosted on a bare IP address (e.g. `https://35.154.223.210/...`) / `localhost`, do NOT use a carousel. Instead send a NUMBERED TEXT LIST (no image"
},
"explanation": "plugin source hardcodes a raw IPv4 URL (e.g. `https://94.156.79.8/...`) \u2014 legitimate plugins use DNS hostnames because IPs change. Hardcoded IPs in plugin code are almost always either dev leftovers or attacker C2 infrastructure. The June 2024 social-warfare keylogger (audit #14) used `https://94.156.79.8/sc-top.js` for the JS payload host, `/AddSites` for victim registration, `/CMSUsers` for filesystem-recon exfil. Operator infrastructure on raw IPs avoids domain registration / RDAP detection paths. Post-filtered to skip RFC1918/loopback/link-local ranges and `vendor/`/`tests/` paths."
}