无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網易首頁 > 網易號 > 正文 申請入駐

7天寫一條SQL,掃出依賴里的定時炸彈

0
分享至

2024年,一個工程師偶然發現SSH登錄慢了500毫秒,順藤摸瓜揪出了幾乎成功的xz-utils供應鏈后門。這件事給所有開發者敲了警鐘:你手頭那五到十個副項目,依賴包可能正在悄無聲息地腐爛,而傳統的安全工具根本看不見。

Snyk、Dependabot這類工具只會追著已公開的CVE編號跑,但真正的供應鏈攻擊在爆發前往往同時亮起三盞紅燈:活躍高危漏洞、維護者棄坑、下載量斷崖式下跌。這三股信號碰頭時,風險就已成形,可市面上沒有一個工具能把它們聚合到一塊兒——直到有人用 Coral 寫了一條 SQL 查詢。

這條查詢花了六天打磨,最終在一個語句里聯查了三套實時系統:Google 的 OSV 漏洞庫、npm 包注冊表,以及 npm 下載統計 API。三個不同主機,零膠水代碼,出來的結果就是一個包的三維風險快照。舉個例子,minimist 這個 npm 包,直接查出 2 個已知 CVE,最高嚴重級別 CRITICAL,月下載量卻有 5.31 億次——典型的高懸頂炸彈。

查詢邏輯本身并不復雜:先用 CTE 從 npm 注冊表撈出包名、最新版本和最后發布時間;再去 OSV 按包名聚合 CVE 數量,同時取最高嚴重度對應的等級序號;再從 npm 下載 API 拿一個月內的下載量;最后左連接拼成一行。問題全出在實現細節上。

第一天就卡在了 OSV 數據源的定義文件上。Coral 允許用一個 YAML 文件描述外部 REST API 的返回結構,骨架寫得很快,但真跑起來才發現兩個坑。其一是自動扁平化并不存在——原本以為 database_specific 下的 severity 字段用雙下劃線命名 database_specific__severity 就能直接映射,結果始終返回 null。非得在 YAML 里顯式寫一個 expr,用 path 指定 [database_specific, severity] 才能正確提取。其二更隱蔽:受影響包的名字藏在 affected 數組的第一個元素里,取這個字段時,path 要寫成 [affected, "0", package, name]——索引得用字符串 “0”,用整數 0 會直接觸發 schema 校驗失敗。

coral source lint 能攔住 YAML 結構上的明顯錯誤,但這些嵌套路徑的匹配偏差,只能在對著真實包(比如 lodash、minimist)跑完查詢、把返回的字段和 spec 一行行手動比對時才會暴露。沒有任何自動化提示,全靠人肉 diff。

第二天面對的是 npm 數據源,這里讓作者直呼學到了最多。因為 npm 實際上需要對接的遠不止一個端點,后續的曲折讓他進一步看清,跨多個 API 對齊包名和統計口徑這件事,里面的坑比寫 YAML 多得多。

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
“榴蓮僅退款”商家受死亡威脅!女孩哥哥揚言要滅門,已刑事立案

“榴蓮僅退款”商家受死亡威脅!女孩哥哥揚言要滅門,已刑事立案

北緯的咖啡豆
2026-05-31 10:05:15
偶遇劉德華妻子超市購物,60歲發量濃密萬元包似普通菜籃

偶遇劉德華妻子超市購物,60歲發量濃密萬元包似普通菜籃

青杉依舊啊啊
2026-05-31 17:54:10
耿同學都能發現的論文錯誤,為什么頂刊發現不了

耿同學都能發現的論文錯誤,為什么頂刊發現不了

大張的自留地
2026-05-31 14:58:22
小沈陽被曝緊急送醫,知情人透露:已是第2次陷入昏迷

小沈陽被曝緊急送醫,知情人透露:已是第2次陷入昏迷

犀利強哥
2026-05-28 22:50:39
"香會"期間 英美澳官宣為無人潛航器研制新武器

"香會"期間 英美澳官宣為無人潛航器研制新武器

看看新聞Knews
2026-05-31 12:16:11
文班:亞歷山大捧起MVP獎杯激勵了我,總決賽我們會強勢出擊

文班:亞歷山大捧起MVP獎杯激勵了我,總決賽我們會強勢出擊

