{"id":100875,"date":"2021-07-30T16:22:41","date_gmt":"2021-07-30T14:22:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/46-python-paketov-v-repozitorii-pypi-soderzhat-potenczialno-nebezopasnyj-kod"},"modified":"2021-07-30T16:22:41","modified_gmt":"2021-07-30T14:22:41","slug":"46-python-paketov-v-repozitorii-pypi-soderzhat-potenczialno-nebezopasnyj-kod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/46-python-paketov-v-repozitorii-pypi-soderzhat-potenczialno-nebezopasnyj-kod","title":{"rendered":"46% Python bal\u00ed\u010dk\u016f v repozit\u00e1\u0159i PyPI obsahuje potenci\u00e1ln\u011b nebezpe\u010dn\u00fd k\u00f3d","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Skupina v\u00fdzkumn\u00edk\u016f z Univerzity v Turku (Finsko) publikovala v\u00fdsledky anal\u00fdzy bal\u00ed\u010dk\u016f v repozit\u00e1\u0159i PyPI z hlediska pou\u017e\u00edv\u00e1n\u00ed potenci\u00e1ln\u011b nebezpe\u010dn\u00fdch konstrukc\u00ed, kter\u00e9 by mohly v\u00e9st k vzniku zranitelnost\u00ed. B\u011bhem anal\u00fdzy 197 tis\u00edc bal\u00ed\u010dk\u016f bylo identifikov\u00e1no 749 tis\u00edc potenci\u00e1ln\u00edch bezpe\u010dnostn\u00edch probl\u00e9m\u016f. V 46 % bal\u00ed\u010dk\u016f se nach\u00e1z\u00ed alespo\u0148 jeden takov\u00fd probl\u00e9m. Mezi nej\u010dast\u011bji se vyskytuj\u00edc\u00edmi probl\u00e9my jsou nedostatky souvisej\u00edc\u00ed s \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 a pou\u017eit\u00edm konstrukc\u00ed, kter\u00e9 umo\u017e\u0148uj\u00ed injekci k\u00f3du.    <\/p>\n<p>Z celkov\u00fdch 749 tis\u00edc nalezen\u00fdch probl\u00e9m\u016f bylo 442 tis\u00edc (41 %) ozna\u010deno za nev\u00fdznamn\u00e9, 227 tis\u00edc (30 %) jako probl\u00e9my st\u0159edn\u00ed z\u00e1va\u017enosti a 80 tis\u00edc (11 %) jako nebezpe\u010dn\u00e9. N\u011bkter\u00e9 bal\u00ed\u010dky se vymykaj\u00ed z celkov\u00e9ho pr\u016fm\u011bru a obsahuj\u00ed tis\u00edce probl\u00e9m\u016f: nap\u0159\u00edklad v bal\u00ed\u010dku PyGGI bylo zji\u0161t\u011bno 2589 probl\u00e9m\u016f, p\u0159ev\u00e1\u017en\u011b souvisej\u00edc\u00edch s pou\u017e\u00edv\u00e1n\u00edm konstrukce \u201etry-except-pass\u201c, a v bal\u00ed\u010dku appengine-sdk bylo identifikov\u00e1no 2356 probl\u00e9m\u016f. Velk\u00e9 mno\u017estv\u00ed probl\u00e9m\u016f je tak\u00e9 p\u0159\u00edtomno v bal\u00ed\u010dc\u00edch genie.libs.ops, pbcore a genie.libs.parser.      <\/p>\n<p>Je t\u0159eba poznamenat, \u017ee v\u00fdsledky byly z\u00edsk\u00e1ny na z\u00e1klad\u011b proveden\u00ed automatizovan\u00e9 statick\u00e9 anal\u00fdzy, kter\u00e1 nezohled\u0148uje kontext pou\u017eit\u00ed jednotliv\u00fdch konstrukc\u00ed. V\u00fdvoj\u00e1\u0159 n\u00e1stroje bandit, kter\u00fd byl pou\u017eit pro skenov\u00e1n\u00ed k\u00f3du, vyj\u00e1d\u0159il n\u00e1zor, \u017ee kv\u016fli pom\u011brn\u011b vysok\u00e9mu po\u010dtu fale\u0161n\u00fdch pozitivn\u00edch v\u00fdsledk\u016f nelze v\u00fdsledky kontroly p\u0159\u00edmo pova\u017eovat za zranitelnosti bez dal\u0161\u00edho ru\u010dn\u00edho p\u0159ezkoum\u00e1n\u00ed ka\u017ed\u00e9ho probl\u00e9mu.      <\/p>\n<p>Nap\u0159\u00edklad analyz\u00e1tor pova\u017euje za bezpe\u010dnostn\u00ed probl\u00e9m pou\u017eit\u00ed nespolehliv\u00fdch gener\u00e1tor\u016f n\u00e1hodn\u00fdch \u010d\u00edsel a hashovac\u00edch algoritm\u016f, jako je MD5, zat\u00edmco v k\u00f3du mohou b\u00fdt tyto algoritmy pou\u017e\u00edv\u00e1ny pro \u00fa\u010dely, kter\u00e9 neovliv\u0148uj\u00ed bezpe\u010dnost. Analyz\u00e1tor tak\u00e9 pova\u017euje za probl\u00e9m jak\u00e9koli zpracov\u00e1n\u00ed extern\u00edch dat v nezabezpe\u010den\u00fdch funkc\u00edch, jako jsou pickle, yaml.load, subprocess a eval, ale toto pou\u017eit\u00ed nemus\u00ed nutn\u011b souviset s vznikem zranitelnosti a ve skute\u010dnosti m\u016f\u017ee b\u00fdt pou\u017eit\u00ed uveden\u00fdch funkc\u00ed provedeno bez bezpe\u010dnostn\u00edho rizika.       <\/p>\n<p>Mezi kontroly pou\u017eit\u00e9 ve studii pat\u0159ily:  <\/p>\n<ul>\n<li class=\"l\"> Pou\u017eit\u00ed potenci\u00e1ln\u011b nebezpe\u010dn\u00fdch funkc\u00ed exec, mktemp, eval, mark_safe atd.\n<li class=\"l\"> Nezabezpe\u010den\u00e9 nastaven\u00ed p\u0159\u00edstupov\u00fdch pr\u00e1v pro soubory.\n<li class=\"l\"> P\u0159ipojen\u00ed s\u00ed\u0165ov\u00e9ho socketu ke v\u0161em s\u00ed\u0165ov\u00fdm rozhran\u00edm.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed hesel a kl\u00ed\u010d\u016f tvrd\u011b zak\u00f3dovan\u00fdch v k\u00f3du.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed p\u0159eddefinovan\u00e9ho do\u010dasn\u00e9ho adres\u00e1\u0159e.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed pass a continue v zpracovatel\u00edch v\u00fdjimek catch-all-style;\n<li class=\"l\">  Spou\u0161t\u011bn\u00ed webov\u00fdch aplikac\u00ed na z\u00e1klad\u011b webov\u00e9ho frameworku Flask s povolen\u00fdm re\u017eimem lad\u011bn\u00ed.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed nebezpe\u010dn\u00fdch metod deserializace dat.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed hashovac\u00edch funkc\u00ed MD2, MD4, MD5 a SHA1.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed nebezpe\u010dn\u00fdch \u0161ifer DES a \u0161ifrovac\u00edch m\u00f3d\u016f.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed nebezpe\u010dn\u00e9 implementace HTTPSConnection v n\u011bkter\u00fdch verz\u00edch Pythonu.\n<li class=\"l\"> Uveden\u00ed sch\u00e9matu file:\/\/ v urlopen.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed gener\u00e1tor\u016f pseudon\u00e1hodn\u00fdch \u010d\u00edsel p\u0159i prov\u00e1d\u011bn\u00ed kryptografick\u00fdch \u00faloh.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed protokolu Telnet.\n<li class=\"l\"> Pou\u017e\u00edv\u00e1n\u00ed nebezpe\u010dn\u00fdch XML parser\u016f.  <\/ul>\n<p>D\u00e1le je t\u0159eba poznamenat, \u017ee v adres\u00e1\u0159i PyPI bylo objeveno 8 \u0161kodliv\u00fdch bal\u00ed\u010dk\u016f. P\u0159ed odstran\u011bn\u00edm m\u011bly probl\u00e9mov\u00e9 bal\u00ed\u010dky v\u00edce ne\u017e 30 tis\u00edc sta\u017een\u00ed. K obfuscaci \u0161kodliv\u00e9 aktivity a obran\u011b proti varov\u00e1n\u00ed jednoduch\u00fdch statick\u00fdch analytik\u016f se v bal\u00ed\u010dc\u00edch pou\u017e\u00edvalo k\u00f3dov\u00e1n\u00ed blok\u016f k\u00f3du pomoc\u00ed Base64 a organizace jejich spu\u0161t\u011bn\u00ed po dek\u00f3dov\u00e1n\u00ed pomoc\u00ed vol\u00e1n\u00ed eval.    <\/p>\n<p>V bal\u00ed\u010dc\u00edch noblesse, genesisbot, are, suffer, noblesse2 a noblessev2 byl nalezen k\u00f3d pro zachycen\u00ed \u010d\u00edsel kreditn\u00edch karet a hesel ulo\u017een\u00fdch v prohl\u00ed\u017ee\u010d\u00edch Chrome a Edge, stejn\u011b jako pro p\u0159enos token\u016f \u00fa\u010dt\u016f z aplikace Discord a odes\u00edl\u00e1n\u00ed syst\u00e9mov\u00fdch dat, v\u010detn\u011b sn\u00edmk\u016f obrazovky obsahu obrazovky. V bal\u00ed\u010dc\u00edch pytagora a pytagora2 byla p\u0159\u00edtomna mo\u017enost stahov\u00e1n\u00ed a spou\u0161t\u011bn\u00ed ciz\u00edho spustiteln\u00e9ho k\u00f3du.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55565\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0430 \u0422\u0443\u0440\u043a\u0443 (\u0424\u0438\u043d\u043b\u044f\u043d\u0434\u0438\u044f) \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0412 \u0445\u043e\u0434\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 197 \u0442\u044b\u0441\u044f\u0447 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 749 \u0442\u044b\u0441\u044f\u0447 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e. \u0412 46% \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0434\u043d\u0430 \u043f\u043e\u0434\u043e\u0431\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432\u044b\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0435\u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-100875","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0430 \u0422\u0443\u0440\u043a\u0443 (\u0424\u0438\u043d\u043b\u044f\u043d\u0434\u0438\u044f) \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/46-python-paketov-v-repozitorii-pypi-soderzhat-potenczialno-nebezopasnyj-kod\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd4746% Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u043a\u043e\u0434 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0430 \u0422\u0443\u0440\u043a\u0443 (\u0424\u0438\u043d\u043b\u044f\u043d\u0434\u0438\u044f) \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/46-python-paketov-v-repozitorii-pypi-soderzhat-potenczialno-nebezopasnyj-kod\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-07-30T14:22:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-07-30T14:22:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd4746% bal\u00ed\u010dk\u016f Python v repozit\u00e1\u0159i PyPI obsahuje potenci\u00e1ln\u011b nebezpe\u010dn\u00fd k\u00f3d | ProHoster","description":"Skupina v\u00fdzkumn\u00edk\u016f z Univerzity v Turku (Finsko) publikovala v\u00fdsledky anal\u00fdzy bal\u00ed\u010dk\u016f v repozit\u00e1\u0159i PyPI zam\u011b\u0159enou na pou\u017e\u00edv\u00e1n\u00ed potenci\u00e1ln\u011b nebezpe\u010dn\u00fdch konstrukc\u00ed, kter\u00e9 mohou v\u00e9st k vzniku zranitelnost\u00ed.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/46-python-paketov-v-repozitorii-pypi-soderzhat-potenczialno-nebezopasnyj-kod","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd4746% Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u043a\u043e\u0434 | ProHoster","og:description":"\u0413\u0440\u0443\u043f\u043f\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 \u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0430 \u0422\u0443\u0440\u043a\u0443 (\u0424\u0438\u043d\u043b\u044f\u043d\u0434\u0438\u044f) \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/46-python-paketov-v-repozitorii-pypi-soderzhat-potenczialno-nebezopasnyj-kod","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-07-30T14:22:41+00:00","article:modified_time":"2021-07-30T14:22:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100875","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-07-30 15:23:30","updated":"2022-09-29 23:44:18","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/100875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=100875"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/100875\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=100875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=100875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=100875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}