{"id":17031,"date":"2025-09-10T18:00:24","date_gmt":"2025-09-10T18:00:24","guid":{"rendered":"http:\/\/localhost\/?p=17031"},"modified":"2025-09-10T18:00:24","modified_gmt":"2025-09-10T18:00:24","slug":"when-dependencies-turn-dangerous-responding-to-the-npm-supply-chain-attack","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=17031","title":{"rendered":"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-09-10T22:13:50&#8243;,&#8221;description&#8221;:&#8221;On September 8, 2025, attackers compromised a set of **18 widely used npm packages** \u2014including chalk, debug, ansi-styles, and strip-ansi\u2014collectively downloaded over **2.6 billion times per week**.\\n\\nThrough a targeted **phishing campaign** against a maintainer, the attackers published malicious versions containing obfuscated JavaScript designed to **intercept cryptocurrency transactions**. Any organization pulling these versions into builds risked shipping tainted code into production environments.\\n\\n## **The Impact: Scale, Reach, and Stealth**\\n\\nThis incident highlights just how fragile the modern supply chain can be:\\n\\n  * **Scale \\u0026 reach**: 2.6B weekly downloads meant thousands of downstream apps potentially bundled the malware.\\n  * **Foundational dependencies** : The affected packages are utility libraries\u2014often invisible, yet critical in front-end and back-end stacks.\\n  * **Stealthy payload** : The injected code wrapped browser APIs, silently rewriting cryptocurrency wallet transactions before signing.\\n\\n\\n\\n## **Compromised Packages and Versions**\\n\\n**#**| **Package**| **Malicious Version**  \\n&#8212;|&#8212;|&#8212;  \\n1| ansi-regex| 6.2.1  \\n2| ansi-styles| 6.2.2  \\n3| backslash| 0.2.1  \\n4| chalk| 5.6.1  \\n5| chalk-template| 1.1.1  \\n6| color| 5.0.1  \\n7| color-convert| 3.1.1  \\n8| color-name| 2.0.1  \\n9| color-string| 2.1.1  \\n10| debug| 4.4.2  \\n11| has-ansi| 6.0.1  \\n12| is-arrayish| 0.3.3  \\n13| simple-swizzle| 0.2.3  \\n14| slice-ansi| 7.1.1  \\n15| strip-ansi| 7.1.1  \\n16| supports-color| 10.2.1  \\n17| supports-hyperlinks| 4.1.1  \\n18| wrap-ansi| 9.0.1  \\n  \\n## **What Security Teams Should Do Immediately**\\n\\nBecause supply chain attacks spread quickly, organizations must take fast, methodical steps to detect and contain impact:\\n\\n  1. **Check dependency manifests and registries**\\n     * Search package-lock.json, yarn.lock, or pnpm-lock.yaml for the exact compromised versions. \\n     * Audit private registries and artifact mirrors to confirm whether tainted packages were cached or replicated.\\n  2. **Purge poisoned caches**\\n     * Clear caches on **developer machines** , **CI\/CD servers** , and **artifact registries**.\\n     * Rebuild from known-safe sources to prevent reintroduction of the malicious versions.\\n  3. **Blocklist the compromised versions**\\n     * Prevent reinstallation of these versions by pinning or overriding to safe releases.\\n     * Update build pipelines to fail on detection of malicious versions.\\n  4. **Scan built assets**\\n     * Review recent JavaScript bundles for injected obfuscated code.\\n     * Add checksum or Subresource Integrity (SRI) validation for web assets served from CDNs.\\n  5. **Hunt for suspicious runtime behavior**\\n     * Investigate any unusual **outbound connections** or **API anomalies** linked to the compromised code.\\n     * Look for signs of exfiltration or wallet manipulation in logs and telemetry.\\n  6. **Communicate quickly**\\n     * Notify impacted developers and teams.\\n     * Track remediation status across environments (dev, staging, production).\\n\\n\\n\\nThese are baseline hygiene steps. They help ensure environments are clean and prevent re-poisoning from cached artifacts.\\n\\n## **Why Hygiene Alone Falls Short**\\n\\nEven with disciplined processes, defenders face four challenges:\\n\\n  * **Scale \\u0026 complexity**: With billions of downloads and deep transitive chains, manual checks are slow and error-prone.\\n  * **Context gap** : Knowing a bad package exists doesn\u2019t reveal whether it\u2019s actually deployed in runtime.\\n  * **Runtime blind spots** : Traditional software composition analysis (SCA) ends at manifests; it won\u2019t catch if malicious code is actively reaching out to attacker infrastructure.\\n  * **Noise vs. signal** : Treating all alerts equally delays response to what matters most.\\n\\n\\n\\n## **How Qualys Strengthens Supply Chain Defense**\\n\\nThis is where Qualys goes beyond hygiene into **continuous, risk-aware protection** :\\n\\n### **1\\\\. Node.js SCA with Runtime Correlation**\\n\\n  * Identify compromised npm packages like chalk@5.6.1 or debug@4.4.2 across SBOMs, registries, and workloads.\\n  * Correlate with runtime to answer: _Where is this package actually deployed? Is it in a production container serving end-users?_\\n\\n\\n\\n### **2\\\\. TruRisk![\u2122](https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/72&#215;72\/2122.png) and QDS Scoring**\\n\\n  * Prioritize compromised packages as _critical_ through **multi-dimensional scoring** (exploitability, business impact, internet exposure).\\n  * **Qualys Detection Score (QDS)** ensures these threats stand out instead of drowning in CVE noise.\\n\\n\\n\\n### **3\\\\. Attack Path Context**\\n\\n  * Map the blast radius: if debug@4.4.2 is in a front-end workload exposed to the internet and tied to privileged IAM roles, Qualys Attack Path shows how it could be exploited.\\n\\n\\n\\n### **4\\\\. Cloud Detection \\u0026 Response (CDR)**\\n\\n  * Detect real-world malicious behavior:\\n    * Outbound connections to attacker-controlled IPs.\\n    * Exfiltration attempts of wallet or API data.\\n    * Abnormal process or file drift flagged via eBPF sensors.\\n\\n\\n\\n## **Example: From Detection to Containment**\\n\\n  1. **Discovery** : Qualys SCA flags ansi-styles@6.2.2 in a build pipeline.\\n  2. **Prioritization** : TruRisk marks it critical due to active exploitation.\\n  3. **Correlation** : Attack Path reveals it\u2019s running in an internet-facing container tied to payment flows.\\n  4. **Runtime Defense** : CDR detects outbound wallet manipulation traffic.\\n  5. **Response** : Teams isolate the workload, clear caches, roll back to a safe version, and remediate across environments.\\n\\n\\n\\n## **Final Takeaway**\\n\\nThe npm compromise shows that **supply chain attacks can leap from a single phishing email to billions of downloads in hours**.\\n\\n  * Hygiene (lockfile checks, cache purges, blocklists) is essential, but not enough.\\n  * Resilience requires **continuous visibility, runtime-aware prioritization, and behavioral detection**.\\n\\n\\n\\nWith **Qualys SCA, TruRisk, Attack Path, and CDR** , organizations gain the visibility and intelligence to not only spot tainted packages but stop them from becoming active compromises.\\n\\nBecause in today\u2019s supply chain, it\u2019s not just about knowing what\u2019s inside your software\u2014it\u2019s about knowing what\u2019s really at risk.\\n\\nSign up to try Qualys TotalCloud or get a complimentary custom review of your multi-cloud and container risk.&#8221;,&#8221;published&#8221;:&#8221;2025-09-10T20:43:36&#8243;,&#8221;modified&#8221;:&#8221;2025-09-10T20:43:36&#8243;,&#8221;type&#8221;:&#8221;qualysblog&#8221;,&#8221;title&#8221;:&#8221;When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9&#8243;,&#8221;bulletinFamily&#8221;:&#8221;blog&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[],&#8221;sourceData&#8221;:&#8221;&#8221;,&#8221;sourceHref&#8221;:&#8221;&#8221;,&#8221;cvss&#8221;:{&#8220;score&#8221;:0,&#8221;severity&#8221;:&#8221;NONE&#8221;,&#8221;vector&#8221;:&#8221;NONE&#8221;,&#8221;version&#8221;:&#8221;NONE&#8221;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/blog.qualys.com\/category\/vulnerabilities-threat-research&#8221;,&#8221;category_name&#8221;:&#8221;News&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2025-09-10T22:13:50&#8243;,&#8221;description&#8221;:&#8221;On September 8, 2025, attackers compromised a set of **18 widely used npm packages** \u2014including chalk, debug, ansi-styles, and strip-ansi\u2014collectively downloaded over **2.6 billion times&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[6,8,12,13,33,120,7,11,5],"class_list":["post-17031","post","type-post","status-publish","format-standard","hentry","category-category_news","tag-cve","tag-cvss","tag-exploit","tag-news","tag-none","tag-qualysblog","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=17031\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2025-09-10T22:13:50&#8243;,&#8221;description&#8221;:&#8221;On September 8, 2025, attackers compromised a set of **18 widely used npm packages** \u2014including chalk, debug, ansi-styles, and strip-ansi\u2014collectively downloaded over **2.6 billion times...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=17031\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-10T18:00:24+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=17031#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=17031\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9\",\"datePublished\":\"2025-09-10T18:00:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=17031\"},\"wordCount\":1016,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"exploit\",\"news\",\"NONE\",\"qualysblog\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_news\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=17031#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=17031\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=17031\",\"name\":\"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2025-09-10T18:00:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=17031#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=17031\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=17031#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=17031","og_locale":"en_US","og_type":"article","og_title":"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2025-09-10T22:13:50&#8243;,&#8221;description&#8221;:&#8221;On September 8, 2025, attackers compromised a set of **18 widely used npm packages** \u2014including chalk, debug, ansi-styles, and strip-ansi\u2014collectively downloaded over **2.6 billion times...","og_url":"https:\/\/zero.redgem.net\/?p=17031","og_site_name":"zero redgem","article_published_time":"2025-09-10T18:00:24+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=17031#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=17031"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9","datePublished":"2025-09-10T18:00:24+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=17031"},"wordCount":1016,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","exploit","news","NONE","qualysblog","Security","tapic","Vulnerability"],"articleSection":["category_news"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=17031#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=17031","url":"https:\/\/zero.redgem.net\/?p=17031","name":"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2025-09-10T18:00:24+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=17031#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=17031"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=17031#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"When Dependencies Turn Dangerous: Responding to the NPM Supply Chain Attack_QUALYSBLOG:2423F9B8FDD23C28EC904F20D96EB8C9"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/17031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17031"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/17031\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}