اگه دوست دارید مدلهای open source بزرگ زبانی رو تو سیستم محلیتون ران کنید (مثلا gemma گوگل) میتونید از این پروژه استفاده کنید:
https://lmstudio.ai/
رابط کاربری نسبتا خوبی داره و نصبش هم نسبتا آسونه. فقط نیاز به سختافزار خوب مخصوصا رم زیاد دارید که کرش نکنه. حجم مدلها هم حدود ۲ تا ۶ گیگه که باید هر کدوم خواستید رو دانلود کنید.
https://lmstudio.ai/
رابط کاربری نسبتا خوبی داره و نصبش هم نسبتا آسونه. فقط نیاز به سختافزار خوب مخصوصا رم زیاد دارید که کرش نکنه. حجم مدلها هم حدود ۲ تا ۶ گیگه که باید هر کدوم خواستید رو دانلود کنید.
LM Studio
LM Studio - Download and run LLMs on your computer
Run gpt-oss, Llama, Gemma, Qwen, and DeepSeek locally and privately.
🔥3👍1
یه مفهومی که توی توسعه نرمافزار تو شرکتهای بزرگ گاها به کار میره inner source هستش.
جریان چیه؟ به طور خلاصه میگه که ما بیایم سورس نرمافزار رو برای همهی اعضای شرکت (حتی غیر تکنیکالها مثل پروداکتمنیجرها) باز کنیم و مثل یه نرمافزار open source هرکس که دلش خواست بیاد مشارکت کنه و تا حدی از مزایای توسعهی نرمافزار متنباز استفاده کنیم.
حالا کاربردش چیه؟ چند تا مورد رو نوشته که تو لینک اگه خواستید بخونید ولی یکیش که برا من جالب بود اینه که یه دولوپر که میخواد یه چیزی رو پیادهسازی کنه میتونه ببینه الان تو شرکت مشابهش هست یا نه و code reuse بهتر میشه. یا حتی اگه بدونه که هست دیگه لازم نیست پیگیری کنه دسترسی بگیره به کد اون یکی تیم.
از طرفی احتمالا تشویق میشن تیمها که داکیومنت بنویسن و داک بهتری هم بنویسن که بتونن از کمک دولوپرهای دیگه استفاده کنن و به این ترتیب هم کد بهتری خواهیم داشت و هم دولوپرهای فعالتر و مشتاقتر و داکیومنت بهتری.
https://about.gitlab.com/topics/version-control/what-is-innersource/
جریان چیه؟ به طور خلاصه میگه که ما بیایم سورس نرمافزار رو برای همهی اعضای شرکت (حتی غیر تکنیکالها مثل پروداکتمنیجرها) باز کنیم و مثل یه نرمافزار open source هرکس که دلش خواست بیاد مشارکت کنه و تا حدی از مزایای توسعهی نرمافزار متنباز استفاده کنیم.
حالا کاربردش چیه؟ چند تا مورد رو نوشته که تو لینک اگه خواستید بخونید ولی یکیش که برا من جالب بود اینه که یه دولوپر که میخواد یه چیزی رو پیادهسازی کنه میتونه ببینه الان تو شرکت مشابهش هست یا نه و code reuse بهتر میشه. یا حتی اگه بدونه که هست دیگه لازم نیست پیگیری کنه دسترسی بگیره به کد اون یکی تیم.
از طرفی احتمالا تشویق میشن تیمها که داکیومنت بنویسن و داک بهتری هم بنویسن که بتونن از کمک دولوپرهای دیگه استفاده کنن و به این ترتیب هم کد بهتری خواهیم داشت و هم دولوپرهای فعالتر و مشتاقتر و داکیومنت بهتری.
https://about.gitlab.com/topics/version-control/what-is-innersource/
Gitlab
What is InnerSource?
GitLab streamlines software development with comprehensive version control and collaboration
👍16
نوشتههای ترمینالی
اگه دوست دارید مدلهای open source بزرگ زبانی رو تو سیستم محلیتون ران کنید (مثلا gemma گوگل) میتونید از این پروژه استفاده کنید: https://lmstudio.ai/ رابط کاربری نسبتا خوبی داره و نصبش هم نسبتا آسونه. فقط نیاز به سختافزار خوب مخصوصا رم زیاد دارید که کرش…
این lmstudio که دیروز معرفی کردم، علاوه بر اینکه امکان چت توی guiش رو داره، یه api خوب هم میاره بالا که میتونید ازش استفاده کنید.
برای مثال میتونید از نرمافزار mods استفاده کنید تا توی ترمینال دسترسی به این LLMها داشته باشید، حالا mods میتونه به اکانت open aiتون وصل بشه یا به همین مدلها که لوکال در حال اجرا هستند.
https://github.com/charmbracelet/mods
برای مثال میتونید از نرمافزار mods استفاده کنید تا توی ترمینال دسترسی به این LLMها داشته باشید، حالا mods میتونه به اکانت open aiتون وصل بشه یا به همین مدلها که لوکال در حال اجرا هستند.
https://github.com/charmbracelet/mods
GitHub
GitHub - charmbracelet/mods: AI on the command line
AI on the command line. Contribute to charmbracelet/mods development by creating an account on GitHub.
👍2
اگر با pdf کار میکنید از این Stirling غافل نباشید.
یه ابزار همهی کارهی pdfئه و بالا آوردنش هم با docker خیلی راحته.
بهتون هر امکانی که هر سایت دیگهای میده رو میده بدون تبلیغ و مشکل.
لیست امکاناتش هم اینجا ببینید:
https://github.com/Stirling-Tools/Stirling-PDF/tree/main
یه ابزار همهی کارهی pdfئه و بالا آوردنش هم با docker خیلی راحته.
بهتون هر امکانی که هر سایت دیگهای میده رو میده بدون تبلیغ و مشکل.
لیست امکاناتش هم اینجا ببینید:
https://github.com/Stirling-Tools/Stirling-PDF/tree/main
👍7❤2
یه مطلب خوب و پایه ای در مورد رمزارزها و ریاضیات پشتشون
https://rsharifnasab.blog.ir/1398/03/25/%D8%B1%D9%88%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%B1%D9%85%D8%B2%D8%A7%D8%B1%D8%B2%D9%87%D8%A7-%D8%A7%D8%B2-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%B4-%D8%AA%D8%A7-%D8%A8%D9%84%D8%A7%DA%A9-%DA%86%DB%8C%D9%86
https://rsharifnasab.blog.ir/1398/03/25/%D8%B1%D9%88%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%B1%D9%85%D8%B2%D8%A7%D8%B1%D8%B2%D9%87%D8%A7-%D8%A7%D8%B2-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%B4-%D8%AA%D8%A7-%D8%A8%D9%84%D8%A7%DA%A9-%DA%86%DB%8C%D9%86
rsharifnasab.blog.ir
روش کار رمز ارزها از الگوریتم هش تا بلاکچین :: نوشته های روزبه شریف نسب
در این
مطلب قرار است با هم چند نکته در مورد نحوه
کار رمزارزها با محوریت بیتکوین و
کمی عمیقتر، بلاک چین و الگوریتم های
هش بیاموزیم.
مطلب قرار است با هم چند نکته در مورد نحوه
کار رمزارزها با محوریت بیتکوین و
کمی عمیقتر، بلاک چین و الگوریتم های
هش بیاموزیم.
❤5👍3
Forwarded from آرچ لینوکس پارسی (Mohammadreza)
کلودفلر سرویس میروری برای آرچ لینوکس راه اندازی کرده که نزدیکترین میرور از بین لیست میرورهای آرچ را برای ما انتخاب و درخواستها را به آن میرور ارسال میکند و در صورت موجود بودن بسته ها در کش بسته ها را از کش ارسال میکند.
برای استفاده از این سرویس میرور کافی است خط زیر را
به ابتدای لیست میرورها در فایل
برای استفاده از این سرویس میرور کافی است خط زیر را
Server = https://cloudflaremirrors.com/archlinux/$repo/os/$arch
به ابتدای لیست میرورها در فایل
/etc/pacman.d/mirrorlistاضافه کنید. و سپس با دستور
sudo pacman -Syyuدیتابیس پکمن را آپدیت نمایید.
👍9❤3😱1
برای کم کردن حجم دیتا کارهای مختلف میشه کرد، یکی از روشهای کم کردن حجم loseless، کدگذاری پترنهای پرتکرار دیتائه، به این ترتیب پترنهای پرتکرار حجمشون کم میشه ولی پترنهای کمتکرار احتمالا حجمشون بیشتر میشه. پس خیلی مهمه که بتونیم به شکل مناسب کمحجمها رو پیدا کنیم.
توی این مطلب هم یه ایده زدن برای پیدا کردن پترنهای پرتکرار توی عکس با کمک یادگیری عمیق
https://bair.berkeley.edu/blog/2019/09/19/bit-swap/
توی این مطلب هم یه ایده زدن برای پیدا کردن پترنهای پرتکرار توی عکس با کمک یادگیری عمیق
https://bair.berkeley.edu/blog/2019/09/19/bit-swap/
The Berkeley Artificial Intelligence Research Blog
A Deep Learning Approach to Data Compression
The BAIR Blog
👍4
اگه دوست دارید تو فیلد امنیت کار کنید این مطلب توصیهها و منابع خوبی داره:
https://shellsharks.com/getting-into-information-security
این قسمت هم به طور خاص به پادکستها و جامعههای فعال تو حوزه امنیت میپردازه:
https://shellsharks.com/getting-into-information-security#online-communities
https://shellsharks.com/getting-into-information-security
این قسمت هم به طور خاص به پادکستها و جامعههای فعال تو حوزه امنیت میپردازه:
https://shellsharks.com/getting-into-information-security#online-communities
shellsharks
Getting Into Information Security
A field-guide for getting into information security.
❤8👍1👏1
ردیس، در یک اقدام لایسنسش رو برای نسخه های بعدی، از bsd به یه حالت dual license تغییر داد.
لینک بلاگشون:
https://redis.com/blog/redis-adopts-dual-source-available-licensing/
لینک بلاگشون:
https://redis.com/blog/redis-adopts-dual-source-available-licensing/
Redis
Redis Adopts Dual Source-Available Licensing | Redis
Developers love Redis. Unlock the full potential of the Redis database with Redis Enterprise and start building blazing fast apps.
🤔5👍2
اگه کاربر حرفهای ترمینال هستین (که کلا این چنل برای شماست اگه اینطوریه!) احتمالا اسم kitty و alacritty به گوشتون خورده. ترمینالهایی که با استفاده از gpu پردازششون رو انجام میدن و مصرف پردازنده کمتر به همراه سرعت بیشتر (انشالا!) رو به ارمغان میارن.
یه ترمینال دیگهای که دیدم که مزایای خیلی خوبی هم داره ولی توجه زیادی بهش نمیشه Wezterm هستش که توسط یه اقایی به اسم Wez توسعه داده میشه. این هم همون مزایا رو داره ولی کانفیگش با luaئه و مزیت بزرگش اینه که تو سیستمعاملهای مختلف با همون کانفیگ خودتون میتونه همونطوری کار کنه. (حتی ویندوز و مک!)
اینجا میتونید یه مقدار در مورد تفاوت هاشون بخونید:
https://github.com/wez/wezterm/discussions/1769
اینجا هم یه مقدار به نظرات پرداخته:
https://www.reddit.com/r/linux/comments/v86m6o/why_doesnt_wezterm_get_any_attention_compared_to/
خلاصه اینکه خیلیا دوستش داشتن، مخصوصا اونایی که با alacritty کار میکردن ولی خیلی راضی نبودن.
یه ترمینال دیگهای که دیدم که مزایای خیلی خوبی هم داره ولی توجه زیادی بهش نمیشه Wezterm هستش که توسط یه اقایی به اسم Wez توسعه داده میشه. این هم همون مزایا رو داره ولی کانفیگش با luaئه و مزیت بزرگش اینه که تو سیستمعاملهای مختلف با همون کانفیگ خودتون میتونه همونطوری کار کنه. (حتی ویندوز و مک!)
اینجا میتونید یه مقدار در مورد تفاوت هاشون بخونید:
https://github.com/wez/wezterm/discussions/1769
اینجا هم یه مقدار به نظرات پرداخته:
https://www.reddit.com/r/linux/comments/v86m6o/why_doesnt_wezterm_get_any_attention_compared_to/
خلاصه اینکه خیلیا دوستش داشتن، مخصوصا اونایی که با alacritty کار میکردن ولی خیلی راضی نبودن.
GitHub
How does Wezterm compare to Alacritty · wezterm/wezterm · Discussion #1769
What are the differences between these two projects? When should users side with one over the other? Why do we as a Rust community need two different terminals? Do they have different approaches/ph...
👍8❤1
در مورد بایتکد جاوا و jvm اگه میخواید عمیق بدونید این مطلب خوبیه:
https://javacup.ir/bytecode/
https://javacup.ir/bytecode/
👍5🤡1
Forwarded from امین رشیدبیگی | مهندسی نرمافزار
How Netflix builds a culture of excellence | Elizabeth Stone (CTO)
این روزهای تعطیلی اول سال نشستم به خوندن کتاب و دیدن ویدیوهای افراد خوشذهنی مثل Elizabeth Stone. ایشون با وجود این که تحصیلات دانشگاهی اقتصاد دارن، الان CTO شرکت high techای مثل نتفلیکس هستن.
در این مصاحبهٔ Lenny's Podcast در مورد فرهنگ نتفلیکس، پیشرفت شغلی، انتظارات بالای شرکت نتفلیکس و ... صحبت میشه.
چندتا فکت جالب هم در مورد نتفلیکس فهمیدم:
- نتفلیکس مرخصی تعطیلات نامحدود داره!
- قبلاً به این معروف بود که نردبان شغلی و کلا مفهومی به اسم ارتقای شغلی نداره و همه senior و در یک سطح هستن. به همین دلیل performance review هم ندارن. ولی اخیراً یک سطح برای نیروهای fresh و کمتجربهتر ایجاد کردن.
- مدتیه که به دلیل جلوگیری از آسیب زدن به تجربهٔ کاربرهاشون از روش chaos monkey که خودشون مبدعش بودن استفاده نمیکنن و برای اطمینان از مقاومت اجزای سیستم از روشهای دیگری استفاده میکنن.
🔗 لینک پادکست (یوتیوب)
#netflix #podcast
@aminrbg
این روزهای تعطیلی اول سال نشستم به خوندن کتاب و دیدن ویدیوهای افراد خوشذهنی مثل Elizabeth Stone. ایشون با وجود این که تحصیلات دانشگاهی اقتصاد دارن، الان CTO شرکت high techای مثل نتفلیکس هستن.
در این مصاحبهٔ Lenny's Podcast در مورد فرهنگ نتفلیکس، پیشرفت شغلی، انتظارات بالای شرکت نتفلیکس و ... صحبت میشه.
چندتا فکت جالب هم در مورد نتفلیکس فهمیدم:
- نتفلیکس مرخصی تعطیلات نامحدود داره!
- قبلاً به این معروف بود که نردبان شغلی و کلا مفهومی به اسم ارتقای شغلی نداره و همه senior و در یک سطح هستن. به همین دلیل performance review هم ندارن. ولی اخیراً یک سطح برای نیروهای fresh و کمتجربهتر ایجاد کردن.
- مدتیه که به دلیل جلوگیری از آسیب زدن به تجربهٔ کاربرهاشون از روش chaos monkey که خودشون مبدعش بودن استفاده نمیکنن و برای اطمینان از مقاومت اجزای سیستم از روشهای دیگری استفاده میکنن.
🔗 لینک پادکست (یوتیوب)
#netflix #podcast
@aminrbg
YouTube
How Netflix builds a culture of excellence | Elizabeth Stone (CTO)
Elizabeth Stone is the chief technology officer of Netflix. She previously served as vice president of product data science and engineering, and as vice president of data and insights, at Netflix. Before Netflix, Elizabeth was vice president of science at…
👍9🔥4❤3
اگه با گیت کار میکنید احتمالا دستورهای اولیه تو ذهنتون هست مثل add commit push pull که خیلیم خوبه.
ولی یه سری دستورها اضافه شدن که کار رو راحت کنن. مثلا چون با checkout و reset کارهای خیلی متفاوتی میشه انجام داد، در نسخههای جدید switch و restore رو معرفی کردن که بخشی از اون قابلیتها رو به شکل بهتر و قابل به خاطر سپردنتری داره.
این مطلب لیستی از کامندهای مدرن گیت رو بهتون آموزش میده
https://martinheinz.dev/blog/109
ولی یه سری دستورها اضافه شدن که کار رو راحت کنن. مثلا چون با checkout و reset کارهای خیلی متفاوتی میشه انجام داد، در نسخههای جدید switch و restore رو معرفی کردن که بخشی از اون قابلیتها رو به شکل بهتر و قابل به خاطر سپردنتری داره.
این مطلب لیستی از کامندهای مدرن گیت رو بهتون آموزش میده
https://martinheinz.dev/blog/109
martinheinz.dev
Modern Git Commands and Features You Should Be Using
<p>
All of us - software engineers - use <code class="inline">git</code> every day, however most people only ever touch the most basic of commands, such as...
All of us - software engineers - use <code class="inline">git</code> every day, however most people only ever touch the most basic of commands, such as...
❤9👍2🔥2
اگه با فایرفاکس به شکل حرفهای کار میکنید و tabهای باز زیاد دارید، شاید sidebery همون چیزی باشه که دنبالش هستین. برای من خیلی کمک کننده بود که تب هامو در گروههای مختلف منظم کنم و فقط رو یکیش تمرکز کنم.
https://github.com/mbnuqw/sidebery
https://github.com/mbnuqw/sidebery
GitHub
GitHub - mbnuqw/sidebery: Firefox extension for managing tabs and bookmarks in sidebar.
Firefox extension for managing tabs and bookmarks in sidebar. - mbnuqw/sidebery
❤8👍3
در مورد Load Balancing این مطلب از AWS آمازون به نظرم با عمق خوبی مطلب رو باز کرده (و البته یکم تبلیغ خودشو کرده!)
https://aws.amazon.com/what-is/load-balancing/
https://aws.amazon.com/what-is/load-balancing/
Amazon
What is Load Balancing? - Load Balancing Algorithm Explained - AWS
Find out what is Load Balancing and how to use Amazon Web Services for Load Balancing
👍4❤3
یه تجربه با گولنگ که کدشو برای پردازش هزاران خط متن ورودی بهینه کرده.
مخصوصا در مورد memory allocationها دید خوبی میده و جالبه اگه به پرفورمنس علاقه دارید بخونید:
https://benhoyt.com/writings/go-1brc/
مخصوصا در مورد memory allocationها دید خوبی میده و جالبه اگه به پرفورمنس علاقه دارید بخونید:
https://benhoyt.com/writings/go-1brc/
Benhoyt
The One Billion Row Challenge in Go: from 1m45s to 3.4s in nine solutions
How I solved the One Billion Row Challenge (1BRC) in Go nine times, from a simple unoptimised version that takes 1 minute 45 seconds, to an optimised and parallelised version that takes 3.4 seconds.
👍7❤2⚡1
بچه ها چه از firefox استفاده میکنید چه کروم، مرورگرهاتون رو آپدیت کنید. این هفته برای هردوشون zero day کشف شده.
کروم-بیس ها:
https://www.ghacks.net/2024/03/29/microsoft-edge-fixes-0-day-vulnerability-confirms-all-chromium-based-browsers-vulnerable/
فایرفاکس:
https://chipp.in/security-privacy/firefox-124-0-1-fixes-two-critical-security-issues/
و البته قابل حدسه که هردو از مشکلات سی دارن استفاده میکنن. اولی use rafter free و دومی out of bound access (و یه چیز دیگه). تازه این کدیه که بهترین مهندسها نوشتن و هزاران مدل تست شده و هزاران متخصص میبینن این کدها رو.
کروم-بیس ها:
https://www.ghacks.net/2024/03/29/microsoft-edge-fixes-0-day-vulnerability-confirms-all-chromium-based-browsers-vulnerable/
فایرفاکس:
https://chipp.in/security-privacy/firefox-124-0-1-fixes-two-critical-security-issues/
و البته قابل حدسه که هردو از مشکلات سی دارن استفاده میکنن. اولی use rafter free و دومی out of bound access (و یه چیز دیگه). تازه این کدیه که بهترین مهندسها نوشتن و هزاران مدل تست شده و هزاران متخصص میبینن این کدها رو.
ghacks.net
Microsoft Edge fixes 0-day vulnerability: confirms all Chromium-based browsers vulnerable
Microsoft released a security update for its Microsoft Edge web browser that patches several security issues, including one critical issue that is exploited in the wild.
❤6👎1
زیبایی نرمافزار تمام شده:
آیا توسعهی یک نرم افزار تمام میشود؟ آیا میتوان گفت یک نرمافزار تمام شده است؟ وقتی ما یک نسخه خوب از یک نرمافزار داریم و استفاده میکنیم آیا نیازی به نسخه جدید آن داریم؟
در این مطلب با استفاده از مثال یک word processor قدیمی، نویسنده توضیح میده که یک نرمافزار میتونه تمام شده باشه و نسخه جدیدی ازش منتشر نشه و هیچ ویژگی جدیدی هم بهش اضافه نشه. مثل پدال گاز ماشینها. اشکالی نداره که به همون شکلی که کار میکرد کار کنه و اشکال نداره که تکراری میشه، به جاش کار میکنه.
میگه مثل سختافزارها که همون شکلی که تحویل میگیرمشون تا وقتی کار میکنن استفاده میکنیم نرمافزار هم میتونه همینطوری باشه. نیازی نیست هرروز یه چیزیش عوض بشه. حتی اگه بهتر بشه باز باید با نسخه جدید عادت بدیم خودمون رو.
https://josem.co/the-beauty-of-finished-software/
آیا توسعهی یک نرم افزار تمام میشود؟ آیا میتوان گفت یک نرمافزار تمام شده است؟ وقتی ما یک نسخه خوب از یک نرمافزار داریم و استفاده میکنیم آیا نیازی به نسخه جدید آن داریم؟
در این مطلب با استفاده از مثال یک word processor قدیمی، نویسنده توضیح میده که یک نرمافزار میتونه تمام شده باشه و نسخه جدیدی ازش منتشر نشه و هیچ ویژگی جدیدی هم بهش اضافه نشه. مثل پدال گاز ماشینها. اشکالی نداره که به همون شکلی که کار میکرد کار کنه و اشکال نداره که تکراری میشه، به جاش کار میکنه.
میگه مثل سختافزارها که همون شکلی که تحویل میگیرمشون تا وقتی کار میکنن استفاده میکنیم نرمافزار هم میتونه همینطوری باشه. نیازی نیست هرروز یه چیزیش عوض بشه. حتی اگه بهتر بشه باز باید با نسخه جدید عادت بدیم خودمون رو.
https://josem.co/the-beauty-of-finished-software/
Jose M. Gilgado
The Beauty of Finished Software
Let me introduce you to WordStar 4.0, a popular word processor from the early 80s.
👍7
نوشتههای ترمینالی
بچه ها چه از firefox استفاده میکنید چه کروم، مرورگرهاتون رو آپدیت کنید. این هفته برای هردوشون zero day کشف شده. کروم-بیس ها: https://www.ghacks.net/2024/03/29/microsoft-edge-fixes-0-day-vulnerability-confirms-all-chromium-based-browsers-vulnerable/ فایرفاکس:…
آسیبپذیری های نرمافزارها این روزها همچنان ادامه داره
روز ۲۹ مارچ یه آسیبپذیری روی xz کشف شده، ولی تفاوتش با آسیبپذیری های معمولی اینه که این، به شکل عمدی توی نرمافزار توسط یکی از maintainer ها با ۲ سال سابقه جاگذاری شده. این خیلی ترسناک میکنه قضیه رو، چون هم اینطوریه که کدی که روی ریپوزیتوری بوده رو عینا نگذاشته بلکه تو tarball یه سری اسکریپت مخرب هم گذاشته. دوم اینکه این آدم در چند تا پروژه مرتبط دور و نزدیک هم مشارکت داشته و احتمال این میره که اونا هم آلوده شده باشند.
سوال: آسیبپذیری از چه نوعیه؟ چه بلایی ممکنه سرمون بیاد؟ آسیبپذیری از نوع پرخطرترین آسیبپذیری هاست یعنی remote code execution یا همون RCE. به این معنی که هکر میتونه رو سیستم شما، هر کدی که بخواد رو اجرا کنه بدون اینکه شما خبر داشته باشید یا نیاز باشه کاری بکنید! در واقع مثل اینه که دسترسی shell داره به سیستم شما.
سوال: اصلا xz چیه؟ لازمه نگرانش باشیم؟ این یه ابزار برا کاربا فایلهای زیپ هست که به احتمال خیلی بالایی رو سیستمتون نصبه. مخصوصا اگه یه توزیع لینوکس مرسوم دارید که از ابزارهای گنو و libc استفاده میکنید.
سوال: لازمه فایل زیپ مخربی باز کنم؟ من زیپ هامو با به ابزار دیگه باز میکنم.
دقت کنید که این ابزار تو کلی از ابزارهای دیگه هم استفاده میشه پس صرف اینکه مستقیم ازش استفاده نمیکنیم به این معنی نیست که نصب نداریمش، مثلا اکثر guiها خودشون منطق باز کردن فایل زیپ رو پیاده سازی نمیکنن و از ابزارهای موجود مثل همین xz استفاده میکنن.
دوم اینکه مدل آسیب پذیری نیازی به اقدامی از سمت شما نداره!
سوال: آیا سیستم من آسیبپذیره؟ احتمالا بله. دقت کنید که اصلا نیاز نیست شما فایل زیپ باز کنید، همین که نسخه آسیبپذیر به همراه glibc و systemd و sshd رو سیستمتون باشه، سیستم شما یه در پشتی برای attacker داره. البته اسکریپت مخرب رو که بررسی کردت انگار تا حدی جامعه هدفش رو بررسی میکنه مثلا تمرکرشغرو توزیع های Deb و Rpm بیس و پردازنده های AMD64 هست.
سوال: نسخه اسیر پذیر کدومه؟ میتونم حذفش کنم؟ نسخه های ۵.۶.۰ و ۵.۶.۱ از xz میدونیم آسیب پذیر هستن ولی شاید ابزارهای دیگه هم آسیبپذیر باشن و کم کم رفع بشن بنابراین سیستمتون رو، مخصوصا اگر با ssh از بیرون بهش دسترسی دارن، مدام آپدیت کنید این روزها تا ببینیم چی میشه.
احتمالا هم نمیتونید xz رو حذف کنید چون عملکرد کلی از نرمافزارها بهش وابستهس، راه منطقی همون آپدیت کردنشه.
البته یکسری داونگرید کردن به نسخه ۵.۴ رو توصیه کردن. یکسری هم گفتن ssh رو غیرفعال کنید ولی تو سرورها شاید غیرمنطقی باشه.
اطلاعات بیشتر:
این صفحه مختصر و مفید توضیح داده و توصیه میشه به عنوان کاربر این نرمافزار بخونید:
https://xeiaso.net/notes/2024/xz-vuln/
این صفحه هم اطلاعات خوبی داشت:
https://www.darkreading.com/vulnerabilities-threats/are-you-affected-by-the-backdoor-in-xz-utils
این صفحه یه جمعبندی از اتفاقات انجام داده:
https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27
این صفحه تو سایت رسمی xz توسط maintainer اصلی (غیرمخرب) نوشته شده
https://tukaani.org/xz-backdoor/
این صفحه هم شامل اسم CVE و لینکهای مرتبط این آسیبپذیری در توزیع های مختلفه.
https://nvd.nist.gov/vuln/detail/CVE-2024-3094
روز ۲۹ مارچ یه آسیبپذیری روی xz کشف شده، ولی تفاوتش با آسیبپذیری های معمولی اینه که این، به شکل عمدی توی نرمافزار توسط یکی از maintainer ها با ۲ سال سابقه جاگذاری شده. این خیلی ترسناک میکنه قضیه رو، چون هم اینطوریه که کدی که روی ریپوزیتوری بوده رو عینا نگذاشته بلکه تو tarball یه سری اسکریپت مخرب هم گذاشته. دوم اینکه این آدم در چند تا پروژه مرتبط دور و نزدیک هم مشارکت داشته و احتمال این میره که اونا هم آلوده شده باشند.
سوال: آسیبپذیری از چه نوعیه؟ چه بلایی ممکنه سرمون بیاد؟ آسیبپذیری از نوع پرخطرترین آسیبپذیری هاست یعنی remote code execution یا همون RCE. به این معنی که هکر میتونه رو سیستم شما، هر کدی که بخواد رو اجرا کنه بدون اینکه شما خبر داشته باشید یا نیاز باشه کاری بکنید! در واقع مثل اینه که دسترسی shell داره به سیستم شما.
سوال: اصلا xz چیه؟ لازمه نگرانش باشیم؟ این یه ابزار برا کاربا فایلهای زیپ هست که به احتمال خیلی بالایی رو سیستمتون نصبه. مخصوصا اگه یه توزیع لینوکس مرسوم دارید که از ابزارهای گنو و libc استفاده میکنید.
سوال: لازمه فایل زیپ مخربی باز کنم؟ من زیپ هامو با به ابزار دیگه باز میکنم.
دقت کنید که این ابزار تو کلی از ابزارهای دیگه هم استفاده میشه پس صرف اینکه مستقیم ازش استفاده نمیکنیم به این معنی نیست که نصب نداریمش، مثلا اکثر guiها خودشون منطق باز کردن فایل زیپ رو پیاده سازی نمیکنن و از ابزارهای موجود مثل همین xz استفاده میکنن.
دوم اینکه مدل آسیب پذیری نیازی به اقدامی از سمت شما نداره!
سوال: آیا سیستم من آسیبپذیره؟ احتمالا بله. دقت کنید که اصلا نیاز نیست شما فایل زیپ باز کنید، همین که نسخه آسیبپذیر به همراه glibc و systemd و sshd رو سیستمتون باشه، سیستم شما یه در پشتی برای attacker داره. البته اسکریپت مخرب رو که بررسی کردت انگار تا حدی جامعه هدفش رو بررسی میکنه مثلا تمرکرشغرو توزیع های Deb و Rpm بیس و پردازنده های AMD64 هست.
سوال: نسخه اسیر پذیر کدومه؟ میتونم حذفش کنم؟ نسخه های ۵.۶.۰ و ۵.۶.۱ از xz میدونیم آسیب پذیر هستن ولی شاید ابزارهای دیگه هم آسیبپذیر باشن و کم کم رفع بشن بنابراین سیستمتون رو، مخصوصا اگر با ssh از بیرون بهش دسترسی دارن، مدام آپدیت کنید این روزها تا ببینیم چی میشه.
احتمالا هم نمیتونید xz رو حذف کنید چون عملکرد کلی از نرمافزارها بهش وابستهس، راه منطقی همون آپدیت کردنشه.
البته یکسری داونگرید کردن به نسخه ۵.۴ رو توصیه کردن. یکسری هم گفتن ssh رو غیرفعال کنید ولی تو سرورها شاید غیرمنطقی باشه.
اطلاعات بیشتر:
این صفحه مختصر و مفید توضیح داده و توصیه میشه به عنوان کاربر این نرمافزار بخونید:
https://xeiaso.net/notes/2024/xz-vuln/
این صفحه هم اطلاعات خوبی داشت:
https://www.darkreading.com/vulnerabilities-threats/are-you-affected-by-the-backdoor-in-xz-utils
این صفحه یه جمعبندی از اتفاقات انجام داده:
https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27
این صفحه تو سایت رسمی xz توسط maintainer اصلی (غیرمخرب) نوشته شده
https://tukaani.org/xz-backdoor/
این صفحه هم شامل اسم CVE و لینکهای مرتبط این آسیبپذیری در توزیع های مختلفه.
https://nvd.nist.gov/vuln/detail/CVE-2024-3094
xeiaso.net
liblzma and xz version 5.6.0 and 5.6.1 are vulnerable to arbitrary code execution compromise
Xe Iaso's personal website.
👍9
نوشتههای ترمینالی
آسیبپذیری های نرمافزارها این روزها همچنان ادامه داره روز ۲۹ مارچ یه آسیبپذیری روی xz کشف شده، ولی تفاوتش با آسیبپذیری های معمولی اینه که این، به شکل عمدی توی نرمافزار توسط یکی از maintainer ها با ۲ سال سابقه جاگذاری شده. این خیلی ترسناک میکنه قضیه رو،…
به بهونه این آسیبپذیری: این آسیبپذیری از نوع زنجیره تامین یا همون supply chain attack هست، یعنی شما برنامه sshتون که در تماس با بیرونه مشکلی نداره، ولی از یه کتابخونه استفاده میکنه (باهاش dynamic link شده) که اون کتابخونه مشکل داره، حالا این باعث میشه که نرمافزار شما آسیبپذیر بشه.
برای همین نیازه که به عنوان کاربر و ادمین سیستم، نرمافزارهایی که نصب میکنیم و مخصوصا نیازمندیهاشون رو با دقت انتخاب کنیم و هرچیزی رو نصب نکنیم
و به عنوان توسعه دهنده سیستم سعی کنیم از کتابخانه ها و به طور کلی dependency هایی استفاده کنیم که واقعا بهشون نیاز داریم. هر کدوم از نیازمندیهای ما میتونن دچار چنین مشکلی بشن و کاربران ما رو تو خطر بندازن. داستان xz به خاطر یک شانس واقعا بود که زود کشف شد، ممکن بود مدتها کشف نشه، علاوه بر اینکه این ابزار فوقالعاده پرکاربرد و امتحان شده بود. اگر از یک کتابخونه که کمتر استفاده شدهس استفاده میکنیم واقعا داریم ریسک میکنیم!
نکته آخر هم اینکه حتی اگر سورس کد رو خوندیم و امنه، بازم به معنی امنیت نرمافزار نیست، چون وقتی ما binary ش رو دانلود میکنیم تضمینی نیست که همون سورس کد کامپایل شده باشه. تو این مورد یه دیتای تست مخرب، در زمانی که تستها اجرا میشد می اومد فایلها رو دستکاری میکرد. هم خلاقانه هم ترسناک.
https://en.m.wikipedia.org/wiki/Supply_chain_attack
برای همین نیازه که به عنوان کاربر و ادمین سیستم، نرمافزارهایی که نصب میکنیم و مخصوصا نیازمندیهاشون رو با دقت انتخاب کنیم و هرچیزی رو نصب نکنیم
و به عنوان توسعه دهنده سیستم سعی کنیم از کتابخانه ها و به طور کلی dependency هایی استفاده کنیم که واقعا بهشون نیاز داریم. هر کدوم از نیازمندیهای ما میتونن دچار چنین مشکلی بشن و کاربران ما رو تو خطر بندازن. داستان xz به خاطر یک شانس واقعا بود که زود کشف شد، ممکن بود مدتها کشف نشه، علاوه بر اینکه این ابزار فوقالعاده پرکاربرد و امتحان شده بود. اگر از یک کتابخونه که کمتر استفاده شدهس استفاده میکنیم واقعا داریم ریسک میکنیم!
نکته آخر هم اینکه حتی اگر سورس کد رو خوندیم و امنه، بازم به معنی امنیت نرمافزار نیست، چون وقتی ما binary ش رو دانلود میکنیم تضمینی نیست که همون سورس کد کامپایل شده باشه. تو این مورد یه دیتای تست مخرب، در زمانی که تستها اجرا میشد می اومد فایلها رو دستکاری میکرد. هم خلاقانه هم ترسناک.
https://en.m.wikipedia.org/wiki/Supply_chain_attack
Wikipedia
Supply chain attack
cyber-attack that seeks to damage an organization by targeting less-secure elements in the supply network
👍9❤1