Critical code_pattern
Resolved · false_positive_legit_ip_use
2026-04-30 15:25:29 (2d ago)
| Slug | wp-sms |
|---|---|
| Pattern | hardcoded_ip_url |
| Kind | builtin |
| Version | 7.2.4 |
| Hit count | 7 |
| 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": "wp-sms",
"pattern": "hardcoded_ip_url",
"kind": "builtin",
"version": "7.2.4",
"hit_count": 7,
"first_hit": {
"file": "includes/gateways/class-wpsms-gateway-onlinepanel.php",
"line": 9,
"snippet": "private $wsdl_link = \"http://87.107.121.52/post/send.asmx?WSDL\";"
},
"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."
}