{"id":120574,"date":"2024-11-15T01:09:07","date_gmt":"2024-11-14T23:09:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/katalog-pypi-vnedril-novuyu-sistemu-proverki-podlinnosti-paketov"},"modified":"2024-11-15T01:09:07","modified_gmt":"2024-11-14T23:09:08","slug":"katalog-pypi-vnedril-novuyu-sistemu-proverki-podlinnosti-paketov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/katalog-pypi-vnedril-novuyu-sistemu-proverki-podlinnosti-paketov","title":{"rendered":"Katalog PyPI wprowadzi\u0142 nowy system weryfikacji autentyczno\u015bci pakiet\u00f3w.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Deweloperzy repozytorium pakiet\u00f3w Python PyPI (Python Package Index) og\u0142osili wprowadzenie wsparcia dla mechanizmu cyfrowej atestacji w celu weryfikacji autentyczno\u015bci publikowanych pakiet\u00f3w, kt\u00f3ry zast\u0119puje weryfikacj\u0119 za pomoc\u0105 podpis\u00f3w PGP. Kluczow\u0105 r\u00f3\u017cnic\u0105 w atestacji jest to, \u017ce publikacja pakietu jest zatwierdzana nie przez dewelopera, lecz przez osob\u0119 trzeci\u0105 (katalog pakiet\u00f3w) po potwierdzeniu wiarygodno\u015bci publikacji przez zewn\u0119trznego dostawc\u0119 OpenID Connect (na przyk\u0142ad po weryfikacji, \u017ce publikowany pakiet jest zgodny z powi\u0105zanym repozytorium na GitHubie lub GitLabie).      <\/p>\n<p>System certyfikacji eliminuje wady zwi\u0105zane z mechanizmem weryfikacji podpis\u00f3w PGP, kt\u00f3ry wcze\u015bniej zosta\u0142 uznany za przestarza\u0142y w PyPI. Ta decyzja zosta\u0142a podj\u0119ta z powodu problem\u00f3w z weryfikacj\u0105 przynale\u017cno\u015bci otwartych kluczy PGP u\u017cywanych dla weryfikacji podpis\u00f3w cyfrowych \u2014 z 1069 kluczy PGP wykorzystanych od 2020 roku do generowania podpis\u00f3w w PyPI, 29% otwartych kluczy nie by\u0142o dost\u0119pnych na du\u017cych publicznych serwisach. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/dts-gdansk\/\"   title=\"serwerach\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4566\">serwerach<\/a> bazach danych, a 35% kluczy okaza\u0142o si\u0119 niemo\u017cliwe do potwierdzenia podczas audytu. Potwierdzone 36% kluczy PGP obejmowa\u0142o jedynie 0,3% wszystkich podpisanych plik\u00f3w.       <\/p>\n<p>W nowym systemie podpisy u\u017cywane do atestacji pakiet\u00f3w s\u0105 tworzone z wykorzystaniem kr\u00f3tkotrwa\u0142ych kluczy efemerycznych, generowanych na podstawie uprawnie\u0144 potwierdzonych przez dostawc\u00f3w OpenID Connect. W momencie generowania kluczy potrzebnych do stworzenia podpisu cyfrowego, deweloper identyfikuje si\u0119 za po\u015brednictwem dostawcy OpenID, kt\u00f3ry potwierdza jego zwi\u0105zek z g\u0142\u00f3wnym projektem. Infrastruktura cyfrowej atestacji zosta\u0142a zbudowana przy u\u017cyciu systemu Sigstore i narz\u0119dzi in-toto Attestation Framework.    <\/p>\n<p>Zalet\u0105 certyfikacji jest brak zwi\u0105zku z trwa\u0142ymi kluczami PGP \u2014 utrata lub kompromitacja klucza prywatnego podwa\u017ca zaufanie do utworzonych na jego podstawie podpis\u00f3w, podczas gdy w przypadku certyfikacji podpis jest tworzony w odniesieniu do tokenu, kt\u00f3ry potwierdza uprawnienia w momencie publikacji pakietu oraz zwi\u0105zku pakietu z g\u0142\u00f3wnym repozytorium kodu. Na przyk\u0142ad, przy publikacji pakietu utworzonego za pomoc\u0105 GitHub Action, certyfikacja definiuje weryfikowalny i potwierdzony zwi\u0105zek pomi\u0119dzy plikiem publikowanym w PyPI, repozytorium, procesem workflow oraz hashem commita, na podstawie kt\u00f3rego utworzono pakiet.     <center><img decoding=\"async\" alt=\"Katalog PyPI wprowadzi\u0142 nowy system weryfikacji autentyczno\u015bci pakiet\u00f3w.\" src=\"\/wp-content\/uploads\/2024\/11\/2dd01380b44847a51dc2452083466b22.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Aby \u015bledzi\u0107 autentyczno\u015b\u0107 kluczy i wykrywa\u0107 ewentualne kompromitacje, do tworzenia pakiet\u00f3w projekt\u00f3w i samego PyPI stosuje si\u0119 publiczny, scentralizowany dziennik, aby zapewni\u0107 integralno\u015b\u0107 i ochron\u0119 przed manipulacjami dokonanymi z op\u00f3\u017anieniem, w kt\u00f3rym wykorzystano struktur\u0119 \u201edrzewa Merkle\u201d (Merkle Tree, ka\u017cda ga\u0142\u0105\u017a weryfikuje wszystkie ni\u017csze ga\u0142\u0119zie i w\u0119z\u0142y dzi\u0119ki drzewiastej metodzie hash).      <\/p>\n<p>Dodatkowo mo\u017cna zauwa\u017cy\u0107 wykrycie w katalogu PyPI z\u0142o\u015bliwego pakietu \u201efabrice\u201d, kt\u00f3ry za pomoc\u0105 type squatting (przypisywanie podobnych nazw, r\u00f3\u017cni\u0105cych si\u0119 pojedynczymi znakami, na przyk\u0142ad exampl zamiast example, djangoo zamiast django, pyhton zamiast python itp.) maskowa\u0142 si\u0119 pod popularn\u0105 bibliotek\u0119 \u201efabric\u201d, kt\u00f3ra mia\u0142a 201 milion\u00f3w pobra\u0144 (7 milion\u00f3w pobra\u0144 w zesz\u0142ym miesi\u0105cu). Z\u0142o\u015bliwy pakiet pozostawa\u0142 niezauwa\u017cony od 2021 roku i od tego czasu zosta\u0142 pobrany ponad 37 tysi\u0119cy razy.     <\/p>\n<p>Pakiet &#171;fabrice&#187; powiela\u0142 podstawow\u0105 funkcjonalno\u015b\u0107 oryginalnej biblioteki, a dodatkowo zawiera\u0142 kod do wykrywania i wysy\u0142ania na zewn\u0119trzne hosty kluczy dost\u0119pu do AWS (Amazon Web Services), instalacji backdoora oraz wykonywania okre\u015blonych skrypt\u00f3w. Aktywacja szkodliwych komponent\u00f3w mia\u0142a miejsce w systemach Linux i Windows. W systemie Linux pliki zwi\u0105zane z aktywno\u015bci\u0105 szkodliw\u0105 by\u0142y \u0142adowane do katalogu ~\\\/local\\\/bin\\\/vscode.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62234\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 PyPI (Python Package Index) \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0430\u0442\u0442\u0435\u0441\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0448\u043b\u0430 \u043d\u0430 \u0441\u043c\u0435\u043d\u0443 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c PGP-\u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u043e\u0442\u043b\u0438\u0447\u0438\u0435\u043c \u0430\u0442\u0442\u0435\u0441\u0442\u0430\u0446\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e, \u0447\u0442\u043e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043f\u0430\u043a\u0435\u0442\u0430 \u0437\u0430\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c, \u0430 \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u043b\u0438\u0446\u043e\u043c (\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c \u043f\u0430\u043a\u0435\u0442\u043e\u0432) \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u043e\u0432\u0435\u0440\u043d\u043e\u0441\u0442\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 OpenID Connect (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":120575,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-120574","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.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 PyPI (Python Package Index) \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0430\u0442\u0442\u0435\u0441\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0448\u043b\u0430 \u043d\u0430 \u0441\u043c\u0435\u043d\u0443 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441.\" \/>\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\/pl\/blog\/news\/katalog-pypi-vnedril-novuyu-sistemu-proverki-podlinnosti-paketov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\u041a\u0430\u0442\u0430\u043b\u043e\u0433 PyPI \u0432\u043d\u0435\u0434\u0440\u0438\u043b \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 PyPI (Python Package Index) \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0430\u0442\u0442\u0435\u0441\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0448\u043b\u0430 \u043d\u0430 \u0441\u043c\u0435\u043d\u0443 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/katalog-pypi-vnedril-novuyu-sistemu-proverki-podlinnosti-paketov\" \/>\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=\"2024-11-14T23:09:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-11-14T23:09:08+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\udd47 Katalog PyPI wprowadzi\u0142 nowy system weryfikacji autentyczno\u015bci paczek | ProHoster","description":"Deweloperzy repozytorium Python-pakiet\u00f3w PyPI (Python Package Index) og\u0142osili wprowadzenie mechanizmu cyfrowej certyfikacji s\u0142u\u017c\u0105cej do weryfikacji autentyczno\u015bci publikowanych paczek, kt\u00f3ry zast\u0105pi\u0142 weryfikacj\u0119 z.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/katalog-pypi-vnedril-novuyu-sistemu-proverki-podlinnosti-paketov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\u041a\u0430\u0442\u0430\u043b\u043e\u0433 PyPI \u0432\u043d\u0435\u0434\u0440\u0438\u043b \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Python-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 PyPI (Python Package Index) \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0430\u0442\u0442\u0435\u0441\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0448\u043b\u0430 \u043d\u0430 \u0441\u043c\u0435\u043d\u0443 \u0432\u0435\u0440\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/katalog-pypi-vnedril-novuyu-sistemu-proverki-podlinnosti-paketov","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":"2024-11-14T23:09:08+00:00","article:modified_time":"2024-11-14T23:09:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120574","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":"2026-01-23 08:02:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 08:02:22","updated":"2026-01-23 08:02:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/120574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=120574"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/120574\/revisions"}],"predecessor-version":[{"id":164444,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/120574\/revisions\/164444"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/120575"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=120574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=120574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=120574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}