{"id":9330,"date":"2026-02-28T13:45:07","date_gmt":"2026-02-28T14:45:07","guid":{"rendered":"https:\/\/hadess.io\/?p=9330"},"modified":"2026-04-06T18:30:21","modified_gmt":"2026-04-06T18:30:21","slug":"bash-scripting-security","status":"publish","type":"post","link":"https:\/\/hadess.io\/bash-scripting-security\/","title":{"rendered":"Bash Scripting for Security: Log Parsing, Automation, and Recon"},"content":{"rendered":"<h1>Bash Scripting for Security: Log Parsing, Automation, and Recon<\/h1>\n<blockquote>\n<p><strong>Part of the <a href=\"https:\/\/career.hadess.io\/blog\/cybersecurity-skills-guide\">Cybersecurity Skills Guide<\/a><\/strong> \u2014 This article is one deep-dive in our complete guide series.<\/p>\n<\/blockquote>\n<p><em>By HADESS Team | February 28, 2026 | Updated: February 28, 2026 | 5 min read<\/em><\/p>\n<p>Bash is the lingua franca of Linux systems, and most security work happens on Linux. Whether you are parsing logs during an incident, automating reconnaissance, or chaining tools together during a pentest, Bash scripting gets results fast. You do not need to be a Bash expert, but you need enough proficiency to build useful tools quickly.<\/p>\n<h2>Log Parsing<\/h2>\n<p>Security analysts spend significant time in logs. Bash&#8217;s text processing tools \u2014 <code>grep<\/code>, <code>awk<\/code>, <code>sed<\/code>, <code>sort<\/code>, <code>uniq<\/code>, <code>cut<\/code> \u2014 handle most log analysis tasks without loading data into a <a href=\"https:\/\/hadess.io\/siem-operations\/\" title=\"SIEM Operations: Detection Engineering and Log Management\">SIEM<\/a>.<\/p>\n<p>Find failed SSH logins and count by source IP:<\/p>\n<p>&#8220;<code>bash grep \"Failed password\" \/var\/log\/auth.log | \\   awk '{print $(NF-3)}' | \\   sort | uniq -c | sort -rn | head -20 <\/code>`<code><\/p>\n<p>Extract all unique IP addresses from an Apache access log:<\/p>\n<p><\/code>`<code>bash<br \/>\nawk '{print $1}' \/var\/log\/apache2\/access.log | sort -u<br \/>\n<\/code>`<code><\/p>\n<p>Find all 4xx and 5xx HTTP responses with timestamps:<\/p>\n<p><\/code>`<code>bash<br \/>\nawk '$9 ~ \/^[45]\/ {print $4, $7, $9}' \/var\/log\/apache2\/access.log<br \/>\n<\/code>`<code><\/p>\n<p>For JSON-structured logs, use <\/code>jq<code>:<\/p>\n<p><\/code>`<code>bash<br \/>\ncat application.log | jq -r 'select(.level == \"ERROR\") | \"\\(.timestamp) \\(.message)\"'<br \/>\n<\/code>`<code><\/p>\n<h2>Automation Scripts<\/h2>\n<p>Automate repetitive security tasks to eliminate manual errors and save time.<\/p>\n<p><strong>File integrity check<\/strong> using checksums:<\/p>\n<p><\/code>`<code>bash<br \/>\n#!\/bin\/bash<br \/>\nBASELINE=\"\/var\/security\/baseline_hashes.txt\"<br \/>\nfind \/etc -type f -exec sha256sum {} \\; > \/tmp\/current_hashes.txt<br \/>\ndiff \"$BASELINE\" \/tmp\/current_hashes.txt | grep \"^[<>]\"<br \/>\n<\/code>`<code><\/p>\n<p><strong>Certificate expiration monitor:<\/strong><\/p>\n<p><\/code>`<code>bash<br \/>\n#!\/bin\/bash<br \/>\nDOMAINS=(\"example.com\" \"api.example.com\" \"admin.example.com\")<br \/>\nWARN_DAYS=30<\/p>\n<p>for domain in \"${DOMAINS[@]}\"; do     expiry=$(echo | openssl s_client -servername \"$domain\" -connect \"$domain:443\" 2>\/dev\/null | \\         openssl x509 -noout -enddate | cut -d= -f2)     exp_epoch=$(date -d \"$expiry\" +%s)     now_epoch=$(date +%s)     days_left=$(( (exp_epoch - now_epoch) \/ 86400 ))     if [ \"$days_left\" -lt \"$WARN_DAYS\" ]; then         echo \"WARNING: $domain expires in $days_left days\"     fi done <\/code>`<code><\/p>\n<h2>Recon Scripts<\/h2>\n<p>During penetration tests, Bash scripts chain tools together for efficient reconnaissance:<\/p>\n<p><strong>Subdomain enumeration and live host detection:<\/strong><\/p>\n<p><\/code>`<code>bash<br \/>\n#!\/bin\/bash<br \/>\nTARGET=\"$1\"<\/p>\n<h1>Gather subdomains from multiple sources<\/h1>\n<p>subfinder -d \"$TARGET\" -silent > subs.txt<br \/>\namass enum -passive -d \"$TARGET\" -o amass_subs.txt 2>\/dev\/null<br \/>\ncat subs.txt amass_subs.txt | sort -u > all_subs.txt<\/p>\n<h1>Check which are alive<\/h1>\n<p>httpx -l all_subs.txt -silent -o live_hosts.txt<br \/>\necho \"Found $(wc -l < live_hosts.txt) live hosts\"\n<\/code>`<code><\/p>\n<p><strong>Port scan result processor:<\/strong><\/p>\n<p><\/code>`<code>bash<br \/>\n#!\/bin\/bash<\/p>\n<h1>Parse nmap XML output for open ports<\/h1>\n<p>xmllint --xpath '\/\/port[@protocol=\"tcp\"]\/state[@state=\"open\"]\/..' nmap_output.xml | \\<br \/>\n  grep -oP 'portid=\"\\K[^\"]+' | sort -n<br \/>\n<\/code>`<code><\/p>\n<h2>Tool Chaining<\/h2>\n<p>The real power of Bash in security is piping output between tools. Feed Nmap results into Nikto, parse Burp exports with <\/code>jq<code>, or correlate firewall logs with threat intelligence feeds using <\/code>comm<code> and <\/code>join<code>.<\/p>\n<p>Write your scripts with error handling. Check return codes, validate inputs, and handle missing files:<\/p>\n<p><\/code>`<code>bash<br \/>\n#!\/bin\/bash<br \/>\nset -euo pipefail<br \/>\nif [ $# -ne 1 ]; then<br \/>\n    echo \"Usage: $0 <target_domain>\" >&2<br \/>\n    exit 1<br \/>\nfi<br \/>\n<\/code>`<code><\/p>\n<p><\/code>set -e<code> exits on errors, <\/code>set -u<code> catches undefined variables, <\/code>set -o pipefail` catches failures in pipes. These three flags prevent silent failures that lead to incorrect results.<\/p>\n<h2>Related Career Paths<\/h2>\n<p>Bash scripting proficiency maps to <a href=\"https:\/\/career.hadess.io\/career-skills\">SOC Analyst and Penetration Tester career paths<\/a>. Both roles use Bash daily for log analysis, automation, and tool orchestration.<\/p>\n<h2>Next Steps<\/h2>\n<ul>\n<li>Test your scripting skills with the <a href=\"https:\/\/career.hadess.io\/assessment\">skills assessment<\/a><\/li>\n<li>Browse the <a href=\"https:\/\/career.hadess.io\/skills\">skills library<\/a> for related automation and Linux topics<\/li>\n<li>Use the <a href=\"https:\/\/career.hadess.io\/coach\">coaching tool<\/a> to build a hands-on scripting practice plan<\/li>\n<\/ul>\n<p><strong>Explore all cybersecurity skills:<\/strong> <a href=\"https:\/\/hadess.io\/cybersecurity-skills-guide\/\" title=\"Cybersecurity Skills for Beginners\">Cybersecurity Skills for Beginners<\/a><\/p>\n<h2>Related Guides in This Series<\/h2>\n<ul>\n<li><a href=\"https:\/\/career.hadess.io\/blog\/skills\/programming\/powershell-security\">PowerShell for Security: AD Management, Log Analysis, and Blue Team Scripts<\/a><\/li>\n<li><a href=\"https:\/\/career.hadess.io\/blog\/skills\/programming\/problem-solving-security\">Problem Solving for Security: Root Cause Analysis and Debugging<\/a><\/li>\n<li><a href=\"https:\/\/career.hadess.io\/blog\/skills\/programming\/python-security-tooling\">Python for Security: Tooling, Automation, and Exploit Development<\/a><\/li>\n<\/ul>\n<h2>Take the Next Step<\/h2>\n<p><strong>Browse 80+ skills on HADESS.<\/strong> Go to the <a href=\"https:\/\/career.hadess.io\/skills\">browse 80+ skills on hadess<\/a> on HADESS.<\/p>\n<p><strong>See your certification roadmap.<\/strong> Check out the <a href=\"https:\/\/career.hadess.io\/certificate-roadmap\">see your certification roadmap<\/a>.<\/p>\n<p><strong>Get started free<\/strong> \u2014 <a href=\"https:\/\/career.hadess.io\/login\">Create your HADESS account<\/a> and access all career tools.<\/p>\n<h2>Frequently Asked Questions<\/h2>\n<h3>How long does it take to learn this skill?<\/h3>\n<p>Most practitioners build working proficiency in 4-8 weeks of dedicated study with hands-on practice. Mastery takes longer and comes primarily through on-the-job experience.<\/p>\n<h3>Do I need certifications for this skill?<\/h3>\n<p>Certifications validate your knowledge to employers but are not strictly required. Hands-on experience and <a href=\"https:\/\/hadess.io\/cyber-portfolio\/\" title=\"Building Your Cybersecurity Portfolio from Scratch\">portfolio<\/a> projects often carry more weight in technical interviews. Check the <a href=\"https:\/\/career.hadess.io\/certificate-roadmap\">certification roadmap<\/a> for relevant options.<\/p>\n<h3>What career paths use this skill?<\/h3>\n<p>Explore the <a href=\"https:\/\/career.hadess.io\/career-skills\">career path explorer<\/a> to see which roles require this skill and how it fits into different cybersecurity specializations.<\/p>\n<p>---<\/p>\n<p><em>HADESS Team consists of cybersecurity practitioners, hiring managers, and career strategists who have collectively spent 50+ years in the field.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bash Scripting for Security: Log Parsing, Automation, and Recon. Skills, career paths, and how to get started on the HADESS platform.<\/p>\n","protected":false},"author":1,"featured_media":9577,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[104],"tags":[107,88,81,92,86,89,78,91,85,77],"class_list":["post-9330","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-skills-certifications","tag-blue-team","tag-career-coaching","tag-certifications","tag-cybersecurity","tag-incident-response","tag-job-interview","tag-penetration-testing","tag-python","tag-siem","tag-soc-analyst"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Bash Scripting for Security: Log Parsing, Automation, and Recon - HADESS<\/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:\/\/hadess.io\/bash-scripting-security\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash Scripting for Security: Log Parsing, Automation, and Recon - HADESS\" \/>\n<meta property=\"og:description\" content=\"Bash Scripting for Security: Log Parsing, Automation, and Recon. Skills, career paths, and how to get started on the HADESS platform.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hadess.io\/bash-scripting-security\/\" \/>\n<meta property=\"og:site_name\" content=\"HADESS\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-28T14:45:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-06T18:30:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"hadess\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hadess\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/\"},\"author\":{\"name\":\"hadess\",\"@id\":\"https:\/\/hadess.io\/#\/schema\/person\/9546e2936eef03fd307e0d4b96eab4a7\"},\"headline\":\"Bash Scripting for Security: Log Parsing, Automation, and Recon\",\"datePublished\":\"2026-02-28T14:45:07+00:00\",\"dateModified\":\"2026-04-06T18:30:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/\"},\"wordCount\":411,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png\",\"keywords\":[\"Blue Team\",\"Career Coaching\",\"Certifications\",\"Cybersecurity\",\"Incident Response\",\"Job Interview\",\"Penetration Testing\",\"Python\",\"SIEM\",\"SOC Analyst\"],\"articleSection\":[\"Skills &amp; Certifications\"],\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/hadess.io\/bash-scripting-security\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/\",\"url\":\"https:\/\/hadess.io\/bash-scripting-security\/\",\"name\":\"Bash Scripting for Security: Log Parsing, Automation, and Recon - HADESS\",\"isPartOf\":{\"@id\":\"https:\/\/hadess.io\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png\",\"datePublished\":\"2026-02-28T14:45:07+00:00\",\"dateModified\":\"2026-04-06T18:30:21+00:00\",\"author\":{\"@id\":\"https:\/\/hadess.io\/#\/schema\/person\/9546e2936eef03fd307e0d4b96eab4a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hadess.io\/bash-scripting-security\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/#primaryimage\",\"url\":\"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png\",\"contentUrl\":\"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png\",\"width\":2400,\"height\":1260},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hadess.io\/bash-scripting-security\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/hadess.io\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Skills &amp; Certifications\",\"item\":\"https:\/\/hadess.io\/category\/skills-certifications\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Bash Scripting for Security: Log Parsing, Automation, and Recon\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/hadess.io\/#website\",\"url\":\"https:\/\/hadess.io\/\",\"name\":\"HADESS\",\"description\":\"Cyber Security Knowledge Hub\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/hadess.io\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/hadess.io\/#\/schema\/person\/9546e2936eef03fd307e0d4b96eab4a7\",\"name\":\"hadess\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/34bea988a8bf817b77554a8a768058aa93427b6e9e5c53a9fb4273ea554b12e5?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/34bea988a8bf817b77554a8a768058aa93427b6e9e5c53a9fb4273ea554b12e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/34bea988a8bf817b77554a8a768058aa93427b6e9e5c53a9fb4273ea554b12e5?s=96&d=mm&r=g\",\"caption\":\"hadess\"},\"sameAs\":[\"https:\/\/hadess-127191vg6c.live-website.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bash Scripting for Security: Log Parsing, Automation, and Recon - HADESS","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:\/\/hadess.io\/bash-scripting-security\/","og_locale":"en_US","og_type":"article","og_title":"Bash Scripting for Security: Log Parsing, Automation, and Recon - HADESS","og_description":"Bash Scripting for Security: Log Parsing, Automation, and Recon. Skills, career paths, and how to get started on the HADESS platform.","og_url":"https:\/\/hadess.io\/bash-scripting-security\/","og_site_name":"HADESS","article_published_time":"2026-02-28T14:45:07+00:00","article_modified_time":"2026-04-06T18:30:21+00:00","og_image":[{"width":2400,"height":1260,"url":"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png","type":"image\/png"}],"author":"hadess","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hadess","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hadess.io\/bash-scripting-security\/#article","isPartOf":{"@id":"https:\/\/hadess.io\/bash-scripting-security\/"},"author":{"name":"hadess","@id":"https:\/\/hadess.io\/#\/schema\/person\/9546e2936eef03fd307e0d4b96eab4a7"},"headline":"Bash Scripting for Security: Log Parsing, Automation, and Recon","datePublished":"2026-02-28T14:45:07+00:00","dateModified":"2026-04-06T18:30:21+00:00","mainEntityOfPage":{"@id":"https:\/\/hadess.io\/bash-scripting-security\/"},"wordCount":411,"commentCount":0,"image":{"@id":"https:\/\/hadess.io\/bash-scripting-security\/#primaryimage"},"thumbnailUrl":"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png","keywords":["Blue Team","Career Coaching","Certifications","Cybersecurity","Incident Response","Job Interview","Penetration Testing","Python","SIEM","SOC Analyst"],"articleSection":["Skills &amp; Certifications"],"inLanguage":"en","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/hadess.io\/bash-scripting-security\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/hadess.io\/bash-scripting-security\/","url":"https:\/\/hadess.io\/bash-scripting-security\/","name":"Bash Scripting for Security: Log Parsing, Automation, and Recon - HADESS","isPartOf":{"@id":"https:\/\/hadess.io\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hadess.io\/bash-scripting-security\/#primaryimage"},"image":{"@id":"https:\/\/hadess.io\/bash-scripting-security\/#primaryimage"},"thumbnailUrl":"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png","datePublished":"2026-02-28T14:45:07+00:00","dateModified":"2026-04-06T18:30:21+00:00","author":{"@id":"https:\/\/hadess.io\/#\/schema\/person\/9546e2936eef03fd307e0d4b96eab4a7"},"breadcrumb":{"@id":"https:\/\/hadess.io\/bash-scripting-security\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hadess.io\/bash-scripting-security\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/hadess.io\/bash-scripting-security\/#primaryimage","url":"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png","contentUrl":"https:\/\/hadess.io\/wp-content\/uploads\/2026\/02\/hadess-bash-scripting-security.png","width":2400,"height":1260},{"@type":"BreadcrumbList","@id":"https:\/\/hadess.io\/bash-scripting-security\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hadess.io\/"},{"@type":"ListItem","position":2,"name":"Skills &amp; Certifications","item":"https:\/\/hadess.io\/category\/skills-certifications\/"},{"@type":"ListItem","position":3,"name":"Bash Scripting for Security: Log Parsing, Automation, and Recon"}]},{"@type":"WebSite","@id":"https:\/\/hadess.io\/#website","url":"https:\/\/hadess.io\/","name":"HADESS","description":"Cyber Security Knowledge Hub","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hadess.io\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Person","@id":"https:\/\/hadess.io\/#\/schema\/person\/9546e2936eef03fd307e0d4b96eab4a7","name":"hadess","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/secure.gravatar.com\/avatar\/34bea988a8bf817b77554a8a768058aa93427b6e9e5c53a9fb4273ea554b12e5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/34bea988a8bf817b77554a8a768058aa93427b6e9e5c53a9fb4273ea554b12e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/34bea988a8bf817b77554a8a768058aa93427b6e9e5c53a9fb4273ea554b12e5?s=96&d=mm&r=g","caption":"hadess"},"sameAs":["https:\/\/hadess-127191vg6c.live-website.com"]}]}},"_links":{"self":[{"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/posts\/9330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/comments?post=9330"}],"version-history":[{"count":3,"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/posts\/9330\/revisions"}],"predecessor-version":[{"id":10015,"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/posts\/9330\/revisions\/10015"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/media\/9577"}],"wp:attachment":[{"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/media?parent=9330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/categories?post=9330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hadess.io\/wp-json\/wp\/v2\/tags?post=9330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}