安心出行屢屢碰壁 談何發展創科中心
近日有傳媒報道3.2.0版本以下的「安心出行」流動應用程式裏內置人臉識別模組,資訊科技總監辦公室回應時強調「程式的運作從來沒有亦毋須採用人臉識別功能」,並已「要求承辦商研究在不影響程式正常運作的前提下,從模組中刪除與人臉識別相關功能,以釋除公眾疑慮」,隨後「安心出行」在本周三(5月4日)便有版本更新。
不過,安卓系統最新的3.2.3版本「安心出行」程式仍舊可以發現該人臉識別模組。該模組出自Facebook開源應用程式框架「React Native」下的「React Native Camera」代碼庫項目,最後更新版本為去年9月發布的4.2.1版,其Github倉庫首頁於今年初更新的讀我檔案提到該項目已進入「棄用」狀態,並建議改用另一個「VisionCamera」項目。
根據「React Native Camera」說明文件,其人臉識別模組使用了Google的「機器學習工具(ML Kit)」,而無論新舊版本「安心出行」均有同時內嵌該套件。另外,舊版與新版的「安心出行」代碼都曾分配函式使用人臉識別功能,它的運行過程可能讀取相關資料,外界在程式未公開原始碼的情況下難以確認其具體用途。
冗餘代碼可以拖累程式運作
今次事件除了直接動搖「安心出行」應用程式本身的認受性之外,其實還揭示政府審查外判資訊科技項目的過程似乎有着不少缺陷。有軟件工程師指出多餘的代碼庫內容理應從最後成品裏刪除,並且批評資科辦往往不會深入審閱原始碼。副政府資訊科技總監黃志光日前亦在電台節目承認,過去他們並不知道有相關代碼的存在。
一個程式冗餘代碼愈多,自然增加它的複雜程度,進而減慢整體運算效率;維護更新也會因此花費較多成本與時間,甚至有被錯誤或惡意調用的風險。然而「安心出行」官方網站公開的技術規格、保安風險及私隱影響評估報告,皆未提及會否以及如何處理此等冗餘代碼,正好反映負責人員沒把「死碼刪除」一類編譯最佳化的任務列入考量。
政府自身需要重視創科成果
儘管黃志光說當局結果已經依照「業界標準模式」驗收項目,但是社會公眾顯然會對政府或公營機構推廣使用的應用程式有較高要求。就算「安心出行」不存在任何保安風險或侵犯私隱問題,也不代表市民可以接受資科辦對其產品欠缺充足的認知。如果現時外判項目作業容許這種情況發生,那只說明當局應該盡快修改指引文件加強品質管理。
更加重要的是,對於一個聲稱銳意推動創科產業發展、促進社會數字化轉型的政府來說,當局今次竟然沒能夠為「安心出行」這個在社會上廣泛應用的抗疫工具作完善審查,這難免讓人質疑主事官員並沒有認真看待相關工作,又或者是他們就不具備充足能力。未來政府再要推行類似項目的話,必須保證負責人員能夠密切監控內容。
中央與特區政府都支持香港建設國際創科中心,創新及科技局薛永恒更屢次將「安心出行」包裝成為本港近年實際應用創科的案例,但若當局態度始終像今次處理「安心出行」那樣打算花錢將責任外判出去了事,對於具體如何研發以至發展出了什麼成果毫不在意,這實在說不上一個推動創科政府應該出現的舉措,真正建設創科中心更是無從談起。