星期六, 6月 27, 2026

aur-malware-check

 

Detection and analysis tools for the atomic-lockfile supply-chain attack on the Arch User Repository (AUR), generalized to a campaign-based architecture that handles multiple concurrent and historical attack waves (CHAOS RAT 2025, Russian spam packages, and future campaigns declared via campaigns.json).

簡單的說,有人把惡意代碼放到 AUR 已經沒維護的套件裏面,然後上傳 。所以安裝了以後,就被惡意代碼植入了,也因為是 npm 套件的關係,相依性相對複雜,影響層面也較為廣泛。

社群因應此狀況,開了一個 repository 放檢測腳本:https://github.com/lenucksi/aur-malware-check

使用方法如下

# 安裝 uv
pacman -S uv

# 下載代碼
git clone https://github.com/lenucksi/aur-malware-check.git

# 進入目錄
cd aur-malware-check

# 建立 python venv 環境,並安裝模組
uv sync

# 執行
uv run python -m aur_check --refresh --list

其他使用方法可以參考 repository README.md 裡的 quickstart

如果發現了被植入惡意代碼,可以參考 repository 裡的 What to do If I Infected

  • 保留系統:不要關機,改用可信媒體進行鑑識擷取。
  • 重設所有憑證:Discord、GitHub、npm、Slack、Teams、SSH 金鑰、Vault token、雲端供應商金鑰。
  • 檢查持久化:systemctl list-units --type=service --state=running(查看是否有不明服務)。
  • 檢查 eBPF rootkit:ls -la /sys/fs/bpf/hidden_*
  • 使用可信媒體清理:從 Arch ISO 開機,掛載檔案系統,移除惡意的 systemd 單元。
  • 考慮重裝:rootkit 會讓系統失去可信度。
  • 回報發現:https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/

星期一, 4月 06, 2026

UxPlay

 之前是使用 RPiPlay ,讓家裡的 linux 桌機可以當作 Macbook Pro 的螢幕鏡像輸出。

去年電腦重灌,忘了裝上去,今年看的時候,發現 RPiPlay 停滯了,改推薦 uxplay 。上網找了文章,看介紹:

安裝方法可參考官方文件:https://github.com/antimof/UxPlay#running-uxplay

在 Ubuntu 24.04 已經內建,所以用 apt 就可以輕鬆安裝

sudo apt install uxplay

使用上很簡單,執行 uxplay 就可以。

uxplay

但我遇到偶爾會有畫面出不來的情況,上網查,說要調整輸出

這邊我是新增了 ~/.config/uxplayrc ,放入以下內容。

vs "autovideosink"
as 0

再重新啟動 uxplay

後續為了方便使用,我是把 uxplay 放到登入自動啟動的設定裡。

helm-dashboard

 可以管理 helm chart 的網頁工具。

https://github.com/komodorio/helm-dashboard

有兩種使用方式

  • 指令列
  • 用 helm 佈署到容器平台

指令列

安裝 (以下假定你已經安裝 helm)

helm plugin install https://github.com/komodorio/helm-dashboard.git

使用

helm dashboard -b --bind=0.0.0.0 -p 8080

這會在 port 8080 啟動一個網頁伺服器,然後就可以用瀏覽器存取了。

用 helm 佈署到容器平台

加入 helm repo

helm repo add komodorio https://helm-charts.komodor.io

更新 helm repo

helm repo update komodorio

取出 chart 可設定的參數

helm show values komodorio/helm-dashboard >values.yaml

修改 values.yaml,主要修改以下內容

  • ingress:我使用 tailscale ,所以 ingress 設為 tailscale
  • service:port 調整為 9090,這改不改沒關係
  • dashboard:因網頁介面內可以直接 upgrade chart,所以把 allowWriteActions 設為 true

ingress:
enabled: true
className: “tailscale”
hosts:
– host: “”
service:
port: 9090
dashboard:
allowWriteActions: true

安裝

helm upgrade --install helm-dashboard komodorio/helm-dashboard \
  --namespace helm-dashboard \
  --create-namespace \
  -f values.yaml

安裝以後,就可以使用 ingress 的 address 登入了。

