یک نکته که خیلیا موقع کار با API این LLM ها بهش توجه نمیکنن ولی مستقیم رو هزینهها تاثیر داره prompt caching هست.
ماجرا اینه که وقتی یک پرامپت طولانی میفرستی، مدل باید کل اون رو پردازش کنه و به یک state داخلی تبدیل کنه، و همین پردازش گرونترین بخششه. کش یعنی اون state نگه داشته بشه تا دفعه بعد از اول محاسبه نشه و فقط از حافظه لود بشه. برای همین خوندن از کش حدود ۱۰ درصد نرخ ورودی معمولی حساب میشه و رو مدلهای جدیدتر انتروپیک تا حدود ۲.۵ درصد هم پایین اومده.
ولی نکته اصلی اینجاست: کش رو prefix کار میکنه، یعنی از اول پرامپت تا جایی که عین دفعه قبل مونده. ترتیبش هم tools بعد system بعد messages هست و هر تغییری تو هر لایه، اون لایه و همه لایههای بعدیش رو باطل میکنه.
یعنی اگه چیز متغیری رو بذاری اول پرامپت (مثلا تاریخ و ساعت یا اسم کاربر تو system prompt)، عملا هیچوقت کش hit نمیشه. بدترش هم اینه که چون هربار داری دوباره کش مینویسی و نوشتن تو کش حدود ۲۵ درصد گرونتر از ورودی معمولیه، در نهایت بیشتر از حالت بدون کش پول میدی.
پس قاعدهاش سادهست: هرچی ثابته بذار اول، هرچی متغیره بنداز آخر.
@samonio #samonio
ماجرا اینه که وقتی یک پرامپت طولانی میفرستی، مدل باید کل اون رو پردازش کنه و به یک state داخلی تبدیل کنه، و همین پردازش گرونترین بخششه. کش یعنی اون state نگه داشته بشه تا دفعه بعد از اول محاسبه نشه و فقط از حافظه لود بشه. برای همین خوندن از کش حدود ۱۰ درصد نرخ ورودی معمولی حساب میشه و رو مدلهای جدیدتر انتروپیک تا حدود ۲.۵ درصد هم پایین اومده.
ولی نکته اصلی اینجاست: کش رو prefix کار میکنه، یعنی از اول پرامپت تا جایی که عین دفعه قبل مونده. ترتیبش هم tools بعد system بعد messages هست و هر تغییری تو هر لایه، اون لایه و همه لایههای بعدیش رو باطل میکنه.
یعنی اگه چیز متغیری رو بذاری اول پرامپت (مثلا تاریخ و ساعت یا اسم کاربر تو system prompt)، عملا هیچوقت کش hit نمیشه. بدترش هم اینه که چون هربار داری دوباره کش مینویسی و نوشتن تو کش حدود ۲۵ درصد گرونتر از ورودی معمولیه، در نهایت بیشتر از حالت بدون کش پول میدی.
پس قاعدهاش سادهست: هرچی ثابته بذار اول، هرچی متغیره بنداز آخر.
@samonio #samonio
گوگل یک آپدیت اضطراری برای Chrome داد چون یکی از باگها همین الان داره تو دنیای واقعی ازش سوءاستفاده میشه. باگ از نوع type confusion تو V8 هست، یعنی موتور جاوااسکریپت یک تیکه از حافظه رو با نوع اشتباه میخونه و همین باعث میشه یک صفحه وب معمولی بتونه کد اجرا کنه. نسخه امن 152.0.7977.82 به بالاست و چون مشکل تو خود Chromium هست، Edge و Brave و بقیه مرورگرهای Chromium-based هم تا آپدیت نگیرن همین وضع رو دارن. کافیه بری تو About Chrome تا خودش آپدیت رو بگیره.
لینک: https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-desktop_01882797386.html
@samonio #samonio
لینک: https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-desktop_01882797386.html
@samonio #samonio
Chrome Releases
Stable Channel Update for Desktop
The Stable channel has been updated to 152.0.7977.82/.83 for Windows and Mac and 152.0.7977.82 for Linux, which will roll out over the comi...
👍4
یک باگ جالب توی کروم دوباره پیدا شده. اگه توی تنظیمات بذاری که با بستن پنجرهها همه دیتای سایتها پاک بشه، همه پاک میشن جز google.com؛ کوکی و Local Storage و Session Storage گوگل سر جاش میمونه، حتی بعد از بستن و باز کردن دوباره کروم. کسی که این رو گزارش کرده روی دو مک با کروم ۱۵۲ تستش کرده، بدون لاگین و حتی با عوض کردن سرچ انجین پیشفرض. جالب اینجاست که دقیقاً همین باگ شش سال پیش هم گزارش شده بود و گوگل درستش کرده بود. خودش میگه احتمالاً بیدقتیه نه توطئه، ولی نتیجهاش برای کاربر یکیه.
لینک: https://lapcatsoftware.com/articles/2026/9/1.html
@samonio #samonio
لینک: https://lapcatsoftware.com/articles/2026/9/1.html
@samonio #samonio
یک نفر رفته سراغ نصبکنندههای قدیمی نتاسکیپ روی آرشیو اینترنت، روت سرتیفیکیتهای داخلشون رو در آورده و دنبال کوچیکترین کلید گشته. نتاسکیپ ۴.۵۱ سال ۱۹۹۹ دو تا روت با کلید RSA ۵۱۲ بیتی از یک CA کانادایی به اسم E-Certify داشته، و همون سال هم ۵۱۲ بیت رسماً شکسته شد. حالا این آدم با CADO-NFS روی یک دسکتاپ معمولی (Ryzen 9 5950X) اون کلیدها رو فاکتور گرفته، ۳۲ ساعت برای اولی و ۲۹ ساعت برای دومی، و کلید خصوصی یک مرجع صدور گواهی واقعی رو بازسازی کرده. عملاً خطری نداره چون این روتها سال ۲۰۰۲ حذف شدن و ۲۰۰۳ منقضی، ولی نکتهش اینه که امنیت RSA فقط به طول کلید بنده و چیزی که موقع خودش «بهاندازهی کافی بزرگ» به نظر میرسید، امروز با یک کامپیوتر خانگی و یک آخر هفته میشکنه. الان استاندارد ۲۰۴۸ بیته و همون هم به خاطر کوانتوم داره کمکم کنار گذاشته میشه.
https://mcpherrin.ca/2026/09/07/rsa.html
@samonio #samonio
https://mcpherrin.ca/2026/09/07/rsa.html
@samonio #samonio
Matthew McPherrin
I’ve factored the RSA keys of a Certificate Authority…
… from the 90s.
👍2
Forwarded from Sadra Codes
اومدن gpt 6 رو روی (https://neal.fun/not-a-robot) که پر از کپچاهای مختلفه اجرا کردن و تونسته ۴۸ تا کپچا رو از ساده تا سخت حل کنه!
بنظرم وقتشه re-re-captha رو تولید کنن! 😁
❇️ @lnxpylnxpy
بنظرم وقتشه re-re-captha رو تولید کنن! 😁
❇️ @lnxpylnxpy
neal.fun
I'm Not a Robot
Prove your humanity once and for all
😁2
یک پروژه جالب که این چند روز خیلی سر و صدا کرده: i-have-adhd، یک skill برای ایجنتهای کدنویسی که کاری میکنه جواب رو زیر توضیحات دفن نکنن.
ایدهاش سادهست. بهجای اینکه مدل با «سوال خوبیه! بذار فکر کنم...» شروع کنه و آخرش یک جایی وسط پاراگراف سوم بگه چیکار کنی، اول از همه خود دستور یا مسیر فایل رو میده و توضیح رو میذاره بعدش. ده تا قانون داره، مثلا: با اکشن بعدی شروع کن، کارهای چندمرحلهای رو شمارهگذاری کن، تخمین زمان دقیق بده نه «یکم طول میکشه»، لیستها رو بیشتر از پنج آیتم نکن، و هیچ مقدمه و جمعبندی و «امیدوارم کمک کرده باشه» ننویس.
اسمش ADHD هست ولی خودشون نوشتن نیازی به تشخیص ADHD نداری تا ازش استفاده کنی. پایهاش هم یک کتاب واقعی درباره ADHD بزرگسالان بوده که قوانینش رو برای خروجی مدل بازنویسی کردن.
فایلش هم چیز پیچیدهای نیست، یک SKILL.md سادهست که میتونی فورک کنی و به سلیقه خودت عوضش کنی.
لینک: https://github.com/ayghri/i-have-adhd
@samonio #samonio
ایدهاش سادهست. بهجای اینکه مدل با «سوال خوبیه! بذار فکر کنم...» شروع کنه و آخرش یک جایی وسط پاراگراف سوم بگه چیکار کنی، اول از همه خود دستور یا مسیر فایل رو میده و توضیح رو میذاره بعدش. ده تا قانون داره، مثلا: با اکشن بعدی شروع کن، کارهای چندمرحلهای رو شمارهگذاری کن، تخمین زمان دقیق بده نه «یکم طول میکشه»، لیستها رو بیشتر از پنج آیتم نکن، و هیچ مقدمه و جمعبندی و «امیدوارم کمک کرده باشه» ننویس.
اسمش ADHD هست ولی خودشون نوشتن نیازی به تشخیص ADHD نداری تا ازش استفاده کنی. پایهاش هم یک کتاب واقعی درباره ADHD بزرگسالان بوده که قوانینش رو برای خروجی مدل بازنویسی کردن.
فایلش هم چیز پیچیدهای نیست، یک SKILL.md سادهست که میتونی فورک کنی و به سلیقه خودت عوضش کنی.
لینک: https://github.com/ayghri/i-have-adhd
@samonio #samonio
GitHub
GitHub - ayghri/i-have-adhd: A skill to stop your coding agent from burying the answer. ADHD-friendly output.
A skill to stop your coding agent from burying the answer. ADHD-friendly output. - ayghri/i-have-adhd
👍3
سایت Read the Docs گزارش بزرگترین حمله DDoS تاریخش رو منتشر کرد؛ حمله برای ژوئن امسال بوده و تو اوجش دقیقهای ۵.۵ میلیون ریکوئست میخورده، یعنی حدود ۱۰۰ برابر ترافیک عادیش، و کل ماجرا نزدیک ده روز طول کشیده. نکته فنی جالبش اینه که مهاجمها مستقیم رفتن سراغ چیزهایی که تو CDN کش نمیشن، یعنی ۴۰۴ ها و ریدایرکتهای موقت، چون هر ریکوئستی که کش نشه تا سرور اصلی میاد. چیزی که بیشترین اثر رو داشته دو کار ساده بوده: کش کردن همون ۴۰۴ و ریدایرکتها حتی برای چند دقیقه، و ریتلیمیت کردن کسی که زیاد جواب ۴۰۴ و ریدایرکت میگیره، چون کاربر واقعی معمولاً ۲۰۰ میگیره نه ۴۰۴. بلاک کردن IP هم عملاً بیفایده بوده، حمله از میلیونها IP تو کل دنیا میومده.
https://about.readthedocs.com/blog/2026/09/2026-ddos-attack/
@samonio #samonio
https://about.readthedocs.com/blog/2026/09/2026-ddos-attack/
@samonio #samonio
Read the Docs
Understanding the Recent DDoS Attack Against Read the Docs
A deep dive into the massive June 2026 DDoS attack on Read the Docs, the attack patterns we observed, and the mitigations and defenses we used to defend our infrastructure.
شاپیفای اعلام کرده داره از React Native برمیگرده به Swift و Kotlin، و دلیلش این نیست که React Native کند بوده، خودشون میگن اپهاشون سریع بودن. میگن ایجنتهای کدنویسی هزینهی نوشتن یک فیچر برای دو پلتفرم رو اونقدر پایین آوردن که دلیل اصلی ۲۰۲۰ شون یعنی «یک بار بنویس به جای دو بار» دیگه وزن قبلی رو نداره. اپ Shop رو از صفر و نیتیو ظرف ۱۲ هفته بازنویسی کردن و اپ اصلی شاپیفای با بیش از ۳۰۰ صفحه هم در راهه. برای بقیه هم بیتاثیر نیست، کتابخونهی Restyle آرشیو میشه و FlashList و Skia دنبال نگهدارندهی جدید میگردن.
https://shopify.engineering/back-to-native
@samonio #samonio
https://shopify.engineering/back-to-native
@samonio #samonio
Shopify
Native is now the future of mobile at Shopify (2026) - Shopify
Coding agents changed what it costs to build mobile apps twice. Here’s why Shopify is moving from React Native back to Swift and Kotlin.
یک باگ بحرانی تو گیتلب که ارزش داره جدی بگیریش: با یک ریکوئست HTTP و بدون هیچ احراز هویتی میشد هر فایلی رو از سرور خوند. نمره CVSS شد ۱۰ از ۱۰، یعنی بالاترین حد ممکن.
مشکل تو API مربوط به commit های ریپازیتوری بوده، path traversal بهعلاوه نبود چک احراز هویت. یعنی مهاجم میتونست کلید SSH، پسورد دیتابیس، deploy token و متغیرهای CI/CD رو مستقیم بخونه. نسخههای آسیبپذیر از 18.7 تا قبل از 19.1.8 و 19.2.6 و 19.3.2 هستن.
نکتهای که آدم رو میترسونه سرعتشه: باگ ۱۰ سپتامبر اعلام شد و ظرف ۲۴ ساعت اسکن و تلاش برای اکسپلویت تو دنیای واقعی شروع شده بود. CISA هم سریع اضافهش کرد به لیست باگهای در حال اکسپلویت.
اگه گیتلب self-hosted داری و پابلیکه، دو تا کار: آپدیت کن، و لاگها رو بگرد دنبال ریکوئست POST به مسیر commits که پارامتر file.path داشته باشه. اگه چیزی پیدا کردی، همه توکنها و کلیدها رو عوض کن.
لینک: https://securityaffairs.com/198945/hacking/gitlab-cve-2026-85706-one-http-request-no-authentication-full-file-read-exploited-within-24-hours.html
@samonio #samonio
مشکل تو API مربوط به commit های ریپازیتوری بوده، path traversal بهعلاوه نبود چک احراز هویت. یعنی مهاجم میتونست کلید SSH، پسورد دیتابیس، deploy token و متغیرهای CI/CD رو مستقیم بخونه. نسخههای آسیبپذیر از 18.7 تا قبل از 19.1.8 و 19.2.6 و 19.3.2 هستن.
نکتهای که آدم رو میترسونه سرعتشه: باگ ۱۰ سپتامبر اعلام شد و ظرف ۲۴ ساعت اسکن و تلاش برای اکسپلویت تو دنیای واقعی شروع شده بود. CISA هم سریع اضافهش کرد به لیست باگهای در حال اکسپلویت.
اگه گیتلب self-hosted داری و پابلیکه، دو تا کار: آپدیت کن، و لاگها رو بگرد دنبال ریکوئست POST به مسیر commits که پارامتر file.path داشته باشه. اگه چیزی پیدا کردی، همه توکنها و کلیدها رو عوض کن.
لینک: https://securityaffairs.com/198945/hacking/gitlab-cve-2026-85706-one-http-request-no-authentication-full-file-read-exploited-within-24-hours.html
@samonio #samonio
Security Affairs
GitLab CVE-2026-85706: One HTTP Request, No Authentication, Full File Read – Exploited Within 24 Hours
CVE-2026-85706, a CVSS 10.0 GitLab path traversal, was under active exploitation within 24 hours of disclosure.
😱2👍1
کلادفلر یک چیز جالب دربارهی اتصالش به origin سرورها منتشر کرده. توی TLS 1.3 کلاینت باید همون توی اولین پکت حدس بزنه سرور چه الگوریتم تبادل کلیدی رو ترجیح میده و اگه اشتباه حدس بزنه سرور HelloRetryRequest میفرسته و یک رفتوبرگشت کامل اضافه خرج میشه. کلادفلر تا الان برای همهی origin ها X25519 میفرستاد، حالا هر origin رو از قبل اسکن میکنه و همون الگوریتمی که خودش ترجیح میده رو اول میفرسته. با این کار نرخ HelloRetryRequest از حدود ۵۲ درصد به ۳.۷ درصد رسیده و توی p90 بیشتر از ۱۵۰ میلیثانیه از تاخیر هندشیک کم شده. اولویت اولشون هم الگوریتم پساکوانتومی X25519MLKEM768 هست، برای همین کلی دامنه بدون اینکه تنظیمی عوض کنن اتصال origin شون پساکوانتومی شده.
https://blog.cloudflare.com/automatic-key-exchange-for-origins/
@samonio #samonio
https://blog.cloudflare.com/automatic-key-exchange-for-origins/
@samonio #samonio
Cloudflare Blog
Automatic Key Exchange: faster, post-quantum secure origin handshakes for 45 billion daily connections (and counting)
Automatic Key Exchange probes TLS 1.3-capable customer origins to learn which key agreement algorithms they support. We then lead with the most secure algorithm when connecting to the origin, preferring post-quantum connections wherever the origin supports…
اوبر یک مقاله خوب منتشر کرده درباره اینکه چطوری جلوی retry storm رو میگیره، و چون خودش یک مشکل کلاسیک بکاند هست ارزش داره از اول توضیح داده بشه.
اول اینکه retry storm چیه. تو معماری میکروسرویس، سرویسها زنجیرهوار همدیگه رو صدا میزنن. فرض کن سرویس A سرویس B رو صدا میزنه، B سرویس C رو، و همینطور تا ته زنجیره. حالا اگه یکی از سرویسهای ته زنجیره خراب بشه، هر سرویسی که بالاسرشه میبینه جواب نگرفته و دوباره تلاش میکنه. مشکل اینجاست که این ریترایها روی هم ضرب میشن نه جمع. اوبر خودش فرمولش رو نوشته: اگه هر لایه فقط یک بار ریترای کنه و خطا شش لایه عمق داشته باشه، سرویس خراب هشت برابر ترافیک عادی میخوره. یعنی دقیقا وقتی یک سرویس داره زور میزنه سرپا بمونه، بیشترین فشار بهش وارد میشه و همون ضربه آخر رو میزنه.
راه حل معمول این وسط retry budget هست، یعنی هر سرویس اجازه داره فقط درصد مشخصی از درخواستهاش رو ریترای کنه. این کمک میکنه، با بودجه ۱۰ درصد اون ۸ برابر میشه حدود ۱.۳۳ برابر، ولی مشکل اصلی رو حل نمیکنه: هیچ سرویسی نمیدونه خطایی که دیده مال خودِ سرویس پایینیه یا فقط از ته زنجیره رد شده و رسیده بهش. برای همین همه دارن کورکورانه ریترای میزنن.
کاری که اوبر کرده اینه که هر خطا یک صاحب داشته باشه. منطقش سادهست: اگه یک سرویس خطا برگردونه در حالی که هیچکدوم از سرویسهای پاییندستیش خطا نداده، پس خودش منشا خطاست و اون رو claim میکنه. ولی اگه خطا از پایین اومده، سرویس فقط علامت بیماریه نه علتش، و خطا رو unclaim شده رد میکنه بالا. بعد قانون ریترای میشه: فقط سرویسی که مستقیم بالای صاحب خطاست حق ریترای داره؛ بقیه که هدر unclaimed رو میبینن اصلا ریترای نمیزنن. همه اینها هم تو خود service mesh پیاده شده، پس سرویسها بدون اینکه کدشون عوض بشه این محافظت رو ارث میبرن.
نتیجهاش رو تو قطعی ۱۸ نوامبر ۲۰۲۵ خودشون اندازه گرفتن، جایی که یک سرویس حیاتی بیشتر از پنج لایه عمق شروع کرد به خطا دادن. با retry budget معمولی، ترافیک روی همون سرویس خراب ۴۶ تا ۱۳۵ درصد بالا میرفت. بعضی از سرویسهای بالادستی به تنهایی از فرستادن تا ۲۰۰ هزار درخواست اضافه جلوگیری شدن و در کل mesh حدود ۹.۵ میلیون درخواست الکی متوقف شد. عددی که بیشتر از همه گویاست اینه: عمق حداکثری که یک retry storm میتونست توش پخش بشه از ۲۵ لایه رسید به ۳ لایه، و میانگینش از ۲۰ به ۲.
لینک: https://www.uber.com/us/en/blog/protecting-against-retry-storms/
@samonio #samonio
اول اینکه retry storm چیه. تو معماری میکروسرویس، سرویسها زنجیرهوار همدیگه رو صدا میزنن. فرض کن سرویس A سرویس B رو صدا میزنه، B سرویس C رو، و همینطور تا ته زنجیره. حالا اگه یکی از سرویسهای ته زنجیره خراب بشه، هر سرویسی که بالاسرشه میبینه جواب نگرفته و دوباره تلاش میکنه. مشکل اینجاست که این ریترایها روی هم ضرب میشن نه جمع. اوبر خودش فرمولش رو نوشته: اگه هر لایه فقط یک بار ریترای کنه و خطا شش لایه عمق داشته باشه، سرویس خراب هشت برابر ترافیک عادی میخوره. یعنی دقیقا وقتی یک سرویس داره زور میزنه سرپا بمونه، بیشترین فشار بهش وارد میشه و همون ضربه آخر رو میزنه.
راه حل معمول این وسط retry budget هست، یعنی هر سرویس اجازه داره فقط درصد مشخصی از درخواستهاش رو ریترای کنه. این کمک میکنه، با بودجه ۱۰ درصد اون ۸ برابر میشه حدود ۱.۳۳ برابر، ولی مشکل اصلی رو حل نمیکنه: هیچ سرویسی نمیدونه خطایی که دیده مال خودِ سرویس پایینیه یا فقط از ته زنجیره رد شده و رسیده بهش. برای همین همه دارن کورکورانه ریترای میزنن.
کاری که اوبر کرده اینه که هر خطا یک صاحب داشته باشه. منطقش سادهست: اگه یک سرویس خطا برگردونه در حالی که هیچکدوم از سرویسهای پاییندستیش خطا نداده، پس خودش منشا خطاست و اون رو claim میکنه. ولی اگه خطا از پایین اومده، سرویس فقط علامت بیماریه نه علتش، و خطا رو unclaim شده رد میکنه بالا. بعد قانون ریترای میشه: فقط سرویسی که مستقیم بالای صاحب خطاست حق ریترای داره؛ بقیه که هدر unclaimed رو میبینن اصلا ریترای نمیزنن. همه اینها هم تو خود service mesh پیاده شده، پس سرویسها بدون اینکه کدشون عوض بشه این محافظت رو ارث میبرن.
نتیجهاش رو تو قطعی ۱۸ نوامبر ۲۰۲۵ خودشون اندازه گرفتن، جایی که یک سرویس حیاتی بیشتر از پنج لایه عمق شروع کرد به خطا دادن. با retry budget معمولی، ترافیک روی همون سرویس خراب ۴۶ تا ۱۳۵ درصد بالا میرفت. بعضی از سرویسهای بالادستی به تنهایی از فرستادن تا ۲۰۰ هزار درخواست اضافه جلوگیری شدن و در کل mesh حدود ۹.۵ میلیون درخواست الکی متوقف شد. عددی که بیشتر از همه گویاست اینه: عمق حداکثری که یک retry storm میتونست توش پخش بشه از ۲۵ لایه رسید به ۳ لایه، و میانگینش از ۲۰ به ۲.
لینک: https://www.uber.com/us/en/blog/protecting-against-retry-storms/
@samonio #samonio
👍1
گوگل یک ابزار متنباز به اسم AX داده بیرون برای اجرای agent ها، با همون منطق کوبرنتیز: تسک رو توی یک فایل YAML تعریف میکنی و با ax apply اجراش میکنی.
هر تسک توی یک سندباکس جدا با محدودیت CPU و رم بالا میاد، شبکهش فقط به یک لیست مشخص از هاستها وصل میشه، و با ax ssh میتونی بری داخلش ببینی agent داره چیکار میکنه.
جالبترین بخشش suspend و resume هست؛ agentی که منتظر جواب مدل مونده چکپوینت میشه و بعدا زیر یک ثانیه برمیگرده، که یعنی منابع بیکار نمیمونه.
با Go نوشته شده و لایسنسش Apache 2.0 ـه، ولی خودشون تو README هشدار دادن هنوز پایدار نیست و API ش ممکنه تغییر کنه.
لینک: https://github.com/google/ax
@samonio #samonio
هر تسک توی یک سندباکس جدا با محدودیت CPU و رم بالا میاد، شبکهش فقط به یک لیست مشخص از هاستها وصل میشه، و با ax ssh میتونی بری داخلش ببینی agent داره چیکار میکنه.
جالبترین بخشش suspend و resume هست؛ agentی که منتظر جواب مدل مونده چکپوینت میشه و بعدا زیر یک ثانیه برمیگرده، که یعنی منابع بیکار نمیمونه.
با Go نوشته شده و لایسنسش Apache 2.0 ـه، ولی خودشون تو README هشدار دادن هنوز پایدار نیست و API ش ممکنه تغییر کنه.
لینک: https://github.com/google/ax
@samonio #samonio
GitHub
GitHub - google/ax: Google's open agentic orchestration runtime
Google's open agentic orchestration runtime. Contribute to google/ax development by creating an account on GitHub.
یک باگ بحرانی تو وردپرس وصله شد که مهاجم بدون لاگین هم میتونه ازش استفاده کنه. شمارهاش CVE-2026-87902 هست و از مسیر انتخاب قالب صفحه میاد، همون get_page_template().
مشکل اینه که میشه مسیر رو طوری دستکاری کرد که یک فایل php دلخواه از بیرون پوشه قالب include بشه. اگر دو تا شرط با هم جمع بشن کار به اجرای کد میرسه: قالب فعال یک پوشه داشته باشه که اسمش با page- شروع میشه (مثل Twenty Twelve و Twenty Fourteen و قالبهای Neve و Hestia و Sydney) و روی سرور هم register_argc_argv روشن باشه، که ایمیج رسمی php تو داکر همینطوره.
نسخه ۷.۱.۲ فیکسش کرده و وصله رو تا شاخه ۴.۷ هم بکپورت کردن. اگر جایی وردپرس بالا دارید، آپدیت کردنش از کارهاییه که نباید بندازید فردا.
لینک: https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp
@samonio #samonio
مشکل اینه که میشه مسیر رو طوری دستکاری کرد که یک فایل php دلخواه از بیرون پوشه قالب include بشه. اگر دو تا شرط با هم جمع بشن کار به اجرای کد میرسه: قالب فعال یک پوشه داشته باشه که اسمش با page- شروع میشه (مثل Twenty Twelve و Twenty Fourteen و قالبهای Neve و Hestia و Sydney) و روی سرور هم register_argc_argv روشن باشه، که ایمیج رسمی php تو داکر همینطوره.
نسخه ۷.۱.۲ فیکسش کرده و وصله رو تا شاخه ۴.۷ هم بکپورت کردن. اگر جایی وردپرس بالا دارید، آپدیت کردنش از کارهاییه که نباید بندازید فردا.
لینک: https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-7hp8-65ch-5whp
@samonio #samonio
GitHub
Unauthenticated path traversal in page-template resolution leading to conditional RCE
An unauthenticated attacker can make `get_page_template()` page-template resolution include a chosen readable local `.php` file outside the active theme directories. If relevant pre-conditions for ...
Forwarded from Dataphile
این بررسی رو گستردهتر انجام دادم و آلودگی صوتی و ترافیک اطراف مدارس تمام ایران رو محاسبه کردم.
https://vahidbaghi.ir/blog/posts/72.html
https://vahidbaghi.ir/blog/posts/72.html
vahidbaghi.ir
بلندگوی مدرسه تا کجا صداش میاد؟!
یه نقشه از مدارس تهران داشتم که دور هر مدرسه یه دایره ۲۰۰ متری کشیده بود. گفتم بیام دقیقش کنم. صدای بلندگوی هر مدرسه واقعا تا کجا میره و موقع تعطیلی کدوم کوچه ها قفل میشن؟
یک باگ امنیتی جدی دیگه توی هسته وردپرس گزارش شده به اسم Click2Shell که به مهاجم اجازه میده روی سرور کد PHP اجرا کنه.
روش کارش اینه: مهاجم یک لینک پیشنمایش قالب دستکاریشده میسازه. اگر ادمین لاگینشده روی این لینک کلیک کنه، بهخاطر یک باگ توی jQuery selector، مرورگر بدون تأیید دکمه «نصب» قالب رو کلیک میکنه. وردپرس اون قالب رو از مخزن رسمی دانلود و فایلهای PHP اون رو قبل از فعالسازی لود میکنه، که در ترکیب با یک باگ توی همون قالب منجر به اجرای کد (RCE) میشه.
این آسیبپذیری توی نسخه 7.1.1 وردپرس برطرف شده. اگر وردپرس دارید و خودکار آپدیت نشده، دستی به 7.1.1 یا بالاتر (همین حالا 7.1.2 هم اومده) ارتقا بدید.
لینک: https://pwn.ai/blog/click2shell
@samonio #samonio
روش کارش اینه: مهاجم یک لینک پیشنمایش قالب دستکاریشده میسازه. اگر ادمین لاگینشده روی این لینک کلیک کنه، بهخاطر یک باگ توی jQuery selector، مرورگر بدون تأیید دکمه «نصب» قالب رو کلیک میکنه. وردپرس اون قالب رو از مخزن رسمی دانلود و فایلهای PHP اون رو قبل از فعالسازی لود میکنه، که در ترکیب با یک باگ توی همون قالب منجر به اجرای کد (RCE) میشه.
این آسیبپذیری توی نسخه 7.1.1 وردپرس برطرف شده. اگر وردپرس دارید و خودکار آپدیت نشده، دستی به 7.1.1 یا بالاتر (همین حالا 7.1.2 هم اومده) ارتقا بدید.
لینک: https://pwn.ai/blog/click2shell
@samonio #samonio
PWN.AI
Click2Shell: Preauth WordPress Core Theme Preview Injection to RCE Chain
A pre-authentication Theme Injection to RCE chain in WordPress Core that allows unauthenticated attackers to achieve remote code execution on any default WordPress installation through a single click.
شرکت Identity Digital رسماً در دور جدید برنامه ثبت دامنههای آیکان (ICANN) برای ثبت دامنه سطح بالای lan. درخواست داده. این موضوع برای مهندسهای شبکه و مدیران سیستم زنگ خطر بزرگیه چون سالهاست روترهای خانگی و سیستمهای متنباز محبوبی مثل OpenWrt به صورت پیشفرض از پسوند lan. برای دستگاههای داخل شبکه محلی (مثل router.lan یا تجهیزات هوشمند) استفاده میکنن.
برخلاف پسوندهایی مثل local. که برای mDNS رزرو شده یا internal. که اخیراً توسط آیکان به عنوان دامنه خصوصی ثبت شد، پسوند lan. هیچ استاندارد RFC رسمی برای رزرو شدن نداره. اگر این دامنه به عنوان یک TLD عمومی به اینترنت اضافه و فروخته بشه، حجم زیادی از ترافیک و کوئریهای داخلی شبکهها به سمت روت سرورهای اینترنت نشت میکنه (Name Collision) که علاوه بر اختلال در دسترسی محلی، ریسک امنیتی و حریم خصوصی جدی داره.
لینک: https://newgtldprogram-aps.icann.org/applications/CD2694T-T26351/summary
@samonio #samonio
برخلاف پسوندهایی مثل local. که برای mDNS رزرو شده یا internal. که اخیراً توسط آیکان به عنوان دامنه خصوصی ثبت شد، پسوند lan. هیچ استاندارد RFC رسمی برای رزرو شدن نداره. اگر این دامنه به عنوان یک TLD عمومی به اینترنت اضافه و فروخته بشه، حجم زیادی از ترافیک و کوئریهای داخلی شبکهها به سمت روت سرورهای اینترنت نشت میکنه (Name Collision) که علاوه بر اختلال در دسترسی محلی، ریسک امنیتی و حریم خصوصی جدی داره.
لینک: https://newgtldprogram-aps.icann.org/applications/CD2694T-T26351/summary
@samonio #samonio
❤2
در جریان کنفرانس Linux Plumbers، تیم مهندسی متا معماری جدیدی به اسم CRAM (مخفف Compressed RAM) برای فشردهسازی حافظه در لینوکس معرفی کرد. در روش سنتی لینوکس مثل zram، حافظه فشردهشده به شکل یک دیسک سوآپ (block device) شبیهسازی میشد که همین لایه شبیهسازی دیسک، سربار محاسباتی زیادی به همراه داشت.
ایده اصلی CRAM اینه که به جای وانمود کردن به بلاک دیوایس، رم فشردهشده رو مستقیماً به عنوان یک NUMA Node اختصاصی به کرنل معرفی میکنه. در نتیجه خواندن دادهها با سمانتیک استاندارد حافظه و با سرعت مستقیم DRAM انجام میشه. نتایج تستها نشون میده در سناریوهای خواندن داده، سرعت تا ۴۵۰ برابر بیشتر از zram میشه (حدود ۴۸۹ میلیون عملیات در ثانیه در مقایسه با ۱.۱ میلیون) و حتی در شرایطی که ۲۰ درصد عملیاتها نوشتن باشه، سرعت بیش از ۵ برابر افزایش پیدا میکنه.
لینک: https://www.tomshardware.com/software/linux/new-linux-tech-compresses-memory-in-ram-as-ram-for-452x-speedup-new-cram-method-offers-giant-boost-to-compressed-memory-reads
@samonio #samonio
ایده اصلی CRAM اینه که به جای وانمود کردن به بلاک دیوایس، رم فشردهشده رو مستقیماً به عنوان یک NUMA Node اختصاصی به کرنل معرفی میکنه. در نتیجه خواندن دادهها با سمانتیک استاندارد حافظه و با سرعت مستقیم DRAM انجام میشه. نتایج تستها نشون میده در سناریوهای خواندن داده، سرعت تا ۴۵۰ برابر بیشتر از zram میشه (حدود ۴۸۹ میلیون عملیات در ثانیه در مقایسه با ۱.۱ میلیون) و حتی در شرایطی که ۲۰ درصد عملیاتها نوشتن باشه، سرعت بیش از ۵ برابر افزایش پیدا میکنه.
لینک: https://www.tomshardware.com/software/linux/new-linux-tech-compresses-memory-in-ram-as-ram-for-452x-speedup-new-cram-method-offers-giant-boost-to-compressed-memory-reads
@samonio #samonio
🔥1
یک آسیبپذیری بحرانی با شناسه CVE-2026-107181 در نسخه دسکتاپ تلگرام (تا نسخه 7.2.8) کشف شده که با کلیک روی یک لینک، امکان دسترسی به سشن کاربر و دزدیدن فایلهای محلی سیستم را به مهاجم میدهد. مشکل از ارتباط بین دو پروسس تلگرام (IPC) روی سوکت لوکال شروع میشود؛ جایی که کاراکتر جداکننده سمیکالن escape نشده بود و به مهاجم اجازه میداد دستورات دلخواه خود را تزریق کند.
در کنار این باگ، یک پروتکل داخلی قدیمی به اسم interpret وجود داشت که برای بیلد و انتشار نسخههای رسمی تلگرام ساخته شده بود و میتوانست هر فایلی را بدون تایید کاربر بخواند و به یک چت یا کانال بفرستد. با ترکیب این پروتکل با دانلود خودکار فایلها در گروهها، مهاجم میتوانست فایل سشن لاگین (tdata) یا کلیدهای SSH سیستم را به چنل خودش ارسال کند. این باگ در نسخه 7.2.9 فیکس شده، ولی داشتن لوکال پسکد روی دسکتاپ و خاموش کردن دانلود خودکار فایلها هم جلوی سوءاستفاده از آن را میگیرد.
لینک: https://beaksec.github.io/posts/telegram-desktop-one-click-account-takeover/
@samonio #samonio
در کنار این باگ، یک پروتکل داخلی قدیمی به اسم interpret وجود داشت که برای بیلد و انتشار نسخههای رسمی تلگرام ساخته شده بود و میتوانست هر فایلی را بدون تایید کاربر بخواند و به یک چت یا کانال بفرستد. با ترکیب این پروتکل با دانلود خودکار فایلها در گروهها، مهاجم میتوانست فایل سشن لاگین (tdata) یا کلیدهای SSH سیستم را به چنل خودش ارسال کند. این باگ در نسخه 7.2.9 فیکس شده، ولی داشتن لوکال پسکد روی دسکتاپ و خاموش کردن دانلود خودکار فایلها هم جلوی سوءاستفاده از آن را میگیرد.
لینک: https://beaksec.github.io/posts/telegram-desktop-one-click-account-takeover/
@samonio #samonio
🐳1
بزرگترین محدودیت شناختهشده دیتابیس SQLite همیشه این بوده که در هر لحظه فقط یک پروسس یا ترد اجازه نوشتن روی فایل رو داره (single-writer) و بقیه نویسندهها باید منتظر بمونن یا با ارور `SQLITE_BUSY` مواجه بشن. حالا یک اکستنشن جالب به اسم sqlite-multiwriter منتشر شده که بدون دستکاری در سورسکد SQLite یا تغییر ساختار جداول، این محدودیت رو برطرف میکنه.
روش کار این اکستنشن از طریق لایه VFS خود SQLite هست؛ هر connection روی یک snapshot اختصاصی کار میکنه و تغییراتش رو در یک WAL خصوصی مینویسه. موقع کامیت، سیستم چک میکنه که اگر ترد دیگهای همون سطرها رو تغییر نداده باشه، تغییرات تایید و در پسزمینه با فایل اصلی مرج میشن. حتی یک قابلیت جالب به اسم rebase داره که اگر دو تراکنش همزمان دو سطر مختلف روی یک صفحه (page) مشترک بنویسن، به جای خطای کانفلیکت، تغییرات رو خودکار بازنویسی میکنه.
طبق بنچمارکها در حالت ۱۶ ترد همزمان، سرعت نوشتن حدود ۵.۷ برابر شده (از ۸ هزار تراکنش در ثانیه به نزدیک ۵۰ هزار) و تاخیر کندترین کامیتها از ۱۵۷ میلیثانیه به حدود ۲ میلیثانیه رسیده، بدون اینکه دیتابیس از استاندارد SQLite خارج بشه.
لینک: https://github.com/sqliteai/sqlite-multiwriter
@samonio #samonio
روش کار این اکستنشن از طریق لایه VFS خود SQLite هست؛ هر connection روی یک snapshot اختصاصی کار میکنه و تغییراتش رو در یک WAL خصوصی مینویسه. موقع کامیت، سیستم چک میکنه که اگر ترد دیگهای همون سطرها رو تغییر نداده باشه، تغییرات تایید و در پسزمینه با فایل اصلی مرج میشن. حتی یک قابلیت جالب به اسم rebase داره که اگر دو تراکنش همزمان دو سطر مختلف روی یک صفحه (page) مشترک بنویسن، به جای خطای کانفلیکت، تغییرات رو خودکار بازنویسی میکنه.
طبق بنچمارکها در حالت ۱۶ ترد همزمان، سرعت نوشتن حدود ۵.۷ برابر شده (از ۸ هزار تراکنش در ثانیه به نزدیک ۵۰ هزار) و تاخیر کندترین کامیتها از ۱۵۷ میلیثانیه به حدود ۲ میلیثانیه رسیده، بدون اینکه دیتابیس از استاندارد SQLite خارج بشه.
لینک: https://github.com/sqliteai/sqlite-multiwriter
@samonio #samonio
🔥2
Forwarded from Matin SenPai (᯽マティ️️ン先輩)
مدل زبانیای که خودش کانتکستش رو مدیریت میکنه
محققهای متا، MIT و دانشگاه واشنگتن روشی به اسم CLM معرفی کردن؛ بهجای خلاصهسازی و فشردهسازی دستی، خود مدل تصمیم میگیره کانتکستش رو چطور ویرایش، نگه داره یا دور بریزه. میگن هم عملکرد بهتر شده هم هزینه محاسباتی کمتر
🔗 منبع
✉️ t.me/MatinSenPaii
محققهای متا، MIT و دانشگاه واشنگتن روشی به اسم CLM معرفی کردن؛ بهجای خلاصهسازی و فشردهسازی دستی، خود مدل تصمیم میگیره کانتکستش رو چطور ویرایش، نگه داره یا دور بریزه. میگن هم عملکرد بهتر شده هم هزینه محاسباتی کمتر
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
اگه Codex CLI (ابزار خط فرمان OpenAI برای کدنویسی با AI) رو آپدیت کردید، احتمالا الان یک پروسس پسزمینه روی سیستمتون اجرا میشه که خودتون روشنش نکردید.
از نسخه 0.157 به بعد، با باز کردن یک سشن معمولی، Codex یک daemon دائمی بالا میاره که حتی بعد از بستن همه پنجرهها هم خاموش نمیشه. کنارش یک updater هم هست که هر ساعت آپدیت چک میکنه، نسخه جدید رو دانلود و daemon رو ریاستارت میکنه، یعنی نسخهای که واقعا اجرا میشه لزوما همونی نیست که با npm یا brew نصب کردید.
برای خاموش کردنش دستور codex features disable daemon_auto_start و بعد codex app-server daemon stop رو بزنید. طبق گزارشها پروسس updater با این دستور بسته نمیشه و باید دستی kill بشه.
یک سرور مشترک برای اپ دسکتاپ منطقیه، ولی از یک ابزار CLI انتظار میره با بستن پنجره کارش تموم بشه، نه اینکه بیخبر یک سرویس دائمی و خودآپدیتشونده روی سیستم بذاره.
لینک: https://github.com/openai/codex/issues/48195
@samonio #samonio
از نسخه 0.157 به بعد، با باز کردن یک سشن معمولی، Codex یک daemon دائمی بالا میاره که حتی بعد از بستن همه پنجرهها هم خاموش نمیشه. کنارش یک updater هم هست که هر ساعت آپدیت چک میکنه، نسخه جدید رو دانلود و daemon رو ریاستارت میکنه، یعنی نسخهای که واقعا اجرا میشه لزوما همونی نیست که با npm یا brew نصب کردید.
برای خاموش کردنش دستور codex features disable daemon_auto_start و بعد codex app-server daemon stop رو بزنید. طبق گزارشها پروسس updater با این دستور بسته نمیشه و باید دستی kill بشه.
یک سرور مشترک برای اپ دسکتاپ منطقیه، ولی از یک ابزار CLI انتظار میره با بستن پنجره کارش تموم بشه، نه اینکه بیخبر یک سرویس دائمی و خودآپدیتشونده روی سیستم بذاره.
لینک: https://github.com/openai/codex/issues/48195
@samonio #samonio