Maailma populaarseim sisuhaldussüsteem WordPress on astunud äsja suure sammu oma turvalisuse tugevdamiseks, rakendades uue kaitsesüsteemi. Uus süsteem skannib nüüdsest iga pistikprogrammi ehk plugina uuendust enne, kui see kasutajateni jõuab.
Kuidas aga see pealtnäha nähtamatu, ent elutähtis tehisintellektil põhinev lahendus täpselt töötab ja miks muutus selle rakendamine just nüüd möödapääsmatuks vajaduseks?
Uue lahenduse selgituse kohaselt, mille Wordpress avaldas, läbib iga pistikprogrammi uuendus automaatse turvakontrolli enne, kui see WordPress.org-i uuenduste API kaudu levitamisele läheb.
Järjepidev kontroll seni puudus
Süsteem analüüsib potentsiaalseid turvariske, mis võivad olla tekkinud kas tahtlikult või kogemata. Seni puudus järjepidev kontrollietapp uuenduse üleslaadimise ja selle vahel, mil see jõudis miljonite veebilehtedeni, jättes ukse pahatahtlikele rünnakutele pärani lahti.
"Uusi pistikprogramme kontrollitakse enne kataloogi sisestamist, kuid pärast seda toimub uuenduste väljastamine pidevalt," selgitas WordPressi ametliku pistikprogrammide repositooriumi meeskonna kaasjuht David Perez, "pistikprogramm võib täna olla turvaline, kuid tuua tulevases versioonis kaasa haavatavuse või pahatahtliku koodi."

Vajadus automaatse piduri järele iga uuenduse juures muutus ilmselgeks 28. juulil 2026, mil umbes 20 000 aktiivse paigaldusega pistikprogrammi uuendusse lisati pahatahtlikult salajane tagauks. Õnneks tuvastas automaatne kontroll selle ja andis uuendusele kõrge turvariski hinde. Kuna väljalase viibis veel n-ö jahtumisperioodis (inglise keeles cooldown), ei jõudnud kompromiteeritud versioon kunagi levitamiseni.
Pistikprogramm suleti allalaadimisteks kõigest 26 minutit pärast seda, kui üks turvaettevõte oli pistikprogrammide meeskonda ohust teavitanud. Kuigi WordPress kõnealuse plugina nime ei avalikustanud, näitas juhtum selgelt, et kõrge riskihinnang peab ohtliku uuenduse leviku peatama automaatselt – sõltumata sellest, kas meeskonnaliige on parajasti kättesaadav või mitte.
Iga plugin läheb jahtuma
Alates 5. juunist 2026 läbib iga WordPressi pistikprogramm ja teema uuendus spetsiaalse jahtumisperioodi osana uuest turvaalgatusest nimega "Protect The Shire". Selle eesmärk on lisada protsessi teatav "hõõrdetegur", mis takistab pahatahtlikel uuendustel kohe lõppkasutajateni jõudmist.
Esialgu kestis ooteaeg 24 tundi, kuid praeguseks on see lühendatud kuuele tunnile.
Protsess ise näeb välja järgmine:
- Jahtumisperioodi jooksul analüüsivad WordPress.org-i keskkonnas uue väljalaske muudatusi mitmed tehisintellekti mudelid koostöös tööriistaga Jetpack Scan.
- Tulemusi kontrollitakse ristuvalt ja kombineeritakse ühtseks turvahindeks. Mida kõrgem on skoor, seda suurem on potentsiaalne risk.
- Pärast ülevaatuse lõppemist blokeeritakse kõrge riskiskooriga väljalasked automaatselt. Madalama hindega uuendused jätkavad tavapärast teekonda.
- Blokeerimise korral saadetakse kõigile pistikprogrammi koodi muutjatele e-kiri koos ülevaatuse leidudega. Neile, kelle uuendus läbis kontrolli edukalt, eraldi teavitusi ei saadeta.
Oluline on märkida, et kõrge riskiskoor ei tähenda alati pahatahtlikku kavatsust. Tehisintellekt mõõdab riski, mitte tahtlikkust, seega annab kogemata sisse toodud turvaauk sama kõrge skoori kui sihilik pahavara. Mitme erineva tööriista andmete ristkontrollimine aitab hoida täpsust kõrgena ja valepositiivsete tulemuste arvu madalana, ehkki päris nulli seda viia ei õnnestu.
Hilisemas kommentaaris täpsustas Perez, et turvakontroll "otsib samu haavatavuste klasse, mida otsib iga turvaaudit". Ta julgustas arendajaid järgima WordPressi koodistandardeid ning kasutama PHP_CodeSniffer (PHPCS) reegleid, et oma koodi valideerida ja selle kvaliteeti tagada. Neile, kes avaldavad WooCommerce´i laiendusi, soovitatakse kasutada Quality Insights Toolkit (QIT) testimisplatvormi.
Mis tõstab riske?
Lisaks pahavarale võivad riskiskoori tõsta järgmised mustrid:
- REST, AJAX või admin-post lõpp-punktid ilma õiguste kontrollita (ainult nonce'i kasutamine ei võrdu autoriseerimisega).
- Päringud, mis on ehitatud ilma funktsioonita
$wpdb->prepare(). - Failiteed, üleslaadimised, kustutamised või include-käsklused, mis on loodud otse päringuandmetest.
- Funktsiooni
unserialize()kasutamine päringuandmetel või välise serveri vastusel. - Seadistuste või kasutaja metaandmete kirjutamine lõpp-punktidest, mis on kättesaadavad tellijatele või autentimata kasutajatele.
- Käituse ajal allalaaditud või käivitatud kood, samuti hägustatud sisuga või pakitud kood.
Kui väljalase on blokeeritud, tähendab see, et uuendust ei levitata API kaudu enne, kui probleemid on lahendatud. Kiireim viis blokeeringu eemaldamiseks on raporteeritud leiud üle vaadata, vead parandada ja avaldada uus versioon. Kui uue väljalaske skoor jääb alla blokeerimisläve, jätkab see tavapärast jahtumisprotsessi.
"Kui leid tundub ebatäpne, saavad autorid võtta ühendust pistikprogrammide meeskonnaga," selgitas kaasjuht Perez vaidlustamise võimalusi, "palun mõistke, et meeskond tegeleb suure hulga ülevaatustega, mistõttu on parandatud versiooni avaldamine peaaegu alati kiirem kui apellatsiooni käsitsi ülevaatamise ootamine."
Veebilehe omanike jaoks tähendab see lisakontroll, et turvaaukudega või pahatahtliku koodiga pluginate uuendused ei jõua avaldamiseni Wordpressi ametlike uuenduste seas.