Laporan Audit Teknikal Β· Sulit Β· Untuk Penyediaan Cadangan Pengganti

Pusat Pembelajaran Kejiranan Putrajaya β€” Audit Sistem & Cadangan Pengganti

Penilaian objektif sistem perpustakaan sedia ada PPK (SPPB Β· ILMU Β· SPKK Β· PKAI), kupasan cadangan vendor "AI Library" yang ditemui, dan cadangan tandingan ALESA Library Stack v1 β€” direka untuk membantu pasukan PPJ membuat keputusan termination & replacement dengan data yang lengkap.

Disediakan untukPerbadanan Putrajaya (PPJ) Β· PPK Cawangan Presint 8/9/11/16
Tarikh laporan19 Mei 2026
PengarangALESA Β· alesa.my
KelulusanSulit Β· Pratonton untuk perbincangan dalaman PPJ
Versiv1.0 β€” pratonton awal
SkopAudit teknikal Β· perbandingan vendor Β· cadangan tandingan
Β§ 01

Ringkasan Eksekutif β€” untuk decision-maker

Pusat Pembelajaran Kejiranan (PPK) Putrajaya kini dipacu oleh sistem SPPB (Sistem Pengurusan Perpustakaan Bersepadu) yang terdiri daripada empat komponen: ILMU (LMS teras), SPKK (RFID hardware), PKAI (kawalan akses internet), dan integrasi SAP untuk pembayaran. Audit teknikal langsung terhadap ppk.ppj.gov.my mendapati platform ini dibina di atas Liferay 7.1.3 CE GA4 (build Mei 2019), dengan tindanan Apache 2.4.49 + PHP 7.3.4 di atas Windows Server β€” semua komponen ini telah tamat tempoh sokongan (EOL) dan mengandungi sekurang-kurangnya satu kerentanan kritikal yang diketahui umum (CVE-2021-41773, RCE path traversal).

Selain itu, satu cadangan vendor pihak ketiga (rujuk Lampiran A) yang dikemukakan sebagai pengganti, mencadangkan pivot drastik kepada konsep "AI Library" berorientasikan pelajar/peperiksaan/gamifikasi β€” yang tidak selari dengan persona sebenar pengguna PPK (komuniti am Putrajaya, kanak-kanak, warga emas). Cadangan tersebut juga senyap mengenai migrasi data ILMU, sambungan kepada infrastruktur RFID sedia ada, integrasi SAP/PPi, dan modul PKAI.

Kesimpulan ringkas ALESA: Penamatan kontrak vendor sedia ada boleh dijustifikasi sepenuhnya atas dasar (i) hutang teknikal & risiko keselamatan, (ii) ketinggalan inovasi 7 tahun. Namun, cadangan vendor "AI Library" yang dikemukakan belum layak menjadi pengganti kerana ia mengubah skop perkhidmatan kepada audiens yang berbeza. Kami mencadangkan ALESA Library Stack v1 sebagai alternatif: pengekalan misi PPK, modenisasi platform, dan tambahan AI yang bersifat augmentative (bukan substitutive).

Tiga keputusan utama yang menanti PPJ

  1. Penamatan kontrak SPPB β€” bila, syarat handover data, IP, hardware?
  2. Pengganti β€” adakah vendor "AI Library" yang dicadangkan itu memenuhi keperluan PPK sebenar, atau perlu dibuka RFP baharu dengan skop yang lebih tepat?
  3. Kesinambungan operasi β€” bagaimana memastikan 4 cawangan PPK tidak terganggu sepanjang fasa peralihan?
Β§ 02

Inventori Sistem Sedia Ada (SPPB)

Berdasarkan tinjauan langsung portal awam ppk.ppj.gov.my, sub-aplikasi katalog di :8080/neuseal, dan rajah seni bina vendor yang dikongsi, struktur SPPB dipetakan seperti berikut:

PORTAL AWAM→ Liferay 7.1.3 CE · `/web/guest/*` · CMS & menu navigasi 4 cawangan
ILMU (LMS)β†’ 13 modul: Acquisition Β· Authority Β· Circulation Β· Cataloging Β· Accounting Β· Foundation Β· OPAC Β· Receipting Β· Serials Β· StockTake Β· DocDelivery Β· IRIS Β· Reporting
OPAC (Katalog)β†’ VuFind 2.x (PHP) di port 8080 sebagai sub-app `/neuseal`
SPKK (RFID)β†’ Staff Station Β· Smart Gate (anti-theft) Β· Book Drop Β· UHF Tag Β· Shelf Mgmt Β· Self Check In/Out
PKAI→ Kawalan Akses Internet pengguna PPK (kemungkinan IPCop/Squid/perisian vendor)
PAYMENT→ Modul Bayaran @ Portal PPi · integrasi SAP Kod Fi
SERVER→ Windows Server · Apache 2.4.49 · PHP 7.3.4 · Tomcat (Liferay) · Tag pengenalan: `WEBCMCILMU`

13 Modul ILMU (Sistem Sedia Ada)

#ModulFungsi UtamaPengguna Utama
1AcquisitionPengurusan perolehan koleksi & pesananPegawai PPK
2Authority MaintenancePembetulan & standardisasi rekod katalogPustakawan
3CirculationPinjaman, pulangan, denda, tempahan, sejarahPegawai & ahli
4CatalogingPengkatalogan bahan (MARC/Dublin Core)Pustakawan
5AccountingPeruntukan kewangan untuk perolehanAkauntan
6Foundation (Membership)Pendaftaran ahli, kategori, maklumat PPKPegawai & ahli
7Infotrack / OPACCarian katalog online (VuFind di `:8080/neuseal`)Awam
8ReceiptingPenerimaan bayaran & cetakan resitPegawai
9SerialsMajalah, jurnal β€” perolehan & jadualPustakawan
10Stock TakePengiraan inventori & reconciliationPegawai
11Document DeliveryPenghantaran dokumen kepada penggunaPegawai
12IRISIndexing keratan akhbar & majalahPustakawan
13ReportingJanaan laporan ad-hoc berasaskan field DBPegawai

Komponen SPKK (Hardware RFID)

#KomponenFungsiStatus Strategi
1Staff Station / Tag StationPinjaman, pulangan, tagging UHF, sortingKEKAL β€” pelaburan modal sudah berlaku
2Smart Gate (Gantry)Anti-theft di pintu masuk β€” bunyi penggera jika tag tak deactivateKEKAL β€” boleh integrate via API/SIP2
3Book Drop (UHF Mobile)Pemulangan luar waktu operasiKEKAL β€” endpoint TCP/SIP2 standard
4UHF TagTag RFID pada setiap bahan (~100k transaksi/tag)KEKAL β€” tidak perlu re-tag
5Self Check In/Out KioskLayan diri pinjaman/pulanganKEKAL β€” webview boleh refresh
6Shelf ManagementHand-held reader untuk audit rakKEKAL
Pandangan strategik: Hardware SPKK telah membeli pelaburan modal yang besar (kemungkinan RM 500K+ untuk 4 cawangan). Sebarang sistem pengganti WAJIB mengekalkan keserasian dengan reader UHF sedia ada melalui protokol standard (SIP2 atau NCIP). Mana-mana cadangan vendor yang tidak menyebut perkara ini sama ada (a) tidak memahami konteks, atau (b) merancang penggantian hardware tersembunyi yang akan meningkatkan kos secara mendadak.
Β§ 03

Audit Teknikal & Keselamatan β€” bukti dari recon langsung

Audit ini dijalankan secara passive recon (HTTP HEAD/GET) terhadap perkhidmatan awam ppk.ppj.gov.my. Tiada cubaan eksploit dilakukan. Semua bukti diperoleh daripada response header standard yang vendor sepatutnya konfigurasikan untuk disembunyikan.

Penemuan #1 β€” Liferay 7.1.3 CE GA4 (EOL sejak 2019)

Header Liferay-Portal didedahkan terus oleh server:

Liferay-Portal: Liferay Community Edition Portal 7.1.3 CE GA4 (Judson / Build 7102 / May 14, 2019)

Penemuan #2 β€” Apache 2.4.49 + PHP 7.3.4 (Windows Server)

Sub-app VuFind di :8080/neuseal mendedahkan header berikut:

Server: Apache/2.4.49 (Win64) OpenSSL/1.1.1l PHP/7.3.4
X-Powered-By: PHP/7.3.4
Last-Modified: Mon, 11 Jun 2007 18:53:14 GMT