畫面可參考:https://github.com/komodorio/helm-dashboard/blob/main/images/screenshot.png

星期六, 1月 03, 2026

電影流水帳(2024/08/01~2025/12/31)

一口氣做個總結。

中文片名 (台灣譯名)原文 / 英文片名IMDb英文維基百科 (Wiki)
死侍與金鋼狼Deadpool & WolverineIMDBWikipedia
龍與地下城:盜賊榮耀Dungeons & Dragons: Honor Among ThievesIMDBWikipedia
終棘警探Hot FuzzIMDBWikipedia
詐團圓ScamsgivingIMDBN/A
尼羅河謀殺案 (2022)Death on the NileIMDBWikipedia
王牌冤家Eternal Sunshine of the Spotless MindIMDBWikipedia
吸血鬼特助:雷菲爾RenfieldIMDBWikipedia
魔鬼總動員 (1990)Total RecallIMDBWikipedia
新幹線驚爆倒數 (2025)Bullet Train Explosion (Netflix)IMDBWikipedia
美國隊長:無畏新世界Captain America: Brave New WorldIMDBWikipedia
雷霆特攻隊ThunderboltsIMDBWikipedia
朱爾斯JulesIMDBWikipedia
私刑教育The EqualizerIMDBWikipedia
私刑教育2The Equalizer 2IMDBWikipedia
壞傢伙們 (韓)나쁜 녀석들: 더 무비IMDBWikipedia
白頭山:半島浩劫백두산IMDBWikipedia
騙徒 (韓)IMDBWikipedia
猛毒最終章:最後一舞Venom: The Last DanceIMDBWikipedia
驚奇4超人:第一步The Fantastic Four: First StepsIMDBWikipedia
辣手神探 (港)Hard BoiledIMDBWikipedia
巨洪 (韓)대홍수IMDBWikipedia
奧本海默OppenheimerIMDBWikipedia
愛愛愛上你Anyone But YouIMDBWikipedia
當殺手戀愛時Hit ManIMDBWikipedia

Deadpool & Wolverine

死侍系列第3集,延續前面的黑色笑話風格。這次牽涉到時光變異局跟金鋼狼,死侍想加入時光變異局,時光變異局派給他任務,說因為金鋼狼死了,要找新的定錨者,豈料後來整個錯拍。死侍與金鋼狼落入 VOID ,VOID 是個奇妙的世界,被X教授的妹妹諾瓦掌管,在裏面遇到許多角色,像是霹靂火、金牌手等等的。兩人進去以後搞得天翻地覆,最終是發現了時光變異局悖論先生的陰謀。

沒有特別想重看。

Dungeons & Dragons: Honor Among Thieves

將 RPG 遊戲改編為電影的小品,我滿喜歡的。

主角本來是豎琴手,後來轉職為盜賊,跟幾個搭檔一起偷了蠻多東西。太太早逝,跟野蠻人女戰士一起撫養女兒長大。後來在偷到復活石版後,其中一個搭檔變心,轉而成了領主,並把他的女兒帶走。領主跟紅袍巫師結為同盟,各為其利。領主是要權力跟與財富,紅袍巫師則是要完成之前巫妖的術式。

接下來的冒險就是盜賊要找到女兒,他跟著野蠻人女戰士,遇到了德魯依、法師、聖騎士等人,一同冒險,找到了領主,並且擊敗了領主跟紅袍巫師,成功救回女兒。

最後,令人心碎的是,野蠻人女戰士在與紅袍巫師的戰役中,受了重傷。原本想要拿復活石版復活太太的盜賊,非常猶豫該不該救野蠻人女戰士,在與女兒溝通後,兩人都認同應該要救野蠻人女戰士,於是就讓野蠻人女戰士復活了,為整個冒險畫下了句點。

Hot Fuzz

這重看好幾次了,很有趣的故事,冰淇淋三部曲之一,是在講警察的故事。

尼可拉斯是個精實的警察,但在倫敦太過認真,反倒讓長官覺得困擾,於是將他調到鄉下的小市鎮去。

