Flash News

OPINEWS

Eksperti amerikan: “Diella” e Ramës, një tallje publike. Si u futa në domain-in e Parlamentit të Shqipërisë dhe shkarkova pagat, privilegjet dhe regjistrin e lobistëve

Eksperti amerikan: “Diella” e Ramës, një tallje publike.

Patrick Quirk

Reklama

Në shtator 2025, kryeministri shqiptar Edi Rama bëri bujë ndërkombëtare duke emëruar sistemin e parë të Inteligjencës Artificiale në botë në nivel ministri kabineti. Quhej Diella: një avatar i veshur me kostum tradicional shqiptar, i ndërtuar mbi Microsoft Azure dhe OpenAI, i shpallur zyrtarisht si “Ministre Shteti për Inteligjencën Artificiale”.

Misioni i saj i deklaruar: zhdukja e korrupsionit në prokurimet publike. “Tenderat publikë do të jenë 100 për qind pa korrupsion”, deklaroi Rama. Agjenci të OKB-së e përshëndetën nismën. TIME i kushtoi një reportazh. Bashkimi Europian e përmendi si provë të modernizimit të Shqipërisë në rrugën drejt anëtarësimit deri në vitin 2030.

Tre muaj më vonë, në dhjetor 2025, Drejtoresha e Përgjithshme e AKSHI-t, institucioni që ndërtoi Diellën, u arrestua për korrupsion. Akuza: manipulim i po atyre tenderave qeveritarë që Diella supozohej të monitoronte.

Hetimi im nisi me Diellën. Përfundoi te Parlamenti shqiptar. Dhe kur u riktheva dy muaj më vonë, me mjete më të mira dhe më shumë durim, përfundoi diku shumë më keq.

Faza 1: Shkurt 2026

Në fazën e parë, në shkurt 2026, objekti ishte i kufizuar: të ekzaminohej vitrina (frontend-i) i Diellës, të shihja për API kyçe të pasiguruara apo URL serverash, dhe të kuptohej nëse kjo “ministre AI” ishte teknologji reale apo teatër politik.

Vitrina e Diellës ishte e pastër. Një java skript (bundle Vue.js) prej 229 KB me kornizën (frameëork) Quasar. Asnjë lokacion digjital (endpoint) API. Asnjë URL serveri (backend) e mbikoduar. Variablat e ambientit kufizoheshin në stilizime CSS: madhësi fontesh, ngjyra, vlera padding-u (hapësira mes përmbajtjes së elementit dhe kufirit të saj). Infrastruktura e brendshme e AKSHI-t ishte fshehur pas DNS-ve pa rezolucion publik: një motor Hasura GraphQL, një server autentifikimi Keycloak dhe API REST të personalizuara.

Më pas e zgjerova kërkimin në subdomain-et e tjera të AKSHI-t. Log-et e transparencës së certifikatave nxorën 110 subdomain-e: Jira, Rancher, Wiki të brendshme, VS Code Server, Collabora Online. Të gjitha të mbyllura (internal-only). Asnjë përgjigje publike.

Skanova 17 domene qeveritare shqiptare. Rezultatet ishin konsistente: Incapsula ËAF, përgjigje 403 Forbidden, ËordPress API të mbyllura ose mos-përgjigje totale. Në sipërfaqe, infrastruktura qeveritare shqiptare dukej e fortifikuar mirë.

Pastaj kontrollova Parlamentin.

Parlamenti shqiptar, te parlament.al, përdor një aplikacion React SPA. Çdo kalim (path) kthen HTTP 200 me të njëjtin index.html, një router “catch-all” klasik që fillimisht dukej si rrugë pa dalje. Por një SPA React duhet të komunikojë me një backend. Dhe kodi që bën këto thirrje jeton brenda bundle-it JavaScript.

Shkarkova ngarkesën (chunk) kryesore, 355 KB ëebpack output i minifikuar, dhe bëra string extraction (analizë e pjeshme të dhënash të koduara). E fshehur mes assignment-eve të variablave ishte një API base URL e mbikoduar që të çonte drejt një backend-i OData të strehuar (hosted) në Azure, së bashku me shtatë entitete: anëtaret, strukturat, aktet, lajmet, mbledhjet, dokumentet dhe abonimet.

Gjashtë nga shtatë endpoint-et iu përgjigjën kërkesave GET (requests) pa autentikim. Asnjë çelës API. Asnjë certifikatë sigurie (bearer token). Asnjë magazinë të dhënash (session cookie). Asnjë kufizim trafiku (rate limiting).

I shtati, abonimet, hapej me kod 401 (Unauthorized). Dikush qartazi e dinte si vendosej autentikimi. Thjesht nuk e kishte aplikuar te pjesa tjetër.