Penemuan #3 β€” Information Disclosure

Penemuan #4 β€” Persoalan Lokasi Data & Compliance

Gabungan EOL stack + CVE diketahui umum + Windows Server hosting Java/PHP membentuk profil risiko tinggi untuk sebuah agensi kerajaan. Dalam keadaan biasa, MAMPU/CGSO akan mengeluarkan audit finding kepada PPJ sekiranya sistem ini disemak. Ini sahaja sudah menjadi asas teknikal yang sah untuk menamatkan kontrak vendor sedia ada.
Β§ 04

Penilaian Cadangan Vendor "AI Library"

Cadangan yang dikongsi mengetengahkan 6 super-modul:

#Super-ModulSub-modul (ringkas)
1AI Library Core PlatformWorkspace Β· User Access Β· Student Profile Β· Catalogue+eBook+Physical Β· Config Β· UI
2AI Search, Assistant & Reading IntelSmart Search Β· AI Assistant Β· Interactive eBook Β· Citation Β· Prompt rules
3Student Learning, Exam & EngagementNLP Discovery Β· Learning Journey Β· Exam Mode Β· Gamification
4Booking, Reservation & Library OpsReservation Β· Equipment/Facility Β· QR Check-In/Out Β· Work Queue
5Admin, Analytics, Copilot & ShowcaseLibrarian Copilot Β· Admin Portal Β· Analytics Β· Conference Showcase Β· Demo
6AWS Env, QA, Docs & DeliveryAWS Architecture+POC Β· Responsible AI Β· QA/SIT/UAT

10 Tanda Merah (Red Flags) Cadangan Vendor

#IsuImplikasi
1Scope mismatch β€” fokus "Student/Exam"PPK ialah perpustakaan komuniti am Putrajaya (kanak-kanak, keluarga, warga emas), bukan perpustakaan universiti/sekolah. Modul "Exam Mode + Subject Support + Gamification" tidak menepati persona sebenar.
2AWS cloud lock-inPemindahan ke AWS membawa risiko (a) data sovereignty di bawah dasar MAMPU, (b) OpEx berulang vs CapEx, (c) keluar daripada ekosistem rangkaian PPJ & ePenyertaan PPJ.
3Tiada modul migrasi data ILMU13 modul ILMU mengandungi data ahli, katalog, transaksi sejarah bertahun. Cadangan vendor senyap tentang ETL/migration.
4Tiada sambungan SPKK / RFID continuityHardware UHF Staff Station, Smart Gate, Book Drop sedia ada β€” bagaimana diintegrate? Tukar baharu? Re-tag 100k+ buku?
5Tiada penggantian PKAIKawalan akses internet untuk pengguna awam PPK terlepas dari skop.
6Tiada integrasi SAP / PPiModul Bayaran sedia ada terikat dengan SAP Kod Fi PPJ. Tanpa integrasi ini, bayaran perlu manual atau direkayasa semula.
7"Conference Showcase + Demo Doc" sebagai modul billableIni deliverable projek, bukan modul produk. Berpotensi scope padding untuk meningkatkan harga.
8"Responsible AI Governance" sebagai super-modulLazimnya cross-cutting concern, bukan modul stand-alone. Padding lagi.
9Tiada Phase 1 baseline parityTerus lompat ke "AI everything" tanpa membuktikan parity dengan modul-modul ILMU sedia ada. Risiko regressi fungsi operasi harian.
10Skop "Roadmap" sebagai modul billable"Future Roadmap Module" β€” roadmap ialah dokumen, bukan kod.
Cadangan vendor ini bersifat AI-washing β€” banyak buzzword (AI Assistant, Copilot, Gamification, Exam Mode) tetapi (a) terputus dari konteks pengguna PPK sebenar, (b) tidak menangani migrasi data sejarah, (c) tidak menyambung hardware RFID sedia ada, (d) tidak mengintegrasi SAP. Sekiranya diterima sebagai pengganti, PPJ berisiko menanggung kos peralihan tersembunyi yang besar dan kehilangan kontinuiti perkhidmatan.
Β§ 05

Analisis Jurang & Keperluan Sebenar PPK