他在鄉下覺得太清閒,只能辦些小事,但慢慢的,他發現這個小鎮怪怪的,因為這個小鎮太平靜了。經過幾次兇殺案後,他終於發現,這個小鎮的社區巡視聯盟會為了要讓小鎮平靜,把惹事生非的人處理掉。尼可拉斯嚇到了,決定阻止社區巡視聯盟這樣做,就跟警長的兒子丹尼,一同阻止了社區巡視聯盟的人。

詐團圓

這在 2024 年春節時看的。

在美國的詐騙三人組王芸、Jason、華仔得知陶林企業董事長莊黃淑美來美國設展跟找兒子,就想辦法攀上關係。在設定為偶然的情況下,讓董事長遇到王芸跟 Jason,並把王芸角色設定為董事長兒子的妻子,Jason 則設定為孫子,在認祖歸宗後,兩人就跟董事長一同回到了台灣。

回到台灣以後,大家族裡的每個人都想,怎麼突然多了這兩人來分財產呢?就試著要拆穿他們。

結果最後,王芸跟 Jason 真的就是董事長兒子的妻子跟孩子,然後我不太記得了。

Death on the Nile

改編自克莉斯蒂推理女王的小說。

電影中規中矩,把該交代的都交代了。簡單的說,永遠不要假設兇手只有一個人。

Eternal Sunshine of the Spotless Mind

台譯片名真的是…不知道該怎麼說。

之前看過了,是因為 Netflix 又上了,特別又點開來看。

故事帶著淡淡的哀傷。男人和女人在一起,是必然還是偶然?如果你跟現在的愛人分手,完全遺忘了,那麼之後遇到,還有可能再一起嗎?

喬爾在某天早上上班,到了火車站,突然覺得自己必須要搭火車去蒙托克,就毅然決然請了假,上了火車。Montauk 在紐約東邊,查了一下路程,從曼哈頓搭火車過去差不多要兩小時多。喬爾在火車上巧遇了克蕾婷,緣份就是這麼令人難以捉摸,兩人陷入熱戀。沒多久,就又分手。

接下來的電影片段,開始交織著之前的殘光片影,娓娓道出整個事情的經過。

原來兩人之前就已經是一對,只是兩人分手後,喬爾與克蕾婷都去了失戀診所做了失憶手術,要讓自己忘記所有關於對方的事情。時間點不一樣,所以才導致了前面所說的再次相遇。

支線的霍華德博士與瑪麗的婚外情、派屈克與斯坦的失職,也讓整個故事更加的生動。

所以,愛情是什麼呢?

Renfield

黑色喜劇,超多血腥暴力畫面,超B級的。我是因為有尼可拉斯·凱吉而看的。剛剛看兩個主角,這麼巧都叫作尼可拉斯。

Renfield (尼可拉斯·霍特飾演)是吸血鬼 (尼可拉斯·凱吉飾演)的手下,經常需要出門幫主人找鮮血,超能力也是由吸血鬼賦予。後來他出門遇到了心儀的女子,開始有了不一樣的心態,想要離開吸血鬼。吸血鬼知道了,當然不想讓這麼忠心耿耿的手下離開,就開始了各種壓迫,而手下為了救心儀的女子也展開反抗。

印象中,最後是吸血鬼老闆步入墳墓做終。

Total Recall

剛好 Netflix 上了這片,趕緊來看這部科幻經典。(應該算吧,哈)

阿諾一直做去火星的夢,所以在某天,他就決定去能植入記憶的公司,做植入記憶,這樣就會以為自己去過火星。結果上了手術台還沒做,他就失控掙脫了。這下可好了,他以為自己是火星特工。回家路上被追殺,靠著不明所以的好身手,將這些人擊退。

他回到家以後,收到自己留下的線索,覺得必須去火星看看,就去了。到了火星,才發現有更大的陰謀,這些就是導致他自願植入記憶回到地球的原因。最後,事情真相大白。

故事有趣的地方在於記憶的部份,如果記憶可以植入,那麼阿諾所經歷的的一切到底是真還是假呢?很難說,這也是這部電影故事有趣的地方。

Bullet Train Explosion

找不到以前的推。

這部電影故事很單純,新幹線有炸彈,列車長、駕駛以及指揮中心等人要力保乘客安全。

這個部份我很喜歡,可以看到日本人實事求是的處事,在緊迫的時間裡,去推演跟找出最適解,就有點像是正宗哥吉拉那樣。