Çfarë ekspozon API

Endpoint-i “anëtarët” kishte 236 rekorde: emri i plotë ligjor, emri i babait, datëlindja, vendlindja, emaili zyrtar, partia politike, qarku zgjedhor, URL të fotografive dhe profilet sociale për çdo deputet të Parlamentit shqiptar.

Endpoint-i “dokumentet” ishte edhe më problematik: 30 megabajt JSON që katalogonin çdo dokument të ngarkuar në Azure Blob Storage të Parlamentit. Çdo rekord përmbante një URL direkte shkarkimi. Nxora URL-të. Ishin 54,545.

Container listing (organizmi i përmbajtjes) ishte çaktivizuar, duke krijuar një ndjenjë të rreme sigurie. Por çdo URL individuale funksiononte pa autentikim, dhe çdo URL publikohej nga vetë API-ja. Të çaktivizosh ‘directory listing’ ndërsa publikon 54 mijë linqe direkte nuk është kontroll sigurie.

Mes dokumenteve kishte 32,627 PDF, rreth 20 mijë imazhe, 885 Ëord documents dhe 509 spreadsheets Excel. Pikërisht spreadsheet-et rezultuan më zbuluese: tabela mujore pagash për deputetët, benefite dhe privilegje, regjistra lobistësh, regjistra organizatash të shoqërisë civile, FOIA requests (kërkesa për informacion) dhe databaza e përgjigjeve për katër vite, si dhe tabela buxhetore qeveritare.

E dokumentova gjithçka, publikova një shkrim dhe vazhdova më tej. Pastaj, dy muaj më vonë, u riktheva.

Faza II

Më 15 prill 2026, ritestova çdo endpoint. Asnjë nuk ishte siguruar. API-ja ishte ende plotësisht e hapur, aktive dhe e mirëmbajtur. Mbledhjet regjistroheshin deri atë ditë. Artikujt e lajmeve deri një ditë më parë. Katalogu dokumentet ishte rritur nga 54,545 në 57,287 rekorde për shtatë javë.

Këtë herë shkarkova gjithçka.

Përdora një ‘downloader paralel’ me 32 threads kundër Azure Blob Storage në dy kalime. Kalimi i parë. Pastaj ‘retry pass’ për 18 mijë URL që ‘Python urllib’ i refuzonte sepse punonjësit e administratës kishin ngarkuar file me hapësira literale. Rikuperimi i plotë zgjati 45 minuta.

52,942 file. 32 gigabajt. 94.7 për qind ‘recovery rate’.

18 gigabajt PDF. Nëntë gigabajt fotografi. Spreadsheet pagash nga gushti 2018 deri në janar 2026. Transkripte parlamentare. Drafte legjislative. Raporte komisionesh. Tabela shpenzimesh buxhetore. Marrëveshje ndërkombëtare. Praktikisht arkiva dokumentare e Parlamentit shqiptar nga 2013 deri në prill 2026.

7 vite paga deputetesh në Excel

Nga spreadsheet-et e pagave ndërtova një dataset unik: 11,030 rekorde pagash, 398 deputetë unikë, tetë vite histori.

Të dhënat zbulojnë një strukturë pagash me katër nivele. Kryetari i Kuvendit fiton 393,125 lekë bruto në muaj. Kryetarët e grupeve parlamentare 356,788 lekë. Kryetarët e komisioneve dhe nënkryetarët 325 mijë deri 329 mijë. Deputetët e zakonshëm 310,250 lekë.

Por kolona më interesante ishte ajo e penaliteteve. Ligji shqiptar parashikon ulje page për mungesë në seanca dhe komisione. Disa deputetë kishin diferenca masive mes bruto dhe neto. Gazment Bardhi, për shembull, rezultonte me 356,788 lekë bruto, por vetëm 210,104 neto në janar 2026 — një zbritje prej 41 për qind.

Çdo deputet. Çdo muaj. Për shtatë vite e gjysmë. Të gjitha nga ‘blob storage publik’, i kataloguar në një API pa autentikim.

Transkripti për të cilin nuk foli akush

Pastaj zbulova një tjetër sistem: bisedimet.parlament.al.

Ishte një platformë e veçantë “Document Archive API”, që funksiononte me Node.js në një server me path /root/Kuvendi-Backend/. ‘Health endpoint’ zbulonte se sistemi përdorte MeiliSearch për full-text search, Prisma database, 92 për qind memory utilization dhe vetëm 2.4 ditë uptime.

API-ja kishte 20 transkripte parlamentare të procesuara me OCR nga vitet 2022–2024. Çdo dokument shkarkohej pa autentikim. ‘Full-text search’ funksiononte pa autentikim. ‘Health endpoint’ ekspozonte ‘server paths’, përdorim memorjeje dhe ‘uptime’.

