<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://www.ostering.com/sitemap.xsl"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://www.ostering.com/</loc>
</url>
<url>
<loc>https://www.ostering.com/a-night-in-the-life-of-our-hedgehog/</loc>
<lastmod>2026-10-04T12:29:14+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/71/85b1b709-75b6-42e4-9dc2-86ca845fb596-2.JPG</image:loc>
<image:title><![CDATA[A hedgehog's front foot poking out from under the hay inside its house.]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/ai-assisted-threat-modeling/</loc>
<lastmod>2026-10-29T15:06:22+01:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/72/00-ostering-featured-square.png</image:loc>
<image:title><![CDATA[The Threat Model Was Never the Point: What AI Threat Modelling Does and Doesn't Do]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/72/01-threat-model-step-5-of-11.png</image:loc>
<image:title><![CDATA[Stages of the three skill · 11 steps]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/72/03-before-and-after-the-room.png</image:loc>
<image:title><![CDATA[Slide 12 of the deck, Before the room, and after · five runs, n = 1 each]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/72/02-trust-belongs-to-the-author-2.png</image:loc>
<image:title><![CDATA[Redrawn from diagram1-assumed.svg and run 1's context document · PLAT-2810]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/72/04-one-finding-five-ways.png</image:loc>
<image:title><![CDATA[Counted from the finding blocks in example-output/\*/updated/output, the packs behind slide 13 · word totals 23, 450, 489, 700, 244]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/72/05-what-a-finding-contains.png</image:loc>
<image:title><![CDATA[Slide 14 of the deck, What a finding actually contains counted per finding block, five packs]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/ai-security/</loc>
<lastmod>2026-10-19T22:50:23+02:00</lastmod>
</url>
<url>
<loc>https://www.ostering.com/antlr-and-javacc-parser-generators/</loc>
<lastmod>2026-07-20T10:29:48+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/2/tool-592440_1920.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/application-security-is-more-than-just-pen-testing/</loc>
<lastmod>2026-07-22T13:46:59+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/21/appsec_teaser.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/calculating-risk-across-project-real-estate-using-graph-analysis/</loc>
<lastmod>2026-07-20T10:20:49+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/4/sweep.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/4/dependency_graph_example1.png</image:loc>
<image:title><![CDATA[example 1]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/4/dependency_graph_example2.png</image:loc>
<image:title><![CDATA[example 2]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/capec-stride-mapping/</loc>
<lastmod>2025-08-07T15:00:41+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/3/capec_stride_mapping_thumbnail.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/catasto/</loc>
<lastmod>2026-10-19T21:49:40+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/62/blast-radius-header-estate.png</image:loc>
<image:title><![CDATA[Your Tools See Repositories. Attackers See an Estate.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/62/catasto-cross-boundary-taint.png</image:loc>
<image:title><![CDATA[Catasto Cross Boundary Taint]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/62/catasto-four-questions.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/62/catasto-three-tools-three-scopes.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/configuring-tomcat-7-single-sign-on-with-spnego-kerberos-and-ldap-part-2/</loc>
<lastmod>2026-07-20T10:44:43+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/5/rolodex.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/configuring-tomcat-single-sign-on-with-spnego-kerberos-and-ldap/</loc>
<lastmod>2026-07-20T10:44:59+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/6/buckingham-palace.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/cra-nis2-and-dora-for-engineers/</loc>
<lastmod>2026-09-03T22:29:37+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/66/blast-radius-cover-cra-nis2-dora.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/66/diagram-three-regimes.png</image:loc>
<image:title><![CDATA[Three Regimes Diagram: CRA = product layer, NIS2 = organisation layer, DORA = financial-sector layer; common foundation row spanning all three]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/66/diagram-sbom-intended-vs-asbuilt.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/cursor-as-you-dev-team/</loc>
<lastmod>2026-07-20T10:22:04+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/46/cursor-dev-team.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/data-protection-and-data-privacy-part-2-of-2/</loc>
<lastmod>2026-10-19T22:18:05+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/blast-radius-part-2.png</image:loc>
<image:title><![CDATA[Data Protection and Data Privacy Part 2 of 2]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/privacy-threat-modeling.png</image:loc>
<image:title><![CDATA[Privacy Threat Modeling Overview Diagram: showing STRIPED, LINDDUN, and T.R.I.M. side by side, with the P row in STRIPED highlighted to indicate the privacy extension]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/vinkovits-privacy-suit-2.png =1800x1350 "Vinkovits Privacy Suit"</image:loc>
<image:title><![CDATA[Vinkovits Privacy Suit]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/privacy-harms.png =1800x1230 "Privacy Harms"</image:loc>
<image:title><![CDATA[Privacy Harms Diagram: two columns showing objective harms (financial, physical, discrimination, opportunity, liberty) and subjective harms (anxiety, dignity, autonomy, chilling effects, trust), with GDPR Article 82 spanning both]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/dark-patterns-catalogue.png =1800x1590 "Dark Patterns Catalogue"</image:loc>
<image:title><![CDATA[Dark Patterns Catalogue]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/data-subject-rights.png =1800x1380 "Data Subject Rights Overview"</image:loc>
<image:title><![CDATA[Data Subject Rights Overview]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/compute-and-discard.png =1800x1069 "Compute and Discard"</image:loc>
<image:title><![CDATA[Compute and Discard]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/pseudonymisation-vs-anonymisation.png =1800x1170 "Pseudonymisation vs Anonymisation"</image:loc>
<image:title><![CDATA[Pseudonymisation vs Anonymisation]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/data-inventory.png =1800x1350 "Data Inventory Structure"</image:loc>
<image:title><![CDATA[Data Inventory Structure Diagram: a record card showing all required fields grouped into Collection, Processing, Storage, Access, Use, and Consent sections, with arrows showing how the inventory feeds DSAR responses, erasure requests, ROPAs, and threat models]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/eu-ai-act-pyramid.png =1800x1118 "EU AI Act Risk Pyramid"</image:loc>
<image:title><![CDATA[EU AI Act Risk Pyramid Diagram: four tiers (Prohibited, High-Risk, Limited Risk, Minimal Risk) with examples and obligations annotated at each level]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/ai-privacy-attack-surface.png =1800x997 "AI Privacy Attack Surface"</image:loc>
<image:title><![CDATA[AI Privacy Attack Surface Diagram: model at the centre with three attack vectors radiating out — inference outputs leaking inferred PII, membership inference probing training set membership, training data extraction reconstructing training examples]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/values-vs-actions.png =1800x1140 "Values vs Actions"</image:loc>
<image:title><![CDATA[Values vs Actions]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/dependency-pruning-and-tree-shaking/</loc>
<lastmod>2026-10-19T22:21:17+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/53/pruning.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/53/reachability_direction_comparison.png =680x340 "Reachability Direction Comparison"</image:loc>
<image:title><![CDATA[Reachability Direction Comparison]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/53/metadata_table_scan_process.png =680x480 "Metadata Table Scan Process"</image:loc>
<image:title><![CDATA[Metadata Table Scan Process]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/53/confidence_scoring_model.png =680x460 "Confidence Scoring Model"</image:loc>
<image:title><![CDATA[Confidence Scoring Model]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/53/one_method_dependency_cascade.png =680x520 "One-Method Dependency Cascade"</image:loc>
<image:title><![CDATA[One-Method Dependency Cascade]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/53/pruning_impact_before_after_svg.png =680x488 "Pruning Impact — Before vs After"</image:loc>
<image:title><![CDATA[Pruning Impact - Before vs After]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/email-threat-taxonomy-mapping/</loc>
<lastmod>2026-10-29T15:08:39+01:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-stride-capec-mapping-square-1200.png</image:loc>
<image:title><![CDATA[Mapping the Email Threat Taxonomy: STRIDE, CAPEC and CWE for all 125 threats. Seven real entries from the mapping linked to their STRIDE letter, CAPEC 3.9 pattern and CWE 4.20 weakness: MX Redirection has a CAPEC pattern but no weakness, Scanner Prompt Injection a weakness but no pattern, and Remediation Race neither.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-stride-capec-cwe-fit-by-layer.png</image:loc>
<image:title><![CDATA[STRIDE fit, CAPEC 3.9 match and CWE 4.20 match for each of the nine layers of the email stack and the structural hazards]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-01-DP.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Delivery pipeline (DP), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-02-AU.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Authentication protocols (AU), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-03-CP.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Client protocols (CP), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-04-SM.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for SMTP (SM), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-05-MI.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for MIME and S/MIME (MI), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-06-DN.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for DNS layer (DN), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-07-CS.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Content scanners (CS), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-08-HF.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Human-facing layer (HF), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-09-OP.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Operations and storage (OP), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/78/email-mapping-table-10-T.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Structural hazards (T), 8 hazards, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the email infrastructure taxonomy overview page.]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/games-with-purpose/</loc>
<lastmod>2026-10-20T16:17:35+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/7/games-header.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/get-pqc-ready-pdq/</loc>
<lastmod>2026-07-20T10:03:08+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/43/cover-part-1.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/43/diagram-1-cryptanalysis-vectors.png =2400x1440 "The Two Cryptanalysis Vectors"</image:loc>
<image:title><![CDATA[The Two Cryptanalysis Vectors]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/43/diagram-2-mosca-timeline.png =2400x1440 "Mosca's Inequality Timeline"</image:loc>
<image:title><![CDATA[Mosca's Inequality Timeline]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/43/diagram-3-key-hierarchy.png =2400x1520 "The Key Hierarchy Trap"</image:loc>
<image:title><![CDATA[The Key Hierarchy Trap]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/43/diagram-4-regulatory-timeline.png =3000x1520 "PQC Regulatory Convergence 2024-2035"</image:loc>
<image:title><![CDATA[PQC Regulatory Convergence 2024-2035]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/get-pqc-ready-pdq-part-2/</loc>
<lastmod>2026-07-20T10:03:37+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/58/cover-part-2.png</image:loc>
<image:title><![CDATA[PQC Part 2: The Plan, the Order, and the Bill]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/58/diagram-5-inventories-2.png =2400x1480 "Two inventories"</image:loc>
<image:title><![CDATA[Two inventories]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/58/diagram-6-cbom-vs-usage.png =2400x1520 "What a CBOM is, and what it is not"</image:loc>
<image:title><![CDATA[What a CBOM is, and what it is not]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/58/table-2.png</image:loc>
<image:title><![CDATA[Breakdown of Effort]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/58/diagram-8-cost-ranges.png =2400x1440 "The ball park cost for your org"</image:loc>
<image:title><![CDATA[The ball park cost for your org]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/58/diagram-7-roadmap-2.png =2400x1234 "What to do, When to do it"</image:loc>
<image:title><![CDATA[What to do, When to do it]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/how-a-hedgehog-got-its-own-house/</loc>
<lastmod>2026-10-19T22:21:43+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/65/IMG_6686-2.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/65/IMG_5100.jpg =2855x2236 "The Scene of the Crime"</image:loc>
<image:title><![CDATA[Garden corner with bonsai shelving, herb pots and a wooden bird table]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/65/IMG_5550.jpg =5712x4284 "The feeding shelter"</image:loc>
<image:title><![CDATA[Temporary hedgehog shelter made from paving bricks and two roof tiles, with a water dish beneath]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/65/IMG_6674.jpg =5712x4284 "The Doorway"</image:loc>
<image:title><![CDATA[130 mm square entrance hole cut into the front panel of the wooden hedgehog house]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/65/IMG_6622.jpg =4284x5712 "The Nest Lid"</image:loc>
<image:title><![CDATA[Loose wood nest lid with finger hole and clipped corners resting over the sleeping chamber]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/65/IMG_6687.jpg =5712x4284 "My failed attempt at yakisugi"</image:loc>
<image:title><![CDATA[Test piece of pine with an uneven flame-charred surface]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/65/IMG_6603.jpg =5712x4284 "The Roof Panel Overlapping Aluminium"</image:loc>
<image:title><![CDATA[Roof panel clad in two overlapping sheets of aluminium, folded over the edges]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/65/IMG_6604.jpg =5712x4284 "The fixings on the underside"</image:loc>
<image:title><![CDATA[Underside of the roof panel showing the aluminium folds pinned into the edges]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/how-is-learning-a-human-language-like-learning-a-computer-language/</loc>
<lastmod>2025-08-07T15:04:15+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/8/books.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/ideas-and-opinions-from-the-trenches/</loc>
<lastmod>2026-07-20T10:08:57+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/38/michael-caine-idea.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/38/reachability-dep-injection.png =1024x1024 "What about the stuff that's in config and not in the code?"</image:loc>
<image:title><![CDATA[What about the stuff that's in config and not in the code?]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/38/dependency_injection.png =1344x768 "Dependency Injection"</image:loc>
<image:title><![CDATA[Dependency Injection]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/38/runtime_reachability.png =1344x710 "Are we gonna hit that edge case? Maybe when the moon and the stars align!"</image:loc>
<image:title><![CDATA[Are we gonna hit that edge case? Maybe when the moon and the stars align!]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/38/prunning.png =1024x1024 "Lets get rid of these weak dependencies we're not using!"</image:loc>
<image:title><![CDATA[Lets get rid of these weak dependencies we're not using!]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/38/sast-fn.png =1024x1024 "Ta da! We have a really low false positive rate"</image:loc>
<image:title><![CDATA[Ta da! We have a really low false positive rate]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/38/graph.png =1024x1024 "If only we had the trustworthyness data"</image:loc>
<image:title><![CDATA[If only we had the trustworthyness data]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/introduction-to-digital-signatures-for-managers/</loc>
<lastmod>2026-07-20T10:46:17+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/10/digital_signature.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/introduction-to-kerberos-for-managers/</loc>
<lastmod>2026-07-20T10:44:01+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/11/kerberos_myth-01.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/introduction-to-public-key-encryption-for-managers/</loc>
<lastmod>2026-07-20T10:39:12+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/12/encryption.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/introduction-to-saml-for-managers/</loc>
<lastmod>2026-07-20T10:43:23+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/13/key-96233_1920.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/introduction-to-ssl-for-managers/</loc>
<lastmod>2026-07-20T10:39:40+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/14/ssl.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/is-your-ai-philosophy-broken/</loc>
<lastmod>2026-07-22T14:00:26+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/39/ai_vuln_factory-2.png</image:loc>
<image:title><![CDATA[AI Vulnerability Factory]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/39/aging-subject-matter-experts.png =1024x1024 "Broken Pipeline"</image:loc>
<image:title><![CDATA[Broken Pipeline]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/39/Salary-Dumping1.png =1024x1024 "Salary Dumping"</image:loc>
<image:title><![CDATA[Salary Dumping]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/kerberos-user-impersonation-on-tomcat-with-apache/</loc>
<lastmod>2026-07-22T14:08:13+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/16/padlock.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/kicking-off-security-maturity/</loc>
<lastmod>2025-10-13T10:04:51+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/45/image-4.png</image:loc>
<image:title><![CDATA[Pulling Change]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/45/17600878635417.jpg</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/45/17602721028630.jpg</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/45/17600874790096-2.jpg</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/mapping-the-software-factory-threat-taxonomy/</loc>
<lastmod>2026-10-29T15:08:54+01:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-stride-capec-mapping-square-1200.png</image:loc>
<image:title><![CDATA[Mapping the Software Factory Threat Taxonomy: STRIDE, CAPEC and CWE for all 231 threats. Seven real entries from the mapping linked to their STRIDE letter, CAPEC 3.9 pattern and CWE 4.20 weakness; two, Stale VEX and Policy Drift, have no CAPEC pattern but do have a CWE weakness.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-stride-capec-cwe-fit-by-station.png =1920x1402 </image:loc>
<image:title><![CDATA[STRIDE fit, CAPEC 3.9 match and CWE 4.20 match for each of the 17 stations and the structural hazards]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-01-WS.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Workstation and Agents (WS), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-02-VC.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Version Control (VC), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-03-PD.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Pipeline Definition (PD), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-04-RN.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Runners (RN), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-05-ID.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Pipeline Identity and Secrets (ID), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-06-BS.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Build Systems (BS), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-07-DR.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Dependency Resolution (DR), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-08-SG.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Scanners and Gates (SG), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-09-PV.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Provenance and Attestation (PV), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-10-RG.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Registries (RG), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-11-FW.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Firewall and Quarantine (FW), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-12-BM.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for SBOM and VEX (BM), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-13-IC.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Infrastructure as Code (IC), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-14-IM.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Container Images (IM), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-15-RT.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Container Runtime (RT), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-16-OR.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Orchestration (OR), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-17-DL.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Delivery and Deployment (DL), 13 threats, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/122/software-factory-mapping-table-18-T.png</image:loc>
<image:title><![CDATA[Table: STRIDE, CAPEC and CWE mapping for Structural hazards (T), 10 hazards, with each entry's STRIDE categories and fit, CAPEC 3.9 patterns and CWE 4.20 weaknesses. The full mapping is in the Excel, SKOS and STIX downloads on the software factory taxonomy overview page.]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/mitigating-third-party-component-risk/</loc>
<lastmod>2026-07-20T10:52:51+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/52/TM_Deps_Feature2.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/52/Screenshot-2026-03-19-at-11.11.21-2.png =3972x2228 "libhunt.com"</image:loc>
<image:title><![CDATA[LibHunt.com]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/52/category_vs_feature_level_discovery.svg =680x520 "Category vs Feature-Level Discovery Diagram"</image:loc>
<image:title><![CDATA[Category vs Feature-Level Discovery Diagram]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/52/feature_level_pipeline.svg =680x580 "Feature-Level Alternative Discovery Pipeline"</image:loc>
<image:title><![CDATA[Feature-Level Alternative Discovery Pipeline]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/52/dependency_swap_combined.svg =680x420 "Cost-Benefit Example"</image:loc>
<image:title><![CDATA[Cost-Benefit Example]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/52/dependency_swap_evaluation_flow.svg =680x540 "The Mitigation Process"</image:loc>
<image:title><![CDATA[The Mitigation Process]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/52/sbom_graph_dual_mode_architecture.svg =680x500 "SBOM-Graph Dual-Mode Architecture"</image:loc>
<image:title><![CDATA[SBOM-Graph Dual-Mode Architecture]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/one-key-to-rule-them-all/</loc>
<lastmod>2026-10-19T22:23:06+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/67/blast-radius-header-one-key.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/67/diagram-1-two-gates-2.png =2400x1280 "Figure 1: The same IAM mistake, two very different blast radii. On the left the KMS gate was already open for everyone. On the right it only ever opened for Tenant A."</image:loc>
<image:title><![CDATA[Two gates to plaintext: with one shared KMS key an IAM wildcard opens every tenant; with one key per tenant the KMS gate still holds for everyone else.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/67/diagram-2-envelope-encryption.png =2400x1120 "Figure 2: Thousands of DEKs, one wrapping key, one authorisation question. The caller never touches any of them."</image:loc>
<image:title><![CDATA[Envelope encryption: many per-object DEKs, all wrapped by one KMS key, decrypted transparently by S3 for any principal with the right IAM permissions.]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/ostering/</loc>
<lastmod>2025-08-05T21:46:39+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/15/ostering.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/owasp-application-security-awareness-campaigns/</loc>
<lastmod>2026-07-22T14:11:22+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/9/top_ten_blog_teaser.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/page/2/</loc>
</url>
<url>
<loc>https://www.ostering.com/page/3/</loc>
</url>
<url>
<loc>https://www.ostering.com/page/4/</loc>
</url>
<url>
<loc>https://www.ostering.com/privacy-policy-for-wwwosteringcom/</loc>
<lastmod>2025-08-07T11:41:10+02:00</lastmod>
</url>
<url>
<loc>https://www.ostering.com/programming-language-peculiarities-java-wat/</loc>
<lastmod>2026-07-20T10:25:06+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/28/coffee-66850_640.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/programming-language-peculiarities-javascript-wat/</loc>
<lastmod>2026-07-20T10:25:31+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/29/code-583073_1280.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/python3-notes/</loc>
<lastmod>2025-08-06T11:43:35+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/23/python.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/saml-single-sign-on-with-jboss-wildfly-and-picketlink/</loc>
<lastmod>2026-07-22T14:08:01+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/17/saml_jboss.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/saml-single-sign-on-with-tomcat-and-picketlink/</loc>
<lastmod>2026-07-22T14:09:22+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/18/woman-163426_1920.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/sast-vs-claude-code-security-a-deep-dive/</loc>
<lastmod>2026-07-22T13:48:06+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/48/SAST_vs_Claude.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/48/exploit_poc.jpeg =1344x768 "Exploit POC"</image:loc>
<image:title><![CDATA[Exploit POC]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/scarno/</loc>
<lastmod>2026-08-20T00:07:46+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/63/blast-radius-header-scarno.png</image:loc>
<image:title><![CDATA[scarno:Cut the dead wood before it catches fire]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/63/scarno-missed-references.png</image:loc>
<image:title><![CDATA[scarno missed references]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/63/scarno-four-verdicts.png</image:loc>
<image:title><![CDATA[scarno four verdicts]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/63/scarno-tree-terminal.png</image:loc>
<image:title><![CDATA[scarno tree terminal]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/63/scarno-abi-explainer.png</image:loc>
<image:title><![CDATA[scarno abi explainer]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/63/scarno-ci-pipeline.png</image:loc>
<image:title><![CDATA[Scarno CI Pipeline]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/63/slsa3-verification.png</image:loc>
<image:title><![CDATA[SLSA Level 3 Verification]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/security-misnomers/</loc>
<lastmod>2025-08-05T21:47:01+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/19/airport_control-2.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/slsa-and-provenance/</loc>
<lastmod>2026-07-22T09:42:25+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/61/blast-radius-cover-slsa.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/61/diagram-slsa-levels.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/61/diagram-provenance-anatomy.png =1488x1108 "Anatomy of a Provenance Attestation"</image:loc>
<image:title><![CDATA[Anatomy of a Provenance Attestation]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/61/diagram-provenance-chain.png =2694x940 "Provenance Chain Diagram"</image:loc>
<image:title><![CDATA[Provenance Chain Diagram]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/61/diagram-slsa-toolchain.png =2500x1120 "Provenance Toolchain Map"</image:loc>
<image:title><![CDATA[Provenance Toolchain Map]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/software-engineering-has-regressed-50-years-since-ai/</loc>
<lastmod>2026-10-19T22:25:32+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/55/se_regression.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/55/se_regression_timeline.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/55/development_vs_engineering.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/55/orchestrator_agent_skills.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/55/eight_step_engineering_process.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/software-engineering-security-culture/</loc>
<lastmod>2026-07-22T14:01:41+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/mold.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/acme_sec.png =1024x1024 "Aww but that's not fun!"</image:loc>
<image:title><![CDATA[Aww but that's not fun!]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/the_other_team_arent_doing_it.png =1024x1024 "Not exactly leading by example"</image:loc>
<image:title><![CDATA[Not exactly leading by example]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/existed_already.png =1024x1024 "If it's broken why fix it?"</image:loc>
<image:title><![CDATA[If it's broken why fix it?]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/ramshackle.png =1024x1024 "Yeah that'll work!"</image:loc>
<image:title><![CDATA[Yeah that'll work!]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/history_repeating.png =1024x1024 "Déjà Vu"</image:loc>
<image:title><![CDATA[Déjà Vu]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/monument.png =1024x1024 "Commemorating the ... incident"</image:loc>
<image:title><![CDATA[Commemorating the ... incident]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/clean-house.png =1024x1024 "Reflections on Clean Code: Why Isn’t This the Norm Everywhere?"</image:loc>
<image:title><![CDATA[Reflections on Clean Code: Why Isn’t This the Norm Everywhere?]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/appsec_ratio.png =1024x1024 "The ratio of appsec engineers to software engineers is frightening"</image:loc>
<image:title><![CDATA[The ratio of appsec engineers to software engineers is frightening]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/budget.png =1024x1024 "Too few people and too few resources"</image:loc>
<image:title><![CDATA[Too few people and too few resources]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/36/appsec-racing.png =1024x1024 "AppSec toys have arrived"</image:loc>
<image:title><![CDATA[AppSec toys have arrived]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/some-thoughts-on-privacy/</loc>
<lastmod>2026-10-19T22:28:03+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/44/blast-radius-part-1.png</image:loc>
<image:title><![CDATA[Untangling the Confusion]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/44/personal-data-taxonomy.png =1800x1170 "Personal Data Taxonomy"</image:loc>
<image:title><![CDATA[Personal Data Taxonomy]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/44/data-lifecycle.png =1800x1470 "Data Lifecycle"</image:loc>
<image:title><![CDATA[Data Lifecycle]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/44/contextual-integrity.png =1800x1230 "Contextual Integrity"</image:loc>
<image:title><![CDATA[Contextual Integrity]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/44/privacy-principles-wheel.png =1800x1320 "Privacy Principles Wheel"</image:loc>
<image:title><![CDATA[Privacy Principles Wheel]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/44/privacy-by-design.png =1800x900 "Cavoukian's 7 Foundational Principles"</image:loc>
<image:title><![CDATA[Cavoukian's 7 Foundational Principles]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/sparse-or-dense-claude-mythos-dan-geer-and-where-we-should-actually-be-spending-our-effort/</loc>
<lastmod>2026-07-22T13:49:41+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/56/cover-image.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/56/density-diagram.png</image:loc>
<image:title><![CDATA[Years bugs survived in hardened code: OpenBSD TCP stack 27yrs, FFmpeg H.264 16yrs, FreeBSD NFS 17yrs, Linux kernel chains, Firefox 147 90x improvement, crypto library implementation flaws]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/56/foundational-vs-application-layer.png</image:loc>
<image:title><![CDATA[Application-layer vulnerabilities can be contained by sandboxes, least privilege, and trust boundary checks. Foundational vulnerabilities in cryptography, auth, kernel cannot be wrapped because they are themselves the wrapping]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/56/mosca-timeline.png</image:loc>
<image:title><![CDATA[Mosca's theorem timeline: when X (data shelf life) plus Y (migration time) is greater than Z (quantum arrival), data is already exposed. Short-shelf-life data like passwords is safe; long-shelf-life data like biometrics and PII is already in the harvest-now-decrypt-later window]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/56/crypto-agility.png</image:loc>
<image:title><![CDATA[Two-panel comparison: hardcoded crypto requires code changes and release cycles for every algorithm migration, while KMS/HSM-mediated agile crypto turns migration into a configuration change and a key roll, with lazy re-encryption migrating data organically on read]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/src2sink/</loc>
<lastmod>2026-08-20T15:11:37+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/64/blast-radius-header-src2sink.png</image:loc>
<image:title><![CDATA[src2sink: The Ground Truth Your LLM SAST Is Missing]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/64/src2sink-silos.png</image:loc>
<image:title><![CDATA[Diagram: five repos, five clean scanner reports, one exploitable path; the problem statement]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/64/src2sink-stitched-path.png</image:loc>
<image:title><![CDATA[Diagram: the same five repos as the silos diagram, now one continuous typed path; the before/after pair]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/64/src2sink-path-construction-2.png</image:loc>
<image:title><![CDATA[Diagram: how it's built: per-repo extraction, entry/exit metadata, exits joined to entries; the 'how' for sceptics]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/64/src2sink-labelled-trace.png</image:loc>
<image:title><![CDATA[Diagram: one raw-payload endpoint walked upstream and downstream, every node labelled with type, family, repo, PII/data class, confidence]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/64/src2sink-pii-lifecycle.png</image:loc>
<image:title><![CDATA[Diagram: one phone number across five repos: ingress, queue, store, log leak, third-party egress]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/64/src2sink-crypto-inventory.png</image:loc>
<image:title><![CDATA[Diagram: per-repo crypto cards and why the inventory precedes any PQC migration]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/supply-chain-security/</loc>
<lastmod>2026-10-19T21:07:35+02:00</lastmod>
</url>
<url>
<loc>https://www.ostering.com/talks-3/</loc>
<lastmod>2026-10-26T11:25:34+01:00</lastmod>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/</loc>
<lastmod>2026-10-29T15:51:30+01:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/91/taxonomies-hub-square-1200.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/91/email-00-overview-1920x1080.png</image:loc>
<image:title><![CDATA[Email Infrastructure Threat Taxonomy: the path a message takes through the nine layers of the email stack]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/91/sf-00-overview-1920x1080.png</image:loc>
<image:title><![CDATA[Software Factory Threat Taxonomy: the two production lines of stations and the structural hazards]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/authentication-protocols/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/client-protocols/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/content-scanners/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/delivery-pipeline/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/dns-layer/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/human-facing-layer/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/mime-and-s-mime/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/operations-and-storage/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/smtp/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/email-infrastructure/structural-hazards/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/build-systems/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/container-images/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/container-runtime/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/delivery-and-deployment/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/dependency-resolution/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/firewall-and-quarantine/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/infrastructure-as-code/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/orchestration/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/pipeline-definition/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/pipeline-identity-and-secrets/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/provenance-and-attestation/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/registries/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/runners/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/sbom-and-vex/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/scanners-and-gates/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/structural-hazards-2/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/version-control/</loc>
</url>
<url>
<loc>https://www.ostering.com/taxonomies/software-factory/workstation-and-agents/</loc>
</url>
<url>
<loc>https://www.ostering.com/the-factory-is-the-target/</loc>
<lastmod>2026-10-29T15:01:00+01:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/90/software-factory-taxonomy-square-1200.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/90/taxonomy-anatomy-of-an-entry-1600x900.png</image:loc>
<image:title><![CDATA[Anatomy of an entry: PD·J, Unpinned Third-Party Step, with its reference, threat, mitigation principle, three design measures and the public cases it was seen in]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/90/taxonomy-seen-in-the-wild-1600x900.png</image:loc>
<image:title><![CDATA[Seen in the wild: the number of entries at each station that name a public incident or disclosure, 75 of 231 in all, with the four control stations outlined]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/90/visual-factory-map-1600x900.png</image:loc>
<image:title><![CDATA[The factory, station by station: Line 1 runs through nine stations from Workstation and Agents to Provenance and Attestation, the artifact crosses over, and Line 2 runs through eight stations from Registries to Delivery and Deployment. Ten structural hazards cover the factory as a whole.]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/the-unmodeled-attack-surface/</loc>
<lastmod>2026-10-29T15:08:21+01:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/68/email-taxonomy-square.png</image:loc>
<image:title><![CDATA[X-ray view of a mail flow: an envelope passes the edge and the scanner on its way to the mailbox while a second envelope takes a path underneath that no control saw]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/68/composition-three-controls.png =1920x1080 "Three controls, three versions of one message. Each did its job; the attack lives in the differences."</image:loc>
<image:title><![CDATA[Three hops in a mail path. The edge MTA verifies the signature on version 1 of a message, the gateway rewrites it and scans version 2, the client re-parses and renders version 3. Four consequences are listed with the taxonomy entries they map to.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/68/email-stack-nine-layers.png =1920x1080 "The nine layers as positions in a real mail flow, with the structural hazards cutting across all of them."</image:loc>
<image:title><![CDATA[Diagram of a mail flow from sending MTA to a person, with the nine layers of the taxonomy marked where they sit: SMTP on each hop, the delivery pipeline as the span of hops, authentication and content scanners as inspection points, MIME as the message itself, client protocols and the human-facing layer at the mailbox end, operations and storage as a plane of copies below, DNS underneath everything, and the structural hazards as a band across the top.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/68/email-taxonomy-table-00-overview.png</image:loc>
<image:title><![CDATA[The layers of the email stack: the nine layers and the structural hazards, with each one's prefix, number of entries and scope.]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/the-wine-has-turned-to-vinegar/</loc>
<lastmod>2026-10-01T09:00:20+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/69/wine-to-vinegar.png</image:loc>
<image:title><![CDATA[Line drawing of a wine glass filled with pale vinegar, with a price tag reading $249B hanging from the stem, beside the title "The Wine Has Turned to Vinegar".]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/69/the-extraction-cycle.png =3200x1800 "The extraction cycle. In wine, step 5 produced a co-operative. In software, we are still at step 4."</image:loc>
<image:title><![CDATA[Five numbered cards showing a cycle in vineyards and in software: push for volume, quality degrades, farmers burn out, investors extract, someone says "enough". Step 4 is highlighted and marked "we are here".]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/69/the-spending-paradox.png =3200x1800 "Global security spending set against the cost of poor software quality in the US alone. Sources: Gartner (2026</image:loc>
<image:title><![CDATA[Two bars drawn to scale: a short one for $248.9 billion of projected 2026 security spending and a much longer one for the $2.41 trillion annual cost of poor software quality in the US. Below: 74% of organisations with security debt, $4.44 million average breach cost, 33% of developer time spent on technical debt.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/69/ai-as-cost-cutting.png =3200x1800 "Contaminated fertiliser: what happens when AI goes into the pipeline as a cost cut. Sources: GitHub, Veracode, CodeRabbit, Sonatype, Verizon DBIR, IDEsaster research."</image:loc>
<image:title><![CDATA[Six statistics on a dark background: 46% of code written by GitHub Copilot for its users, 45% of AI code samples with vulnerabilities, 2.74 times more XSS vulnerabilities, 454,600 new malicious packages in 2025, third-party breach involvement up from 15% to 30%, and 10 of 10 AI IDEs exploitable by prompt injection.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/69/the-farmers-are-leaving.png =3200x1800 "The farmers are leaving, and not because they are weak. Sources: Cybersecurity Ventures (2023</image:loc>
<image:title><![CDATA[Bars drawn to scale comparing average CISO tenure of 18 to 26 months with 4.9 years for other C-suite roles. Beside them: 76% of IT and cybersecurity professionals report burnout, Gartner predicted about 50% of security leaders would change jobs by 2025 with 1 in 4 leaving for different roles, and a 4.8 million global workforce gap.]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/69/someone-must-be-the-mayor.png =3200x1800 "The co-operative doesn't form itself. Who will gather the farmers?"</image:loc>
<image:title><![CDATA[Quote card reading "Someone must be the mayor", followed by "Quality over quantity. Craft over speed. Foundations over features. Security built in, not bolted on." and the question "Who will gather the farmers?"]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/threat-modeling/</loc>
<lastmod>2026-10-26T11:23:30+01:00</lastmod>
</url>
<url>
<loc>https://www.ostering.com/threat-modeling-ai-systems-a-complete-playbook-for-practitioners/</loc>
<lastmod>2026-10-19T22:32:31+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/57/blast-radius-cover-2.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/57/adversarial-subspace-diagram.png</image:loc>
<image:title><![CDATA[he adversarial subspace]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/57/decision-boundary-transfer-diagram.png</image:loc>
<image:title><![CDATA[The decision boundary]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/threat-modeling-culture/</loc>
<lastmod>2025-09-21T15:13:43+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/37/image-4.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/37/threat_modeling.png =1024x1024 "Feature Express"</image:loc>
<image:title><![CDATA[Feature Express]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/37/post-releast-tm.png =1024x1024 "Threat Modeling Too Late"</image:loc>
<image:title><![CDATA[Threat Modeling Too Late]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/37/without-tm.png =1024x1024 "Exponential Vulnerability Backlog Growth"</image:loc>
<image:title><![CDATA[Exponential Vulnerability Backlog Growth]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/37/design-phase-tm.png =1024x1024 "Threat Model Early"</image:loc>
<image:title><![CDATA[Threat Model Early]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/37/with-tm.png =1024x1024 "Vulnerability Utopia"</image:loc>
<image:title><![CDATA[Vulnerability Utopia]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/threat-modeling-gameplay-with-eop/</loc>
<lastmod>2025-10-12T18:51:54+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/1/eop_book.jpg</image:loc>
<image:title><![CDATA[Threat Modeling Gameplat with EoP]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/threat-modeling-mcp/</loc>
<lastmod>2026-10-19T22:34:49+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/60/blast-radius-cover-mcp.png</image:loc>
<image:title><![CDATA[Threat Modeling MCP]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/60/diagram-mcp-trust-boundary.png =2000x1120 "MCP Trust Boundary Diagram"</image:loc>
<image:title><![CDATA[MCP Trust Boundary Diagram]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/60/diagram-lethal-trifecta.png =2000x1640 "Lethal Trifecta Venn Diagram"</image:loc>
<image:title><![CDATA[Lethal Trifecta Venn Diagram]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/60/diagram-base-rate-funnel.png =2160x1200 "Base-Rate Funnel Diagram"</image:loc>
<image:title><![CDATA[Base-Rate Funnel Diagram]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/60/diagram-reference-monitor.png =2240x1200 "Reference Monitor Diagram"</image:loc>
<image:title><![CDATA[Reference Monitor Diagram]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/60/diagram-control-tiers-strip.png =2240x880 "bounds impact vs reduces likelihood"</image:loc>
<image:title><![CDATA[bounds impact vs reduces likelihood]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/threat-modeling-remotely-with-miro-and-eop/</loc>
<lastmod>2026-07-20T10:28:32+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/34/miroverse_threat_modeling_with_eop.png</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/34/convert_to_jira_issue_dialog.png</image:loc>
<image:title><![CDATA[convert to Jira issue dialog]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/threat-modeling-your-dependencies/</loc>
<lastmod>2026-07-20T10:52:33+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/51/TM_Deps_Feature1.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/51/vulnerability_cascade_propagation.svg</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/51/dependency_graph_score_propagation.svg</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/51/effective_score_calculation.svg</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/three-brass-monkeys/</loc>
<lastmod>2026-07-20T10:17:23+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/22/ThreeBrassMonkeys.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/why-sast-is-broken/</loc>
<lastmod>2026-07-22T14:03:17+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/47/sast.jpg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/47/sqli.JPG =2752x1536 "Invisible Taint"</image:loc>
<image:title><![CDATA[Invisible Taint]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/47/duplicates.JPG =2752x1536 "Duplicate Hell"</image:loc>
<image:title><![CDATA[Duplicate Hell]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/47/context.JPG =2752x1536 "Path Traversal"</image:loc>
<image:title><![CDATA[Path Traversal]]></image:title>
</image:image>
</url>
<url>
<loc>https://www.ostering.com/your-sbom-data-has-been-gathering-dust-until-now/</loc>
<lastmod>2026-07-20T10:12:59+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/sbom-graph-logo.jpeg</image:loc>
<image:title><![CDATA[]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.16.20-2.png</image:loc>
<image:title><![CDATA[Zero Day Blast Radius]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-22.14.45.png</image:loc>
<image:title><![CDATA[Dependants Report - postgresql@42.5.0]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.15.46.png</image:loc>
<image:title><![CDATA[All Vulnerabilities Report]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.15.56.png</image:loc>
<image:title><![CDATA[CVE Detail — Dependants]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.15.06.png</image:loc>
<image:title><![CDATA[Internal Library Centrality]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.15.29.png</image:loc>
<image:title><![CDATA[Inward Centrality Graph]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.23.29.png</image:loc>
<image:title><![CDATA[Cyclic Dependency Graph]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.23.58.png</image:loc>
<image:title><![CDATA[Cyclic Dependencies Report]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.23.51.png</image:loc>
<image:title><![CDATA[SNAPSHOT Dependencies Report]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-09-at-11.54.38.png</image:loc>
<image:title><![CDATA[Diamond Dependency — Multi-Version Graph]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-09-at-16.32.23.png</image:loc>
<image:title><![CDATA[Diamond Dependency Acme-Kafka 2.0.0 Report]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/50/Screenshot-2026-03-04-at-21.16.40.png</image:loc>
<image:title><![CDATA[Non-SemVer Versions Report]]></image:title>
</image:image>
</url>
</urlset>