放炸彈的兇手也出人意表,讓人意想不到,他的過往也讓人心疼,最後是該救的人都救到了,順利落幕。

Captain America: Brave New World

雖然看過這部,但,沒什麼深刻的印象。

山姆成為美國隊長以後,獵鷹也有了新的繼任者。羅斯成了新的總統,請他們兩人去調查一些事情。去調查以後,發現這些人都是被控制的,對於做了什麼一無所知。

最後調查主謀是史登斯,之前他意外沾染浩克的血液,得到驚人的智力發展。羅斯總統因為心臟衰竭,請他研發藥物來治療,原本是答應史登斯在藥物研發成功後,就讓他離去,但羅斯擔心之後無法再獲得藥物,就不放人。史登斯因而不爽,才策劃了所有事情。

後來羅斯也因為藥物的關係,獲得了類似浩克的能力,可以變身為紅浩克。山姆在引他到櫻花樹,讓他回想起女兒以後,解除變身。

Thunderbolts

復仇者聯盟4以後,最喜歡的角色是黑寡婦的妹妹-葉蓮娜。

葉蓮娜在彈指事件以後,失去重心,感覺上不被需要了,所以不知道如何自處,就靠著持續接德芳亭派的任務撐下去。

在一次的任務中,他遇到了「前」美國隊長、幽靈、摹仿大師跟鮑伯,打的你死我活,這才發現都是德芳亭的陰謀。德芳亭派了大軍追殺他們,後來

幸運逃出之後,跟紅色衛兵會合。鮑伯留了下來,在四面楚歌的情況下,爆發了超能力。德芳亭看到他的潛力,將他捧為超級英雄。葉蓮娜等人則是去找德芳亭算帳,卻被鮑伯打退。後續是鮑伯的黑暗面浮現,一堆人都被他拉到虛無空間去。葉蓮娜自願進入空間,他知道鮑伯本性不壞,想救出他來。後來紅色衛兵等人也一同進去,合力解除了鮑伯的黑暗面。而德芳亭則趁勢把這些人組合為雷霆特攻隊,也就是新復仇者聯盟,掌握了權力。

這邊有打動我的地方是關於葉蓮娜感到失去重心的那段,不管是什麼人,即使受過特訓,都還是會有需要人去承接他的地方,也因此,在後面鮑伯黑化的時候,他才能去把鮑伯的良善面拉出來。

Jules

這片很有意思,是溫馨的小品。

三個老人家都很孤單,也想試著去社交,讓自己的老年生活不寂寞。

有一天,有個外星人掉到後院,改變了他們的生活,他們跟外星人變成了好朋友,三人有了共同的祕密,也成了好朋友。這段過程特別有趣,因為人家以為他們快要老人癡呆了,再加上他們三人的誤打誤撞,擦撞出不少笑料。美國是有特別的組織在調查外星人的,這次的墜落當然也在關注,所以後來三個老人掩護外星人修好飛船,就讓外星人回家去了。

The Equalizer

一個退役的特種保鑣,在過著他的退休生活。生活中遇到不平的事情,他看不慣,就出面處理。

故事很簡單,但看的就是那種打擊不平的爽感。

這次主要是拯救一個為生活所迫而被逼去賣淫的女子,還有幫助一個是有志考取警衛的同事。好像還有一個人,但我忘記了。

The Equalizer 2

基本概念跟前集一樣。

這次是幫助之前的同事,之前同事去德國調查案件,結果卻被殺死,經過調查,才發現是自己認識的人,也是前同事,於是就把他們解決了。

另外就是住在同社區的黑人少年,他把這個黑人少年拉住,讓他繼續往繪畫方向走,不要走到歧途,去幫人殺人。

나쁜 녀석들: 더 무비

壞傢伙們,馬東石的動作片。

一個警官找了三個罪犯一起辦案,結果案子愈查牽扯愈大,牽扯到警察局長跟國外的毒販,最後很颯爽的解決了。

백두산

白頭山-半島浩劫。

