Файлы мадэляў Hugging Face могуць запускаць схаваны код
Пакеты шкоднасных мадэляў могуць выконваць код падчас небяспечнай загрузкі.
Пакеты шкоднасных мадэляў могуць выконваць код падчас небяспечнай загрузкі. Тры задакументаваныя прыклады тлумачаць зваротныя абалонкі Pickle, паводзіны сканера зламаных файлаў і даследаванае заблытванне імёнаў мадэляў, з дакладнымі абмежаваннямі на прэтэнзіі аб крадзяжы ўліковых дадзеных.
Чытаць пісьмовае выданне (англійская) ↗
Што ахоплівае гэта відэа
- Лікавыя вагі мадэляў, выканальная серыялізацыя і карыстальніцкі код рэпазітара - гэта розныя рэчы.
- JFrog і ReversingLabs задакументавалі зваротныя абалонкі; іх выбраныя справаздачы не пацвярджаюць крадзеж уліковых дадзеных у названых ахвяр.
- Checkmarx Model Confusion быў дэманстрацыяй даследавання, якая патрабавала адпаведнай аддаленай мадэлі і небяспечнай загрузкі.
- Аддавайце перавагу safetensors і выпраўленым загрузчыкам, правярайце і фіксуйце карыстальніцкі код, а таксама ізалюйце незнаёмыя пакеты ад асабістых сакрэтаў і непатрэбнага сеткавага доступу.
Перакладзеная стэнаграма
Перакладзена з арыгінальнай англійскай агучкі. Даступнае аўдыя і субтытры кантралююцца YouTube.
Як спампоўка мадэлі можа запрасіць госця?
0:00 Файл мадэлі - гэта проста лічбы на дыску. Загрузка аднаго шкоднаснага пакета Hugging Face адкрыла аддаленую абалонку, што з'яўляецца амбіцыйнай інтэрпрэтацыяй лакальнага штучнага інтэлекту. Як загрузка становіцца выкананнем? Да якіх сакрэтаў яна можа дабрацца? Што на самай справе яе спыняе? І майце на ўвазе адну загадку. Мадэль можа не загрузіцца пасля таго, як небяспечная частка ўжо адбылася.
0:18 Гэта The Daily Diff, за кулісамі. Hugging Face - гэта платформа для абмену мадэлямі машыннага навучання, наборамі дадзеных і праграмамі. Вагі мадэлі - гэта вывучаныя лічбы. Рэпазітар таксама можа ўтрымліваць канфігурацыю і код Python. Небяспека тут заключаецца ў выканальным пакетаванні, якое трапляе на ваш кампутар, калі вы яго загружаеце. Pickle захоўвае аб'екты Python з інструкцыямі для іх аднаўлення.
Як загрузчык выконвае інструкцыі пасылкі?
0:37 Небяспечны загрузчык можа прытрымлівацца гэтых інструкцый і выклікаць функцыі падчас распакоўкі. Спампоўка байтаў размяшчае пасылку на вашым дыску. Дэсерыялізацыя адкрывае яе. Дзесьці фармат файла быў павышаны да неаплачанага сістэмнага адміністратара. JFrog паведаміў пра Goober Two у лютым 2024 года. Яго карысная нагрузка Pickle адкрыла зваротную абалонку, якая злучылася вонкі, каб прапанаваць аддалены доступ да каманд. Рэпазітар быў выдалены. JFrog таксама знайшоў падказкі, якія сведчаць аб удзеле даследчыкаў,
1:02 таму атрыбуцыя нявызначаная. Непажаданы госць быў задакументаваны. Крадзеж уліковых дадзеных у фактычных ахвяр не быў устаноўлены.
Якія сакрэты знаходзяцца ў межах дасяжнасці працэсу?
1:09 Код, які выконваецца як ваш карыстальнік, можа чытаць усё, што можа чытаць гэты працэс. Маўнтуемы воблачны ключ або даступны токен становіцца магчымай мішэнню. Для яго адпраўкі таксама патрэбны працоўны сеткавы маршрут. Толькі лікавыя вагі не маюць магічных паўнамоцтваў. Вашы дазволы забяспечваюць цікавую частку карты мадэлі. Ёсць яшчэ адны дзверы. Некаторыя мадэлі прапануюць вам давяраць аддаленаму коду, які аўтарызуе Python з рэпазітара. Файлы Safetensor могуць знаходзіцца побач з гэтым кодам.
1:32 Праверка фармату вагі ахоплівае адзін уваход, у той час як код рэпазітара усё яшчэ чакае, пакуль вы перададзіце яму пасведчанне наведвальніка.
Чаму адсутны лакальны шлях можа стаць аддаленай мадэллю?
1:38 Checkmarx прадэманстраваў Model Confusion. Адсутны лакальны шлях да мадэлі можа прывесці да публічнага рэпазітара з адпаведным імем. Аб'яднайце гэта з уключаным аддаленым кодам, і няправільны пакет можа выканацца. Гэта была даследчая дэманстрацыя з удзелам ўзору неназванай кампаніі, выпраўленая на працягу дня. У адсутнай тэчкі з'явіўся арэндадаўца. ReversingLabs паведаміў пра два ўзоры ў лютым 2025 года,
Як зламаныя пакеты пазбеглі старога сканера?
1:58 назваўшы тэхніку nullify AI. Абодва ўтрымлівалі зваротныя абалонкі. Іх упакоўка ў 7-zip блакавала звычайную загрузку PyTorch, таму гэты шлях патрабаваў распакоўкі і небяспечнай дэсерыялізацыі. Зламаныя патокі Pickle таксама выявілі сляпую зону сканера. Няўдалае сканаванне заслугоўвае расследавання, перш чым хто-небудзь адкрые пасылку. У бясшкодным тэсце даследчыкаў інструкцыі запісалі файл, перш чым загрузчык
2:18 дасягнуў зламанай часткі і выклікаў памылку. Уявіце, што вы адкрываеце пасылку, выпускаеце янота, а потым заўважаеце, што транспартная этыкетка несапраўдная. Паведамленне пра памылку прыходзіць з выдатнай граматыкай і жудасным часам. Hugging Face выдаліў паведамленыя ўзоры на працягу дваццаці чатырох гадзін і змяніў сканер. Гэта канкрэтнае адкрыццё прывяло да выпраўлення. Сканаванне бяспекі з'яўляецца карысным доказам, і інтэрпрэтацыя кожнай памылкі сканера як чыстай справаздачы аб адсутнасці праблем застаецца надзвычай шчодрай інтэрпрэтацыяй няўдачы.
2:43 Аддавайце перавагу safetensors і сучасным выпраўленым загрузчыкам.
Што трымае ключ па-за дасяжнасцю госця?
2:46 PyTorch звузіў свой загрузчык па змаўчанні, пачынаючы з версіі 2.6. Праверце карыстальніцкі код і зафіксуйце правераную рэвізію. Запускайце незнаёмыя пакеты ізалявана без асабістых ключоў, з абмежаваным доступам да сеткі. Кантэйнер, напоўнены маўнтуемымі ўліковымі дадзенымі, - гэта падарункавая кошык з прасторамі імёнаў. Гэтая адкрывальная загадка мае адказ. Няўдача загрузкі паказвае, дзе выкананне спынілася. Ранейшыя інструкцыі, магчыма, ужо былі выкананы.
3:08 Трымайце сакрэты па-за яго дасяжнасцю, перш чым адкрываць пасылку. Вынік, за кулісамі.
Чаму я б паставіў гэтай адзнаку НЕАБХОДНА ПРАВЕРЫЦЬ?
3:16 загрузчык. Бясплатная загрузка павінна ўключаць мадэль, і спіс гасцей павінен застацца маім рашэннем. Калі вы аддаеце перавагу чытаць гэта, чым чуць, як я гэта кажу, "diff" прыходзіць у вашу паштовую скрыню кожную раніцу, бясплатна на the daily diff dot dev, спасылка ніжэй. І гэта "diff" на сёння. Я Ніко з Axrisi. Злівайце адказна.
Крыніцы
- Data Scientists Targeted by Malicious Hugging Face ML Models with Silent BackdoorJFrog
- Malicious ML models discovered on Hugging Face platformReversingLabs
- AI Model Confusion: An LLM/AI Model Supply Chain AttackCheckmarx Zero
- Pickle ScanningHugging Face
- SafetensorsHugging Face
- Loading custom modelsHugging Face
- Serialization semanticsPyTorch



