<?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/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-08-20T00:07:28+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-07-22T13:47:16+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-modelling.png</image:loc>
<image:title><![CDATA[Image description]]></image:title>
</image:image>
<image:image>
<image:loc>https://www.ostering.com/media/posts/59/vinkovits-privacy-suit.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]]></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]]></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]]></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]]></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-07-30T13:18:15+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/games-with-purpose-nov-2022/</loc>
<lastmod>2025-08-05T18:16:37+02:00</lastmod>
<image:image>
<image:loc>https://www.ostering.com/media/posts/7/games_small.jpg</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-08-31T14:45:45+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/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-09-17T23:41:38+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/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-07-22T13:48:46+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-07-22T09:47:45+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/talks/</loc>
<lastmod>2025-08-19T18:32:30+02:00</lastmod>
</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-ai-systems-a-complete-playbook-for-practitioners/</loc>
<lastmod>2026-07-20T09:55:56+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-07-20T18:06:56+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>