科學家跟政府說,火山要爆炸啦,這次的爆發會影響到整個半島。經過討論後,覺得應該可以在白頭山的礦場深處放置炸彈,就可以阻止火山爆發,所以政府就派了趙仁昌一行人去白頭山。

這組人奉命要先救出北韓的特務李俊平,因為他對北韓比較熟悉,所以需要他當嚮導。合作並不順利,李俊平一直想逃走去找女兒,幾次磨合下來,大家開始能夠有一致的口徑,前往白頭山。

俊平後來在普天找到女兒,但卻被美軍跟中國人包圍了。仁昌為了要讓俊平能帶路,啟用了核彈,嚇阻了美軍跟中國人。最後仁昌跟俊平兩人進入礦坑,放置核彈。俊平因為受了傷,決定捨命引爆核彈,讓仁昌離開,並要他好好照顧他女兒。仁昌開車離去,俊平引爆核彈,阻止了白頭山火山爆發。

電影最後,仁昌退役,跟太太還有剛滿一歲的兒子跟俊平的女兒一起吃飯,以溫馨的畫面作終。

騙徒。

這片是在 Youtube 車庫娛樂頻道上看的。

主角的父親因為一個詐騙事件而自殺,鄰居也因為跟著投資的關係,也都很慘。

轉眼經過十幾年。

有個檢察官朴希秀利用詐欺師在辦案,很有名氣,在高層也很吃的開。這時有個詐欺師黃智成出現了,被這個檢察官逮到。檢察官朴希秀發現智成在找的人跟他一樣,於是就利用他來找。

整個過程蠻刺激、緊張的,而且有抽絲剝繭的感覺。最後是一個蠻大的反轉,黃智成所找的對象其實不是朴希秀要找的人,你覺得會是誰呢?

Venom: The Last Dance

這次是遇到噬界獸,猛毒跟其他共生體一同對抗噬界獸的故事。

沒什麼印象。

The Fantastic Four: First Steps

我對這部漫威英雄電影的印象就是中規中矩,好看,但不到非常喜歡。

一開始就介紹了驚奇四超人的起源,然後直接帶入正題。銀色衝浪手來到地球,驚奇四超人透過銀色衝浪手得知有星球毀滅者,四人追蹤了訊號,前往星球毀滅者,試圖想要提早解決問題。但星球毀滅者的威能遠超過驚奇四超人想像,四人沒辦法應付,改為談判。星球毀滅者感應到蘇肚子裡的孩子,發現這孩子正是他所需要的,就提出了用孩子換取不吞食地球的要求,四人當然不肯,就逃回地球。

逃回地球以後,地球上的人以為事情解決了,但四人說明了情況後,地球人反倒怪起驚奇四超人,怎麼能因為孩子而不顧地球安危呢? 後來蘇再次說明了情況,總算取得大家的理解。李德想到或許可以利用之前的瞬移將地球轉移到安全的地方去,就出面說明,請所有人動員,在地球各地蓋了瞬移裝置。

在瞬疑裝置完成,要啟動時,銀色衝浪手來破壞,強尼追上衝浪手,跟衝浪手說聽懂了之前說的話,並且動之以情,期望衝浪手能幫助他們。衝浪手的心產生動搖,但她沒多說什麼,就這麼回去。

這時驚奇四超人又想到了新的計畫,因為還剩下一個瞬移裝置,他們想到可以直接把星球毀滅者瞬移到遙遠的地方去,爭取時間。那要怎麼吸引星球毀滅者來呢?他們想到可以把嬰兒放到瞬移裝置中間來吸引。

轉眼星球毀滅者也到了,驚奇四超人依計進行,但星球毀滅者實在很強大,並且看穿了四超人的手法,奪取了嬰兒。這時蘇發動母性的超強威能,硬是把星球毀滅者逼到裝置範圍裡,並要李德把嬰兒救走。星球毀滅者真的很強,進去以後,還可以掙脫,這時衝浪手出現,再次把星球毀滅者推進去。世界恢復和平,為之後的漫威電影再次埋下伏筆。

辣手神探

周潤發跟梁朝偉演的。

梁朝偉是警局派去的臥底,幹了不少壞事。周潤發是警察,發現梁朝偉其實也是。

後來就聯手把黃秋生的軍火組織給掀了。

