Najveći security rizik za WordPress nije WP core — nego pluginovi. Slabo održavani, abandoned, ili zlonamjerni pluginovi su izvor 90% kompromitiranih WP sajtova. Ovo je checklist kako odlučit smije li neki plugin uopće blizu tvojem sajtu.
Zašto je plugin audit kritičan
- Svaki aktivirani plugin može pisat, čitat, brisat bilo šta u tvojem sajtu — files, baza, options.
- WP core puno strože kontrolira što ti plugin može — ali jednom kad je aktiviran, ima full pristup.
- Abandoned plugin = sigurnosna rupa koja čeka da se otkrije. CVE prijavljen → tvoj sajt ranjiv dok ne ukloniš.
- Premium plugin s leakovanom licencom često sadrži malware (nulled themes/plugins koji se distribuiraju kroz "besplatne" warez sajtove).
Pre-install audit checklist
1. Autor i kredibilitet
- Profil autora na wordpress.org — koliko pluginova, prethodne reputacija?
- Veliki vendor (Automattic, Yoast, WP Rocket, ElegantThemes) = niži risk od jednog freelancera.
- Ako autor je nepoznat, search GitHub username + LinkedIn — pravi developer ili novi alias?
2. Last update
- Plugin updated u zadnja 3 mjeseca = aktivno održavan. ✓
- 3-6 mjeseci = obraćaj pažnju. ⚠️
- 6+ mjeseci = upitno. ⚠️⚠️
- 1+ godina = abandoned. ✗
Provjeri "Last updated" na wordpress.org plugin page. Za premium pluginove provjeri changelog.
3. Active installations
- 1M+ installacija = battle-tested.
- 100k+ = popularno, audited zajedno.
- 10k-100k = niche ali aktivno.
- <10k = treba dodatan oprez (manje očiju koje vide bugove).
- <1k = high risk — ili novi ili niche.
4. WP compatibility
Provjeri "Tested up to" — najnovija WP verzija. Ako tested do WP 5.x a trenutni je 6.x → plugin možda ne testiran s tvojom verzijom.
5. PHP compatibility
Mora explicit reći "Requires PHP: 7.4+" ili više. Pluginovi za PHP 5.6 su garancija sigurnosnih rupa.
6. Ocjene i reviews
- 5★ prosjek + 1000+ reviews = solidan.
- Mixed reviews (3-4★) — pročitaj loše, vidi je li problem persistent ili izoliran.
- Sve 5★ s 5 reviews = manipuliran (fake reviews, paid).
- Pročitaj nedavne (zadnji mjesec) reviews — oni hvataju trenutno stanje.
7. Support responsiveness
Otvori support forum tab na wordpress.org. Recent threads odgovoreni kroz nekoliko dana? Ili visi tjednima bez response? Aktivan support = autor brine.
8. Changelog kvaliteta
"Fixed bugs" i "Improved performance" su lijeni changelogovi. Profesionalni autor opisuje točno što je promijenjeno — ovo signalizira ozbiljnost.
9. Code review (advanced)
Ako developer:
- Skidaj zip, otvori u editoru.
- Search za sumnjive funkcije:
base64_decode,eval,system,shell_exec,file_get_contentsremote URL. - Provjeri nonces (CSRF zaštita):
wp_verify_nonceu svim form handlerima. - SQL queries:
$wpdb->prepare()ili escaping? - Output:
esc_html(),esc_attr(),esc_url()ili raw echo?
10. Premium plugin — autoriziran izvor
- Kupi DIREKTNO od autora ili Code Canyon-a, nikad sa third-party warez sajta.
- "Nulled" verzije premium pluginova često imaju injected backdoor.
- Provjeri da plugin signed/verified ako autor nudi (Yoast, Gravity Forms).
Pos-install audit
Wordfence scan
Wordfence Free skenira sve fajlove u WP installaciji, usporeduje s plugin zip iz official repo, hash compare. Ako neki fajl modificiran → upozorenje.
Premium ima realtime threat intelligence.
WPScan database
wpscan.com — baza poznatih CVE-ova za WP pluginove. Search po plugin name. Ako plugin u tvojem sajtu ima active CVE bez patch-a → ukloni.
Patchstack
Sličan WPScan, fokus na continuous monitoring. Pošalje notif kad pojavi novi CVE za plugin koji koristiš.
Crveni flagovi — odmah odbij
- Plugin nije ažuriran 1+ godinu.
- Autor je obrisao plugin sa repo-a — to znači security problem otkrven, povučen.
- Nekoliko 1★ reviews od recent korisnika tvrdeći da je plugin ubacao malware.
- Plugin zahtijeva pristup root-u, FTP credentialima, ili system level changes.
- "Free premium" plugin koji obično košta 200 EUR — gotovo sigurno nulled s backdoor-om.
- Plugin koji se distribuira preko email-a kao zip attachment, ne kroz WP repo.
Plugin minimization
Najbolja sigurnost = nema pluginova koje ne trebaš.
- Audit kvartalno: projeci sve aktivne pluginove. Treba li još? Ako ne — deactivate + delete (ne samo deactivate).
- Consolidate: 10 pluginova za male stvari → potraži 1-2 koji handle 5 stvari (npr. Wordfence radi security + login limit + 2FA + firewall).
- Replace abandoned: ako plugin nije updated 1+ godinu, pronađi successor (često postoji fork).
- Inline u temu: ako plugin radi 50 linija PHP-a koje možeš stavit u
functions.php, deinstaliraj plugin.
Popularni dobri vs popularni rizični
Generally trusted
- Yoast SEO, RankMath, SEOPress — SEO.
- Wordfence, Sucuri, iThemes Security — security.
- WooCommerce + official extensions — e-commerce.
- Gravity Forms, WPForms, Fluent Forms — forms.
- WP Rocket, LiteSpeed Cache, WP Fastest Cache — performance.
- UpdraftPlus, BackWPup — backup.
Plugin types s historically više CVE-ova
- File managers — direct file system access.
- Backup pluginovi s remote storage credentialima.
- Image gallery pluginovi sa file upload.
- Custom Login Page redirect / customizer.
- Old social share pluginovi (puno abandoned).
Ovo ne znači ne koristit — samo veće due diligence.
Disclosure i responsible reporting
Ako sam nađeš security problem u pluginu:
- Nikad ne objavljuj public PoC odmah.
- Kontaktiraj autora privatno (security@author.com ili kroz wordpress.org plugin support).
- Daj 30-90 dana za fix prije public disclosure.
- Prijavi na Patchstack ili WPScan da database doda CVE.
WMD i plugin audit
Maintenance Plan klijenti dobivaju mjesečni plugin audit — Wordfence scan, WPScan CVE check, abandonment review. Ako pronađemo problem, predlažemo zamjenu ili obavjestimo o riziku. Plugin install policy za nove projekte: minimum nužnih pluginova, samo iz wordpress.org ili poznatih premium autora, nikad nulled. Onboarding novih klijenata uključuje cleanup postojećih nepotrebnih pluginova.
FAQ
Mogu li imati 50 pluginova bez problema? Tehnički da, ali svaki dodaje attack surface i performance overhead. Cilj <20 aktivnih.
Što ako plugin koji koristim je abandoned ali jedini radi to što trebam? Fork on GitHub ako open-source, ili plati developera da nastavi održavat. Alternativno traži drugačiji approach.
Slow site nakon novog plugin-a — sigurnost problem? Ne nužno, performance issue. Query Monitor pokazuje koji hookovi/queries traju. Ali ako plugin radi nešto sumnjivo (Bitcoin mining, ad injection), to je security issue.
Premium plugin kupljen na warez sajtu — provjerit ću kod? Skoro nemoguće 100% provjerit — backdoors mogu biti obfusciran. Jedini siguran put je kupit od službenog autora.
WPScan ili Patchstack? Oba odlični. WPScan ima veću community contribution. Patchstack ima bolji UI i alerting.
Trebaš plugin audit za postojeći WP sajt? WMD radi full plugin security audit + zamjena rizičnih pluginova. Javi se preko kontakt forme.