‘Schema’ përmbante fusha për ‘AI vector search’ dhe ‘embeddings’ — bazat për kërkim semantik (semantic search) mbi debatet parlamentare. Por çdo dokument kishte ‘embedding status’: PENDING.

Këtu qëndron ironia më e madhe: kjo ishte ndoshta gjëja më pranë “83 fëmijëve AI” që qeveria pretendonte se kishte ndërtuar. Një search engine mbi 20 PDF, që funksiononte si root në një server pothuajse pa memorie, me funksionalitetet AI gjysmë të ndërtuara dhe të braktisura.

Diella e pambrojtur

Dhe pastaj u riktheva te pyetja fillestare: a ekziston vërtet Diella?

Përgjigjja ishte tronditëse.

Frontend-i i Diellës është thjesht një Vue.js single-page application. Rishkarkova bundle-in, nxora çdo URL, çdo string literal, çdo konfigurim. Rezultati: zero API endpoints. Zero backend URLs. Zero referenca për OpenAI, Azure Cognitive Services apo ndonjë shërbim AI/ML.

Vetëm Vue.js dhe Quasar UI frameëork.

Një guaskë bosh.

Testova hostname-et më logjike për backend-in: aibot-api.azureëebsites.net, diella-api, chatbot, assistant. Të gjitha kthenin ose ‘404’, ose ‘default Azure ëelcome pages’.

Layer-i i autentikimit ekziston. .auth/me kthen {"clientPrincipal": null}. Login-et Azure Active Directory dhe GitHub janë konfiguruar.

Por nuk ka asgjë pas tyre.

Diella është një frontend pa backend. Një avatar pa tru. “Ministrja e parë AI në botë” është në praktikë një komponent Vue.js që renderon një kostum dhe një emër.

Konteksti

Dhe kjo nuk ndodh në vakum.

Shqipëria ka një histori të dokumentuar rrjedhjesh katastrofike të të dhënave. Në 2021 u publikuan të dhëna për 910 mijë qytetarë shqiptarë: emra, ID, numra telefoni, punëdhënës, preferenca politike të supozuara. Në dhjetor 2021 dolën pagat e 637 mijë qytetarëve. Në 2022 hakerë iranianë goditën vetë AKSHI-n. Në 2025 drejtuesit e AKSHI-t përfunduan nën arrest për korrupsion në tendera.

Lexojeni ngadalë këtë sekuencë:

Irani hakon AKSHI-n.
AKSHI ndërton një AI kundër korrupsionit.
Drejtuesit e AKSHI-t arrestohen për korrupsion.
Parlamenti që AI-ja supozohet të monitorojë ka API të hapur prej katër vitesh.
Dhe vetë AI-ja nuk ka backend.

Çfarë duhet per Qeverisje me AI

Shqipëria nuk ndërtoi të ardhmen e qeverisjes me Inteligjencë Artificiale. Ndërtoi një demonstrim të asaj që ndodh kur shtetet kalojnë direkt te konferenca për shtyp pa bërë punën e mërzitshme të sigurisë bazë.

Përpara se të shpallësh “83 asistentë AI” për të monitoruar Parlamentin, duhet të kesh një Parlament që di të vendosë autentikim në një endpoint. Përpara se të premtosh tendera “100 për qind pa korrupsion”, duhet të kesh një agjenci IT drejtuesit e së cilës nuk janë nën hetim për manipulim tenderash. Dhe përpara se të ftosh botën të admirojë revolucionin tënd AI, duhet të kontrollosh nëse arkiva e Parlamentit, pagat e deputetëve dhe dokumentet shtetërore janë të gjitha të shkarkueshme publikisht.

Diella nuk ishte Inteligjencë Artificiale. Ishte një konferencë shtypi me frontend.

Metodologjia

Të gjitha të dhënat u morën nga endpoint-e API publikisht të aksesueshme dhe URL të Azure Blob Storage pa autentikim. Nuk u anashkalua asnjë mekanizëm autentikimi. Nuk u përdorën kredenciale. Nuk u shmangën kontrolle aksesi. Nuk u krye asnjë shfrytëzim (exploit). API-ja e Parlamentit përgjigjet ndaj kërkesave standarde HTTP GET. URL-të e blob storage kthejnë dokumentet për çdo browser pa kufizim.

Faza 1 u zhvillua më 25 shkurt 2026. Faza 2 u zhvillua më 15–16 prill 2026. Analiza e JavaScript bundle, enumerimi i API-ve, rikuperimi i blob-eve, ekstraktimi i pagave nga XLSX dhe zbulimi i subdomain-eve u kryen përmes teknikave standarde OSINT: curl, scripting në Python dhe code review manual.

Të fundit