這片聽說是吳宇森去好萊塢之前的最後一片,動作場面跟爆破場面毫不含糊,也可以看到年輕的毛舜筠跟梁朝偉,好看。

대홍수

巨洪。

原本以為是災難片,但看到中間的時候,從不斷的循環裡,就理解到,這其實是一部科幻片了。

簡單的說,小孩是為了情感實驗製作出來的複製人,媽媽則是一個實驗室的研究員,負責研究複製人的情感系統。這天的早上,媽媽剛被孩子叫醒,說外面有大游泳池。對,外面淹了大水,地球因為一顆大隕石擊中南極,導致海平面上升。媽媽帶著孩子逃走,但往下走不行,往上走又被逃難的人塞住。這時候有個男人呼喊了她,要他們往上走,說有直昇機會去接他們。後來終於逃到樓頂,直昇機接走媽媽,孩子被留在樓頂,男人則被射殺了。媽媽被帶到了太空船,發射到了外太空。太空船被隕石擊中,岌岌可危,媽媽說讓我來完成複製人的實驗。後面就是持續的循環三人遇到洪水逃上樓頂的過程。

故事沒有交代這個複製人情感實驗的用途是什麼,所以也無從得知重要性是什麼。

但這個循環的過程,其實跟爸爸與小孩相處是一樣的。媽媽懷胎十月,在懷胎時,就付出了情感。但對爸爸來說,要持續的相處,就會創造出愛的感覺跟親暱感。就跟電影裡的媽媽與小孩一樣,因為小孩是複製人,其實媽媽一開始對小孩子其實很陌生,也會排斥,但透過一次次的循環,媽媽也動了真感情。或許是因為這樣才會說這是情感實驗吧。

故事的最後,是媽媽理解了孩子的用心,以一個水裡的畫面做終,沒有多做解釋。

Oppenheimer

奧本海默的故事,類紀錄片的形式。

因為故事是交錯的敘事,我對不太起來。我的理解是,奧本海默一開始親共,後來沒了,但卻因為這樣被人陷害,被調查。這個調查的過程與他帶領小組研發核彈的過程交叉地敘述,交織在一起。

最後是奧本海默在投彈日本廣島後,深深覺得這個武器不應該被應用,走上反核的道路。

可能要多看幾次才會比較理解吧。

Anyone But You

愛情喜劇,改編自莎士比亞的「無事生非」。

Ben 跟 Bea 一見鍾情,但卻因為誤會以為對方不愛自己。過了幾年後,再次在好友的婚禮上相遇,被迫假扮情侶,試著打發掉彼此的父母,過程引發不少趣事。

最終兩人解開誤會,確認彼此的愛意,終成眷屬。

有看到花邊新聞,說戲外的兩人有擦出火花,但後續沒在追,也不知道怎麼了。女主角Sydney Bernice Sweeney是真的蠻漂亮的,也有不少花邊新聞。

Hit Man

故事很有意思。

蓋瑞是大學教授,兼差警局的工作。警局工作的內容主要是扮演誘餌,把可能會犯罪的人約出來,先做預防。

這次蓋瑞扮演了殺手,遇到了一個人妻,這個人妻因為丈夫是爛人,會打人,想殺掉他,所以約了殺手出來。

蓋瑞試著勸退他,並且約了幾次出來,然後他發現已經愛上她了。

後面的故事在蓋瑞不能說太多,持續跟人妻熱戀,又被警局同事嫉妒的情況下發展。不過印象中最後是皆大歡喜的樣子,蓋瑞跟人妻順利在一起,嫉妒的警局同事被幹掉,畫下了句點。

星期六, 11月 22, 2025

archlinux清理pacman package cache

官方文件:https://wiki.archlinux.org/title/Pacman#Cleaning_the_package_cache

蠻簡單的,若要保留最後一個版本的套件,執行

sudo paccache -rk1

或是移除所有已經解除安裝套件的所有版本

sudo paccache -ruk0

要定期進行清理的話,就啟用 paccache.timer

sudo systemctl enable paccache.timer

然後修改 /etc/conf.d/pacman-contrib 裡的 PACCACHE_ARGS

PACCACHE_ARGS=-rk1

這樣就完成了。