CINXE.COM

New Kubernetes Integration: Discover APIs in Kubernetes

<!DOCTYPE html> <html lang="en"> <head> <title>New Kubernetes Integration: Discover APIs in Kubernetes</title> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="HandheldFriendly" content="True" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <style> :root { --button-bg-color: #ffffff; --button-text-color: var(--color-darkgrey); } </style> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,700&family=Inter:wght@400;500;600;700&display=swap"> <link rel="stylesheet" type="text/css" href="/blog/assets/built/screen.css?v=bdd0505571" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.28.0/themes/prism-tomorrow.min.css" integrity="sha512-vswe+cgvic/XBoF1OcM/TeJ2FW0OofqAVdCZiEYkd6dwGXthvkSFWOoGGJgS2CW70VK5dQM5Oh+7ne47s74VTg==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.12.3/tocbot.css"> <meta name="description" content="Discover and secure APIs in your Kubernetes clusters with Escape&#x27;s new integration. Gain real-time visibility and reduce API risks."> <link rel="icon" href="https://escape.tech/blog/content/images/size/w256h256/2021/09/ESCAPE-LOGO-28-07-2021-08_1000.png" type="image/png"> <link rel="canonical" href="https://escape.tech/blog/introducing-kubernetes-integration/"> <meta name="referrer" content="no-referrer-when-downgrade"> <link rel="amphtml" href="https://escape.tech/blog/introducing-kubernetes-integration/amp/"> <meta property="og:site_name" content="Escape - The API Security Blog"> <meta property="og:type" content="article"> <meta property="og:title" content="New Kubernetes Integration: Discover APIs in Kubernetes"> <meta property="og:description" content="Identify undocumented and potentially vulnerable APIs in your Kubernetes clusters with ease."> <meta property="og:url" content="https://escape.tech/blog/introducing-kubernetes-integration/"> <meta property="og:image" content="https://escape.tech/blog/content/images/2024/12/Kubernetes-Integration-cover.png"> <meta property="article:published_time" content="2024-12-16T09:11:28.000Z"> <meta property="article:modified_time" content="2024-12-16T10:14:28.000Z"> <meta property="article:tag" content="Product updates"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="New Kubernetes Integration: Discover APIs in Kubernetes"> <meta name="twitter:description" content="Identify undocumented and potentially vulnerable APIs in your Kubernetes clusters with ease."> <meta name="twitter:url" content="https://escape.tech/blog/introducing-kubernetes-integration/"> <meta name="twitter:image" content="https://escape.tech/blog/content/images/2024/12/Kubernetes-Integration-cover.png"> <meta name="twitter:label1" content="Written by"> <meta name="twitter:data1" content="Alexandra Charikova"> <meta name="twitter:label2" content="Filed under"> <meta name="twitter:data2" content="Product updates"> <meta name="twitter:site" content="@EscapeTechHQ"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="670"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "Escape - The API Security Blog", "url": "https://escape.tech/blog/", "logo": { "@type": "ImageObject", "url": "https://escape.tech/blog/content/images/2022/05/escape-logo.0e6d59f.svg", "width": 141, "height": 36 } }, "author": { "@type": "Person", "name": "Alexandra Charikova", "image": { "@type": "ImageObject", "url": "https://escape.tech/blog/content/images/2023/09/profile.jpeg", "width": 800, "height": 800 }, "url": "https://escape.tech/blog/author/alexandra/", "sameAs": [ "https://www.linkedin.com/in/alexandra-charikova/" ] }, "headline": "New Kubernetes Integration: Discover APIs in Kubernetes", "url": "https://escape.tech/blog/introducing-kubernetes-integration/", "datePublished": "2024-12-16T09:11:28.000Z", "dateModified": "2024-12-16T10:14:28.000Z", "image": { "@type": "ImageObject", "url": "https://escape.tech/blog/content/images/2024/12/Kubernetes-Integration-cover.png", "width": 1200, "height": 670 }, "keywords": "Product updates", "description": "Identify undocumented and potentially vulnerable APIs in your Kubernetes clusters with ease. ", "mainEntityOfPage": "https://escape.tech/blog/introducing-kubernetes-integration/" } </script> <meta name="generator" content="Ghost 5.109"> <link rel="alternate" type="application/rss+xml" title="Escape - The API Security Blog" href="https://escape.tech/blog/rss/"> <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.49/umd/portal.min.js" data-i18n="true" data-ghost="https://escape.tech/blog/" data-key="0e4cafc1e55c09b1ec7809b460" data-api="https://escape.tech/blog/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; }</style> <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/sodo-search.min.js" data-key="0e4cafc1e55c09b1ec7809b460" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/main.css" data-sodo-search="https://escape.tech/blog/" data-locale="en" crossorigin="anonymous"></script> <script defer src="https://cdn.jsdelivr.net/ghost/announcement-bar@~1.1/umd/announcement-bar.min.js" data-announcement-bar="https://escape.tech/blog/" data-api-url="https://escape.tech/blog/members/api/announcement/" crossorigin="anonymous"></script> <link href="https://escape.tech/blog/webmentions/receive/" rel="webmention"> <script defer src="/blog/public/cards.min.js?v=bdd0505571"></script> <link rel="stylesheet" type="text/css" href="/blog/public/cards.min.css?v=bdd0505571"> <script defer src="/blog/public/member-attribution.min.js?v=bdd0505571"></script><style>:root {--ghost-accent-color: #09134b;}</style> <script id="userled-sdk-snippet"> window.userledSettings={app_id:"21ef73bb-cd0a-4f2b-a193-fa051a5974a1"},window.userledSnippetTs=(new Date).getTime(),(function(){if(!window.Userled){window.Userled=function(){return e.call(arguments)};var e=window.Userled;e.call=function(n){return new Promise((function(i,d){e.queue.push([].concat.apply([i,d],n))}))},e.queue=[],e.snippetVersion="4.0.0",window.Userled("page")}})(); </script> <script id="userled-sdk" type="module" src="https://sdk.userledclient.io?appId=21ef73bb-cd0a-4f2b-a193-fa051a5974a1&snippetVersion=4.0.0" data-cfasync="false"></script> <!-- Google tag (gtag.js): Google Ads --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-234004425-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-234004425-1'); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-0KYN4GPPPE"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-0KYN4GPPPE'); </script> <script> var gh_white_logo = 'https://escape.tech/assets/escape-logo.png'; </script> <!-- Global site tag (gtag.js) - Google Analytics - whole website--> <script async src="https://www.googletagmanager.com/gtag/js?id=G-5FTS8Y5Z4N"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-5FTS8Y5Z4N'); </script> <script> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MDMBJH6V'); </script> <!-- End Google Tag Manager --> <!-- Google Tag Manager - blog--> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','data layer,'GTM-MLMM8LHP');</script> <!-- End Google Tag Manager --> <script> var gh_white_logo = 'https://escape.tech/assets/escape-logo.png'; </script> <!-- Fathom - beautiful, simple website analytics --> <script src="https://cdn.usefathom.com/script.js" data-site="WIHBBNEH" defer></script> <!-- / Fathom --> <!-- Schema --> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://escape.tech/" },{ "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://escape.tech/blog" }] } </script> <!-- Schema --> <style> .container.large { max-width: calc(750px + 8vw); } </style> <script> var gh_white_logo = "https://i.ibb.co/cx8zN47/ESCAPE-LOGO-28-07-2021-02.png" </script> <!-- Prism.js - syntax highlighting --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/themes/prism.min.css" integrity="sha512-tN7Ec6zAFaVSG3TpNAKtk4DOHNpSwKHxxrsiw4GHKESGPs5njn/0sMCUMl2svV4wo4BK/rCP7juYz+zx+l6oeQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <style> .gh-head { position: -webkit-sticky; /* Older Safari browsers */ position: sticky; /* Most other modern browsers including Safari */ top: 0; z-index: 4000; } /* Shine Case study style */ #strongshine-chose-escape-to-enhance-its-application-security-achieve-a-thorough-inventory-of-their-apis-and-help-developers-fix-issues-quicklystrong, #within-a-week-shine-covered-four-applications-accounting-for-300-endpoints-this-rapid-coverage-led-to-the-discovery-and-fixing-of-at-least-strong2-critical-vulnerabilities-in-less-than-24-hours-post-discoverystrong { width: 65%; font-size: 30px; color: #01e2b7; } @media (max-width: 640px) { #strongshine-chose-escape-to-enhance-its-application-security-achieve-a-thorough-inventory-of-their-apis-and-help-developers-fix-issues-quicklystrong, #within-a-week-shine-covered-four-applications-accounting-for-300-endpoints-this-rapid-coverage-led-to-the-discovery-and-fixing-of-at-least-strong2-critical-vulnerabilities-in-less-than-24-hours-post-discoverystrong { width: 90%; font-size: 1.2em; } } #strongstart-securing-your-apis-for-freestrong { margin-bottom: 0.5em; } .kg-header-card a.kg-header-card-button { display: inline-block !important; padding: 20px 16.5px !important; font-size: 1.4rem !important; font-size: 20px !important; line-height: 0.325em !important; color: #1a1b3d !important; background-color: #05e2b7 !important; border-radius: 6px !important; } </style> </head> <body class="post-template tag-product-updates has-sans-body"> <div class="viewport"> <header id="gh-head" class="gh-head"> <nav class="gh-head-inner inner gh-container"> <div class="gh-head-brand"> <a class="gh-head-logo" href="https://escape.tech/blog"> <img width="140" src="https://escape.tech/blog/content/images/2022/05/escape-logo.0e6d59f.svg" alt="Escape - The API Security Blog" /> </a> <div class="mobile-cta-container"> <a style="border-radius: 100px; background-color: #05e2b7; color: #1a1b3d; margin-right: 0; font-weight: 700; font-size: 1.4rem; padding: 12px 18px 13px;" href="https://calendly.com/d/46g-xzy-dgw?utm_source=navbar&utm_medium=blog">Get&nbsp;a&nbsp;demo</a> </div> <a class="gh-burger" role="button"> <div class="gh-burger-box"> <div class="gh-burger-inner"></div> </div> </a> </div> <div class="gh-head-menu"> <ul class="nav"> <li class="nav-escape-platform"><a href="https://escape.tech">Escape Platform</a></li> <li class="nav-case-studies"><a href="https://escape.tech/blog/tag/case-study/">Case studies</a></li> <li class="nav-best-practices"><a href="https://escape.tech/blog/tag/best-practices/">Best Practices</a></li> <li class="nav-events"><a href="https://escape.tech/blog/tag/events/">Events</a></li> <li class="nav-community"><a href="https://join.slack.com/t/escapecommunity/shared_invite/zt-2cpklvqqv-m_h4fzlZhSatxcrxetf3Fg">Community</a></li> </ul> <div class="gh-head-actions"> <a class="try-for-free-button" href="https://calendly.com/d/46g-xzy-dgw?utm_source=navbar&utm_medium=blog">Get&nbsp;a&nbsp;demo</a> <button class="gh-search-icon" aria-label="search" data-ghost-search style="display: inline-flex; justify-content: center; align-items: center; width: 32px; height: 32px; border: 0; color: inherit; background-color: transparent; cursor: pointer; outline: none; margin-left: 4px;"> <svg width="20" height="20" fill="none" viewBox="0 0 24 24"><path d="M14.949 14.949a1 1 0 0 1 1.414 0l6.344 6.344a1 1 0 0 1-1.414 1.414l-6.344-6.344a1 1 0 0 1 0-1.414Z" fill="currentColor"/><path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-9 7a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z" fill="currentColor"/></svg> </button> </div> </div> </nav> </header> <div class="site-content"> <main id="site-main" class="site-main"> <article class="article post tag-product-updates image-small"> <header class="article-header gh-canvas"> <section class="article-tag"> <a href="https://escape.tech/blog/tag/product-updates/">Product updates</a> </section> <h1 class="article-title">Introducing Kubernetes Integration: Discover APIs in Kubernetes</h1> <p class="article-excerpt">Identify undocumented and potentially vulnerable APIs in your Kubernetes clusters with ease. </p> <div class="article-byline"> <section class="article-byline-content"> <ul class="author-list"> <li class="author-list-item"> <a href="/blog/author/alexandra/" class="author-avatar"> <img class="author-profile-image" src="/blog/content/images/size/w100/2023/09/profile.jpeg" alt="Alexandra Charikova" /> </a> </li> </ul> <div class="article-byline-meta"> <h4 class="author-name"><a href="/blog/author/alexandra/">Alexandra Charikova</a></h4> <div class="byline-meta-content"> <time class="byline-meta-date" datetime="2024-12-16">Dec 16, 2024</time> <span class="byline-reading-time"><span class="bull">&bull;</span> 2 min read</span> </div> </div> </section> </div> <figure class="article-image"> <picture> <!-- Serve the WebP format if the browser supports it --> <source srcset="/blog/content/images/size/w300/format/webp/2024/12/Kubernetes-Integration-cover.png 300w, /blog/content/images/size/w600/format/webp/2024/12/Kubernetes-Integration-cover.png 600w, /blog/content/images/size/w1000/format/webp/2024/12/Kubernetes-Integration-cover.png 1000w, /blog/content/images/size/w2000/format/webp/2024/12/Kubernetes-Integration-cover.png 2000w" sizes="(min-width: 1400px) 1400px, 92vw" type="image/webp" > <!-- Serve original file format as a fallback --> <img srcset="/blog/content/images/size/w300/2024/12/Kubernetes-Integration-cover.png 300w, /blog/content/images/size/w600/2024/12/Kubernetes-Integration-cover.png 600w, /blog/content/images/size/w1000/2024/12/Kubernetes-Integration-cover.png 1000w, /blog/content/images/size/w2000/2024/12/Kubernetes-Integration-cover.png 2000w" sizes="(min-width: 1400px) 1400px, 92vw" src="/blog/content/images/size/w2000/2024/12/Kubernetes-Integration-cover.png" alt="Introducing Kubernetes Integration: Discover APIs in Kubernetes" /> </picture> </figure> </header> <section class="gh-content gh-canvas"> <p>As organizations scale their Kubernetes deployments, the number of services and APIs grows rapidly. Maintaining visibility into these resources is critical for securing the API attack surface and ensuring compliance.</p><p>Escape now supports Kubernetes integration, enabling users to discover services running in their Kubernetes clusters. </p><p>This integration simplifies the process of discovering both documented and <a href="https://escape.tech/blog/what-is-a-shadow-api/">shadow APIs</a> within your clusters, reducing operational risks and <a href="https://escape.tech/blog/the-challenges-and-opportunities-of-api-governance/">improving API governance.</a></p><h2 id="how-it-works">How it works?</h2><p>Escape will read the&nbsp;<a href="https://kubernetes.io/docs/concepts/services-networking/service/?ref=escape.tech" rel="noopener noreferrer">services</a>&nbsp;and&nbsp;<a href="https://kubernetes.io/docs/concepts/services-networking/ingress/?ref=escape.tech" rel="noopener noreferrer">ingresses</a> defined in your cluster.</p><p>These resources will be tested to determine if these are APIs. If that's the case, you can see them in the All Services section of the Escape's Inventory.</p><h2 id="importance-of-api-visibility-in-kubernetes">Importance of API Visibility in Kubernetes</h2><p>Kubernetes is the backbone of modern cloud-native applications, orchestrating microservices at scale. However, the dynamic nature of Kubernetes makes it challenging to maintain an up-to-date inventory of exposed API services. </p><blockquote>"As an industry, we're in a quest for agility and ability for developers to deliver value to the company as fast as possible. Kubernetes helps that be very, very fast. We now have the ability where we can go from a code repository to a deployed application within seconds. In this quest for efficiency, I think there is also the blind spot of assumption that Kubernetes is safe by default. And I think that is a very problematic assumption because Kubernetes is not safe by default. Kubernetes is very open spec by default. " - Raunaq Aurora, Lead Application Security Engineer at Chipotle</blockquote><p>With Escape鈥檚 Kubernetes integration, you can:</p><ul><li>Gain frequent visibility into APIs in your Kubernetes clusters</li><li>Identify undocumented and potentially vulnerable APIs</li><li>Reduce risks associated with them</li></ul><p>By enabling visibility, organizations can address API sprawl and reduce security blind spots. </p><h2 id="getting-started">Getting started</h2><p><strong>Step 1: Set Up a Private Location</strong></p><p>You need to configure a <a href="https://docs.escape.tech/platform/enterprise/private-location?ref=escape.tech#kubernetes-deployment">Private Location</a> as a Kubernetes deployment for Escape to interact with your cluster.</p><p><strong>Step 2: Create Service Account and ClusterRoleBinding</strong></p><p>To allow this deployment to access resources in your Kubernetes cluster, you need to create a Service Account and a <a href="https://kubernetes.io/docs/reference/access-authn-authz/rbac/?ref=escape.tech#kubectl-create-clusterrolebinding">ClusterRoleBinding</a>.</p><p>You can use the sample YAML below to create these authorizations (replace default with the right namespace if needed).</p><pre><code class="language-YAML">--- apiVersion: v1 kind: ServiceAccount metadata: name: escape-repeater namespace: default --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: escape-repeater rules: - apiGroups: [""] resources: ["namespaces"] verbs: ["get", "list"] - apiGroups: [""] resources: ["services"] verbs: ["get", "list"] - apiGroups: ["networking.k8s.io"] resources: ["ingresses"] verbs: ["get", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: escape-repeater subjects: - kind: ServiceAccount name: escape-repeater namespace: default # the namespace where the ServiceAccount is created roleRef: kind: ClusterRole name: escape-repeater apiGroup: rbac.authorization.k8s.io</code></pre><h3 id="step-3-bind-the-service-account">Step 3: Bind the Service Account</h3><p>Add the following line to the <code>spec</code> section of your deployment YAML to bind the Service Account to the pod: <code>serviceAccountName: escape-repeater</code></p><h3 id="step-4-monitor-discovered-apis">Step 4: Monitor Discovered APIs</h3><p>Once the integration is enabled, Escape will automatically identify and display APIs in the services section of your inventory, allowing you to take further actions like securing, auditing, or analyzing them.</p><p>For more details and step-by-step guidance, check out our <a href="https://docs.escape.tech/inventory/integrations/cloud/kubernetes?ref=escape.tech">Kubernetes Integration documentation.</a></p><p>With these new updates, you should be able to discover your APIs in your Kubernetes clusters with ease. Try it out for yourself, and let us know what you think in our&nbsp;<a href="https://slack.escape.tech/?ref=escape.tech" rel="noreferrer">Slack community</a>!</p><div class="kg-card kg-button-card kg-align-center"><a href="https://app.escape.tech/?ref=escape.tech" class="kg-btn kg-btn-accent">Go to Escape now</a></div><hr><h3 id="%F0%9F%92%A1-check-out-more-product-updates-below">馃挕 Check out more product updates below:</h3><ul><li><a href="https://escape.tech/blog/front-end-dast-beta/">Escape DAST Now in Beta: Front-End Web App &amp; SPA Testing Made Easy</a></li><li><a href="https://escape.tech/blog/advanced-jira-integration/">Escape鈥檚 Advanced Jira Integration - Send Remediation Details to Your Developers</a></li><li><a href="https://escape.tech/blog/introducing-private-locations/">Introducing Private Locations: Securely Scan Your Internal Applications</a></li><li><a href="https://escape.tech/blog/automated-schema-generation/">Product updates: Automated schema generation</a></li></ul> </section> </article> </main> <aside class="read-more-wrap"> <div class="read-more inner"> <article class="post-card post "> <a class="post-card-image-link" href="/blog/webinar-recap-the-security-mistakes-everyone-makes-in-m-a/"> <img class="post-card-image" srcset="/blog/content/images/size/w300/2025/02/Webinar---Panels---1--min.png 300w, /blog/content/images/size/w600/2025/02/Webinar---Panels---1--min.png 600w, /blog/content/images/size/w1000/2025/02/Webinar---Panels---1--min.png 1000w, /blog/content/images/size/w2000/2025/02/Webinar---Panels---1--min.png 2000w" sizes="(max-width: 1000px) 400px, 800px" src="/blog/content/images/size/w600/2025/02/Webinar---Panels---1--min.png" alt="Webinar recap: The security mistakes everyone makes in M&amp;A" loading="lazy" /> </a> <div class="post-card-content"> <a class="post-card-content-link" href="/blog/webinar-recap-the-security-mistakes-everyone-makes-in-m-a/"> <header class="post-card-header"> <h2 class="post-card-title">Webinar recap: The security mistakes everyone makes in M&amp;A</h2> </header> <div class="post-card-excerpt"> <p>Discover exactly how to avoid the common security pitfalls during M&amp;A from our panel of experts, who are drawing from decades of experience in the field.</p> </div> </a> <footer class="post-card-meta"> <ul class="author-list"> <li class="author-list-item"> <a href="/blog/author/sanjana/" class="static-avatar"> <img class="author-profile-image" src="/blog/content/images/size/w100/2024/11/me.jpeg" alt="Sanjana Iyer" loading="lazy" /> </a> </li> </ul> <div class="post-card-byline-content"> <span class="post-card-byline-author"><a href="/blog/author/sanjana/">Sanjana Iyer</a></span> <span class="post-card-byline-date"><time datetime="2025-02-12">Feb 12, 2025</time> <span class="bull">&bull;</span> 10 min read</span> </div> </footer> </div> </article> <article class="post-card post "> <a class="post-card-image-link" href="/blog/bright-security-vs-escape/"> <img class="post-card-image" srcset="/blog/content/images/size/w300/2025/02/Escape-vs-Bright-Security.png 300w, /blog/content/images/size/w600/2025/02/Escape-vs-Bright-Security.png 600w, /blog/content/images/size/w1000/2025/02/Escape-vs-Bright-Security.png 1000w, /blog/content/images/size/w2000/2025/02/Escape-vs-Bright-Security.png 2000w" sizes="(max-width: 1000px) 400px, 800px" src="/blog/content/images/size/w600/2025/02/Escape-vs-Bright-Security.png" alt="Bright Security vs Escape" loading="lazy" /> </a> <div class="post-card-content"> <a class="post-card-content-link" href="/blog/bright-security-vs-escape/"> <header class="post-card-header"> <h2 class="post-card-title">Bright Security vs Escape</h2> </header> <div class="post-card-excerpt"> <p>Explore how Bright Security differs from Escape, weigh the advantages and disadvantages of both, and determine the best fit for your company.</p> </div> </a> <footer class="post-card-meta"> <ul class="author-list"> <li class="author-list-item"> <a href="/blog/author/alexandra/" class="static-avatar"> <img class="author-profile-image" src="/blog/content/images/size/w100/2023/09/profile.jpeg" alt="Alexandra Charikova" loading="lazy" /> </a> </li> </ul> <div class="post-card-byline-content"> <span class="post-card-byline-author"><a href="/blog/author/alexandra/">Alexandra Charikova</a></span> <span class="post-card-byline-date"><time datetime="2025-02-07">Feb 7, 2025</time> <span class="bull">&bull;</span> 9 min read</span> </div> </footer> </div> </article> <article class="post-card post "> <a class="post-card-image-link" href="/blog/webinar-recap-sast-and-dast/"> <img class="post-card-image" srcset="/blog/content/images/size/w300/2025/01/SAST-and-DAST-webinar--2-.png 300w, /blog/content/images/size/w600/2025/01/SAST-and-DAST-webinar--2-.png 600w, /blog/content/images/size/w1000/2025/01/SAST-and-DAST-webinar--2-.png 1000w, /blog/content/images/size/w2000/2025/01/SAST-and-DAST-webinar--2-.png 2000w" sizes="(max-width: 1000px) 400px, 800px" src="/blog/content/images/size/w600/2025/01/SAST-and-DAST-webinar--2-.png" alt="Webinar recap: How to combine SAST and DAST for complete application coverage" loading="lazy" /> </a> <div class="post-card-content"> <a class="post-card-content-link" href="/blog/webinar-recap-sast-and-dast/"> <header class="post-card-header"> <h2 class="post-card-title">Webinar recap: How to combine SAST and DAST for complete application coverage</h2> </header> <div class="post-card-excerpt"> <p>Modern applications come with a whole host of challenges that legacy SASTs and DASTs simply cannot keep up with. If you want to be sure no vulnerabilities slip through the cracks in these applications, the key is combining a modern SAST and DAST. Why? Last week, Escape鈥檚 CEO Tristan</p> </div> </a> <footer class="post-card-meta"> <ul class="author-list"> <li class="author-list-item"> <a href="/blog/author/sanjana/" class="static-avatar"> <img class="author-profile-image" src="/blog/content/images/size/w100/2024/11/me.jpeg" alt="Sanjana Iyer" loading="lazy" /> </a> </li> </ul> <div class="post-card-byline-content"> <span class="post-card-byline-author"><a href="/blog/author/sanjana/">Sanjana Iyer</a></span> <span class="post-card-byline-date"><time datetime="2025-01-30">Jan 30, 2025</time> <span class="bull">&bull;</span> 16 min read</span> </div> </footer> </div> </article> </div> </aside> </div> <footer class="site-footer outer"> <div class="inner"> <section class="copyright"><a href="https://escape.tech/blog">Escape - The API Security Blog</a> &copy; 2025</section> <nav class="site-footer-nav"> <ul class="nav"> <li class="nav-get-a-demo"><a href="https://calendly.com/d/46g-xzy-dgw">Get a demo</a></li> <li class="nav-escapes-proprietary-business-logic-algorithm"><a href="https://escape.tech/blog/escape-proprietary-algorithm/">Escape&#x27;s proprietary business logic algorithm</a></li> <li class="nav-best-practices"><a href="https://escape.tech/blog/tag/best-practices/">Best Practices</a></li> <li class="nav-case-studies"><a href="https://escape.tech/blog/tag/case-study/">Case Studies</a></li> <li class="nav-learn-how-to-test-your-graphql-apis"><a href="https://escape.tech/blog/testing-your-graphql-api/">Learn how to test your GraphQL APIs</a></li> <li class="nav-grpc-api-security"><a href="https://escape.tech/blog/how-to-secure-grpc-apis/">gRPC API Security</a></li> <li class="nav-how-to-use-graphql-with-postman"><a href="https://escape.tech/blog/getting-started-with-postman-graphql/">How to use GraphQL with Postman</a></li> <li class="nav-graphql-security"><a href="https://escape.tech/blog/tag/graphql/">GraphQL Security</a></li> <li class="nav-graphql-errors"><a href="https://escape.tech/blog/graphql-errors-the-good-the-bad-and-the-ugly/">GraphQL Errors</a></li> <li class="nav-graphql-armor"><a href="https://escape.tech/graphql-armor/">GraphQL Armor</a></li> <li class="nav-escape-community"><a href="https://join.slack.com/t/escapecommunity/shared_invite/zt-2cpklvqqv-m_h4fzlZhSatxcrxetf3Fg">Escape Community</a></li> <li class="nav-about-us"><a href="https://escape.tech/company/">About Us</a></li> <li class="nav-privacy-policy"><a href="https://escape.tech/privacy/">Privacy Policy</a></li> <li class="nav-api-security-academy"><a href="https://escape.tech/academy/">API Security Academy</a></li> <li class="nav-api-gateway-security-best-practices"><a href="https://escape.tech/blog/api-gateway-security/">API Gateway Security Best Practices</a></li> </ul> </nav> </div> </footer> </div> <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"> </script> <script src="/blog/assets/built/casper.js?v=bdd0505571"></script> <script> $(document).ready(function () { // Mobile Menu Trigger $('.gh-burger').click(function () { $('body').toggleClass('gh-head-open'); }); // FitVids - Makes video embeds responsive $(".gh-content").fitVids(); }); </script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.28.0/components/prism-core.min.js" integrity="sha512-9khQRAUBYEJDCDVP2yw3LRUQvjJ0Pjx0EShmaQjcHa6AXiOv6qHQu9lCAIR8O+/D8FtaCoJ2c0Tf9Xo7hYH01Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.28.0/plugins/autoloader/prism-autoloader.min.js" integrity="sha512-fTl/qcO1VgvKtOMApX2PdZzkziyr2stM65GYPLGuYMnuMm1z2JLJG6XVU7C/mR+E7xBUqCivykuhlzfqxXBXbg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.12.3/tocbot.min.js"></script> <script> tocbot.init({ // Where to render the table of contents. tocSelector: '.gh-toc', // Where to grab the headings to build the table of contents. contentSelector: '.gh-content', // Which headings to grab inside of the contentSelector element. headingSelector: 'h1, h2, h3, h4', }); </script> <!-- Google Tag Manager (noscript) --> <noscript ><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MDMBJH6V" height="0" width="0" style="display: none; visibility: hidden" ></iframe ></noscript> <!-- End Google Tag Manager (noscript) --> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/prism.min.js" integrity="sha512-hpZ5pDCF2bRCweL5WoA0/N1elet1KYL5mx3LP555Eg/0ZguaHawxNvEjF6O3rufAChs16HVNhEc6blF/rZoowQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/components/prism-yaml.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/components/prism-bash.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.25.0/components/prism-jsx.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js-eu1.hs-scripts.com/26857953.js"></script> <!-- End of HubSpot Embed Code --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10