Sebelum memilih pengganti, PPJ perlu kembali kepada keperluan operasi sebenar. Berdasarkan pemerhatian portal awam, audit waktu operasi 4 cawangan, dan profil aktiviti yang dipaparkan (Bengkel Robotik & Dron, Hari Terbuka, MBBY, Bilik Braille), persona pengguna PPK Putrajaya ialah:

πŸ‘¨β€πŸ‘©β€πŸ‘§ Keluarga & kanak-kanak

  • Sesi cerita / aktiviti hujung minggu
  • Koleksi MBBY (Multicultural Children's Library)
  • Bengkel kreatif (robotik, penulisan)

🌳 Komuniti am Putrajaya

  • Pinjaman buku, majalah, multimedia
  • Akses internet awam (PKAI)
  • Tempahan bilik perbincangan

β™Ώ Pengguna berkeperluan khas

  • Pusat Sumber Braille Putrajaya
  • Audio book, large-print collection
  • Sokongan teknologi bantuan

Keperluan operasi (must-have) yang tidak boleh dikompromi

#KeperluanDilayan dalam SPPB?Dilayan dalam Cadangan Vendor?
1Pendaftaran ahli baru & pembaharuanYaSebahagian (sebagai "User Access")
2Pinjaman / pulangan via UHF Staff StationYaTidak dinyatakan
3Anti-theft Smart GateYaTidak dinyatakan
4Book Drop luar waktuYaTidak dinyatakan
5OPAC carian katalogYa (VuFind)Ya (AI Smart Search)
6Resit & dendaYaSebahagian (sebagai "Booking")
7Integrasi bayaran SAP/PPiYaTidak dinyatakan
8Tempahan bilik & kemudahanYa (e-borang)Ya
9Stock take inventori RFIDYaTidak dinyatakan
10Kawalan akses internet awam (PKAI)YaTidak dinyatakan
11Pelaporan operasi & statistikYaYa (Analytics)
12Sokongan Braille / aksesibilitiAsasTidak dinyatakan
13Microsite per-cawangan (Presint 8/9/11/16)YaTidak jelas

Nice-to-have (Tambahan zaman moden β€” peluang inovasi sebenar)

Β§ 06

ALESA Library Stack v1 β€” Cadangan Tandingan

ALESA mengusulkan satu pendekatan yang tidak membuang misi PPK, tetapi menggantikan platform terasnya dengan stack moden, sambil mengekalkan setiap pelaburan modal yang telah dibuat (RFID hardware, perjanjian SAP, microsite cawangan).

FRONTEND→ Laravel 11 + Livewire 3 + Tailwind · Mobile-first PWA · Bahasa: BM/EN/中文/Tamil
CMS LAYER→ Headless · Filament 3 admin · CKEditor 5 · Versioning + workflow
LMS CORE→ 13-modul ILMU parity (PHP-native rewrite, semua fungsi lama dikekalkan)
CATALOG→ Elasticsearch + Meilisearch · MARC21 import · ISBN cover lookup automatik
RFID BRIDGE→ SIP2/NCIP service · Sambung Staff Station + Smart Gate + Book Drop sedia ada · zero hardware change
PAYMENT→ Modul SAP-PPi connector (kekal) + FPX/eGHL untuk online · Toyyibpay fallback
NOTIFICATION→ WhatsApp (WAHA) + SMS + Email + In-App · Template editor untuk pegawai
AI AUGMENTATIVE→ Recommendation (collaborative filtering) · Ask-a-Librarian chatbot · NLP search · Bukan replace pustakawan
PKAI 2.0β†’ Captive portal Β· pfSense/Squid integration Β· Per-ahli quota & logging untuk audit
PWA AHLI→ Scan barcode kamera · Lihat pinjaman/denda · Tempah bilik · Push notif
HOSTING→ On-prem PPJ DC atau Govt Cloud (MAMPU-tersenarai) · Tiada AWS lock-in
SECURITY→ WAF · OWASP Top 10 baseline · PDPA-compliant logging · Audit trail 7 tahun
Falsafah ALESA: "AI sebagai pembantu, bukan pengganti." Pustakawan PPK dikekalkan dalam loop untuk semua keputusan koleksi, manakala AI mengambil-alih tugas rutin (pencarian, jadual, peringatan denda). Modul "Exam Mode" / "Student Subject" yang dicadangkan vendor dibuang sepenuhnya kerana tidak menepati persona pengguna.
Β§ 07

Pratonton Modul Utama β€” akan dipersembahkan dalam mock-up langsung

πŸ“š
Portal Ahli (PWA)

Lihat pinjaman semasa, sejarah, denda, scan ISBN guna kamera, tempah bilik. Mesra warga emas β€” font besar, kontras tinggi, Bahasa Melayu utuh.

πŸ”Ž
OPAC Generasi Baru

Carian semantik (BM & EN), saranan automatik, "buku serupa", cover preview, lokasi rak tepat dengan peta interaktif cawangan.

πŸ›οΈ
Dashboard Pegawai PPK

Realtime KPI per-cawangan, work queue (denda, tempahan, pulangan tertunda), single-click circulation, audit trail per-transaksi.

πŸ€–
Pustakawan AI (Augmentative)

"Tolong cari buku tentang ekonomi Islam untuk pelajar Tingkatan 5" β†’ top 5 rekomendasi + lokasi rak + status pinjaman.

πŸ“²
WhatsApp Bot Notifikasi

Tarikh pulang, peringatan denda, pengumuman aktiviti, koleksi baru. Two-way: ahli boleh balas "lanjut" untuk renew.

🎫
Tempahan Bilik & Aktiviti

Kalendar interaktif, pengesahan automatik, pembayaran terus integrate SAP-PPi, QR code masuk bilik.

πŸ“Š
Analytics Pengurusan

Statistik penyertaan, koleksi popular, jam puncak per-cawangan, demografi ahli (anonimized), trend pinjaman bulanan.

β™Ώ
Modul Aksesibiliti Braille

Katalog Braille terkhusus, sokongan audio book streaming, screen-reader compatible (WCAG 2.1 AA).

πŸ”
PKAI 2.0 (Internet Awam)

Captive portal moden, login dengan MyKad PPK, quota per-ahli, log audit untuk pematuhan SKMM/CMA.

Β§ 08

Pelan Migrasi 4-Fasa (16 minggu)

FasaTempohDeliverableRisiko Utama
1Discovery & Parity Map (2 minggu)Audit data ILMU lengkap Β· pemetaan 13 modul Β· UAT script Β· SLA baselineAkses vendor sedia ada untuk eksport data
2Build & Parallel-Run (8 minggu)13 modul ILMU rewrite Β· SIP2 bridge Β· SAP connector Β· PWA ahli Β· admin Filament Β· staging envKeseimbangan kelajuan vs fungsi
3UAT & Pilot 1 Cawangan (3 minggu)Pilot Presint 16 (HQ) Β· 100% parallel-run dengan sistem lama Β· 0 discrepancy zero-toleranceAdapt pegawai Β· feedback loop
4Rollout 4 Cawangan + Cutover (3 minggu)Presint 8, 9, 11 Β· cutover terurus Β· vendor lama decommission Β· handover dokumentasiCutover harus pada minggu tutup PPK (Isnin / cuti)
Prinsip ALESA: Tiada big-bang rewrite. Setiap fasa mempunyai gate keluar β€” jika parity tidak dicapai 99.99% dalam fasa 3, fasa 4 tidak diaktifkan. Sistem sedia ada kekal sebagai pelan B sehingga PPJ memberi go-live signed-off.
Β§ 09

Anggaran Kos & Model Lesen β€” ballpark, untuk perbincangan

Angka di bawah adalah ballpark indicative untuk membantu PPJ menyusun bajet. Final pricing tertakluk kepada perbincangan skop dan RFP rasmi.

ItemAnggaran (RM)Catatan
One-time build (Fasa 1-4, 16 minggu)RM 380K – 540K13 modul + RFID bridge + SAP connector + PWA + admin
Lesen tahunan (support + tampung)RM 60K – 90K /tahunSLA 99.5% Β· respon 4 jam Β· 1 dedicated developer
Hosting on-prem PPJRM 0Guna DC PPJ sedia ada
Hosting Govt Cloud (alternatif)RM 18K – 36K /tahunMAMPU-tersenarai sahaja
Latihan pegawai 4 cawanganRM 24K2 sesi per cawangan + manual BM/EN
Pelan tahunan 3-tahun (total)~ RM 600K – 850KBuild + support 3 tahun

Perbandingan dengan vendor on-the-shelf biasa

Β§ 10

Daftar Risiko & Mitigasi

#RisikoProbImpakMitigasi
1Vendor lama enggan serah data lengkapTinggiTinggiAktifkan klausa termination data-handover Β· pacta scribbler PPJ legal
2RFID hardware tidak compatible dengan SIP2RendahTinggiProbe lab sebelum Fasa 2 Β· backup plan: kekal Staff Station vendor lama sebagai bridge sementara
3Pegawai PPK menentang sistem baruSederhanaSederhanaCo-design workshop Β· pegawai sebagai design partner Β· UAT bersama
4Cutover gagal Β· perlu rollbackRendahTinggiParallel-run 3 minggu wajib Β· sistem lama freeze (read-only) sehingga D+30 sign-off
5Integrasi SAP-PPi terhalang dasarSederhanaSederhanaEngage bahagian kewangan PPJ dari Day 1 Β· spec lock pada Fasa 1
6PDPA β€” bocor data ahli semasa migrasiRendahTinggiEnkripsi at-rest + in-transit Β· ETL pada SFTP isolated Β· DPO sign-off pada setiap dump
7Vendor baru (ALESA) gagal scaleRendahSederhanaSingle-tenant Laravel terbukti pada >4,000 akaun aktif (rujuk prestasiplus.my)
8Pengguna awam keliru dengan UI baruSederhanaRendahPeriod transition dengan tooltips Β· video tutorial Β· staf cawangan jadi guide
Β§ 11

Pematuhan (MAMPU Β· PDPA Β· Tata Kelola ICT)

StandardKeperluanCara ALESA Patuh
PDPA 2010 Β· Sek 7Notice + Choice + Access untuk data ahliBorang consent dalam sign-up Β· ahli boleh request export/delete Β· log perubahan
MAMPU Garis PanduanSistem kerajaan perlu host on-prem atau Govt Cloud MAMPU-tersenaraiOn-prem PPJ DC sebagai default Β· alternatif Govt Cloud (bukan AWS public)
SKMM/CMA 588Log aktiviti pengguna internet awam (PKAI)PKAI 2.0 simpan log 12 bulan Β· audit trail SHA-256 hash
CGSO ICT AuditPatching, vulnerability, OWASP Top 10CI/CD dengan SAST + DAST scan Β· patching automatik Β· WAF
WCAG 2.1 AAAksesibiliti untuk OKU (Braille, audio)Screen-reader compatible Β· navigation keyboard-only Β· ARIA labels
MyDigitalSokong inisiatif kerajaan digitalAPI terbuka untuk MyGOV portal Β· MyID/MySSO ready
Β§ 12

Cadangan Keputusan untuk PPJ

  1. Aktifkan penilaian termination kontrak SPPB sedia ada β€” atas dasar audit teknikal (Liferay EOL, Apache CVE, Windows hosting Java). Minta legal team PPJ semak klausa exit + IP + data ownership.
  2. Jangan terus terima cadangan "AI Library" vendor pihak ketiga sebagai pengganti β€” terdapat 10 jurang material yang dikenal pasti (rujuk Β§04). Sebaliknya, gunakan cadangan tersebut sebagai input untuk dokumen URS yang lebih tepat.
  3. Buka RFP terbuka berskop spesifik PPK β€” dengan keperluan parity 13-modul ILMU + sambungan SPKK + SAP-PPi sebagai must-have, dan AI augmentative sebagai value-add (bukan teras).
  4. Jemput ALESA (atau mana-mana penyedia tempatan setanding) untuk membuat proof-of-concept 4-minggu β€” fokus pada 3 modul terkritikal (Circulation + OPAC + Membership) untuk membuktikan parity sebelum komit penuh.
  5. Sediakan pelan kontinjensi β€” sekiranya SPPB perlu dilanjutkan sementara, mitigasi risiko CVE-2021-41773 dengan mod_security WAF rule sebagai stop-gap.
"Sistem perpustakaan yang baik tidak menggantikan pustakawan β€” ia memberdayakan mereka untuk berkhidmat lebih baik kepada komuniti yang mereka cintai. AI patut menjadi alat bantu, bukan ganti."

β€” ALESA, 19 Mei 2026