懂球帝
2026-05-31 11:44:20
最近,國產AI自己造了AI,全球首例!

最近,國產AI自己造了AI,全球首例!

果殼
2026-05-30 16:06:19
肖純錦臨刑在即,其妻哭求陳毅,一通電話救下昔日恩人

肖純錦臨刑在即,其妻哭求陳毅,一通電話救下昔日恩人

嘮叨說歷史
2026-03-28 15:04:59
韓國一工廠經理與同事爭吵后腦出血死亡 法院裁定:屬于工傷,應賠付撫恤金和喪葬費

韓國一工廠經理與同事爭吵后腦出血死亡 法院裁定:屬于工傷,應賠付撫恤金和喪葬費

紅星新聞
2026-05-31 18:01:09
綠地控股集團副總裁吳曉暉被禁足處罰后辭職

綠地控股集團副總裁吳曉暉被禁足處罰后辭職

地產微資訊
2026-05-31 10:57:24
朱芳雨賭對了!廣東隊簽下1米83暴力控衛,保底能進總決賽了!

朱芳雨賭對了!廣東隊簽下1米83暴力控衛,保底能進總決賽了!

緋雨兒
2026-05-31 09:54:32
搶七33分鐘僅出手2次!切特遭外媒批判:不配三陣 2.39億明顯溢價

搶七33分鐘僅出手2次!切特遭外媒批判:不配三陣 2.39億明顯溢價

顏小白的籃球夢
2026-05-31 11:46:10
暴漲27倍,一群華人賣Token:年入22億

暴漲27倍,一群華人賣Token:年入22億

人人都是產品經理社區
2026-05-29 18:00:01
1949年,渡江戰役若晚20天開戰,中國可能被推入分裂深淵

1949年,渡江戰役若晚20天開戰,中國可能被推入分裂深淵

鶴羽說個事
2026-05-29 22:59:33
收割機爬梯被盜后續:官方火速處理,當事人表示滿意

收割機爬梯被盜后續:官方火速處理,當事人表示滿意

映射生活的身影
2026-05-30 19:54:21
央視曝光:廣州女子持兩本護照調包登機被識破,竟然是雙重國籍。

央視曝光:廣州女子持兩本護照調包登機被識破,竟然是雙重國籍。

健身狂人
2026-05-31 12:00:28
突發公告!重大資產重組,終止!

突發公告!重大資產重組,終止!

新浪財經
2026-05-31 16:52:12
莫言:主動買單、不占便宜、不斤斤計較的男人,注定是干大事的人

莫言:主動買單、不占便宜、不斤斤計較的男人,注定是干大事的人

杏花煙雨江南的碧園
2026-05-26 16:15:03
5死44傷!華人大巴司機釀重大車禍,被曝不會英語,移民美國18年的一家四口葬身火海

5死44傷!華人大巴司機釀重大車禍,被曝不會英語,移民美國18年的一家四口葬身火海

華人生活網
2026-05-31 02:34:35
“新型啃老”已來臨,985畢業生家里蹲,家長:不工作也不結婚

“新型啃老”已來臨,985畢業生家里蹲,家長:不工作也不結婚

戶外阿毽
2026-05-25 15:03:21
2026-05-31 19:16:49
我是一個粉刷匠2
我是一個粉刷匠2
有態度網友ytd
4208文章數 41關注度
往期回顧 全部

科技要聞

戴爾諾基亞又回來了!AI重估老牌科技公司

頭條要聞

香會上中方全英文發問菲律賓 菲防長語無倫次答非所問

頭條要聞

香會上中方全英文發問菲律賓 菲防長語無倫次答非所問

體育要聞

阿森納用最悲壯的方式,成就了巴黎王朝

娛樂要聞

朱軍退休,正義雖遲但到,女方受懲

財經要聞

醫學首席轉崗搞科技,A股科技股遭遇巨震

汽車要聞

900V+3.2秒破百 領克10+&領克10上市16.99萬元起

態度原創

藝術
親子
本地
公開課
軍事航空

藝術要聞

16位歐美畫家筆下的兒童肖像

親子要聞

丟了車廂的垃圾車 #汪汪隊 #大型挖掘機挖土玩具

本地新聞

用剪紙的方式,打開江蘇揚州

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

解放軍代表質問日防衛大臣:日本何時道歉

無障礙瀏覽 進入關懷版