Glossary
Upwind Glossary
Your hub to learn about the future of cloud security and runtime.
Feed
Grid
Containers/K8s

October 9, 2026
What is microsegmentation? How it works in cloud and Kubernetes environments
Updated on November 4, 2026Microsegmentation is a network security approach that divides an environment into very small, isolated segments, often down to a single workload, pod, or process, so that traffic between workloads, applications, and services flows only when a policy explicitly permits it. Traditional segmentation draws a few large boundaries, such as a DMZ,…

October 9, 2026
Kubernetes network policy: how it works, examples, and best practices
Updated on November 4, 2026A Kubernetes network policy is a namespaced NetworkPolicy object that controls which pods can send traffic to, and receive traffic from, other pods, namespaces, and IP ranges. It uses label selectors and allow-list rules, and the cluster's CNI plugin enforces them. Without any policy, every pod can reach every other pod.…

October 9, 2026
20 cloud security best practices for 2026
Updated on November 4, 2026The 20 cloud security best practices for 2026 fall into three tiers: foundational controls for identity, secrets, data and network exposure; build-and-runtime controls for pipelines, containers, data and AI workloads; and continuous operations for detection, response, resilience and assurance. Older checklists treated every control as equally urgent and assumed infrastructure that…

October 8, 2026
What is ASPM? Application security posture management explained
Updated on November 4, 2026Application security posture management (ASPM) is a category of security tooling that collects findings from the security tools across your software lifecycle, maps them to the applications, services and owners they affect, and ranks them by real risk so teams fix the most dangerous issues first. An ASPM platform does not…

October 7, 2026
Container registry vulnerability scanning: how to scan ECR, ACR, GCR, and Harbor images
Updated on November 4, 2026Container registry vulnerability scanning checks images stored in a registry, such as Amazon ECR, Azure Container Registry, Google Artifact Registry or Harbor, against vulnerability databases when they are pushed, and again over time as new CVEs are published. It sits between build-time checks in CI and runtime detection in the cluster.…

October 7, 2026
How to pick a container vulnerability scanner: 10 top tools compared for 2026
Updated on November 4, 2026To pick a container vulnerability scanner, test candidates against your own images and choose the one that covers your base images and language packages, cuts noise with fix availability, exploitability and runtime context, and fits where your team builds, stores and runs containers. Most scanners read the same public advisories, so…

October 7, 2026
What is container image scanning? How it works, best practices, and top tools
Updated on November 4, 2026Container image scanning is the automated inspection of a container image's layers, operating system packages, application dependencies and configuration to find known vulnerabilities, exposed secrets and risky settings before and after the image is deployed. It is one layer of container security. It can stop a vulnerable build before it reaches…

October 7, 2026
Container vulnerability management: how to cut CVE noise and fix what’s actually running
Updated on November 4, 2026Most teams' scanners already work. The trouble is volume: they return thousands of findings across base layers, old tags and dormant tools, and nobody can say which ten matter this week. Container vulnerability management is the practice of finding, prioritizing and fixing vulnerabilities in container images and the workloads running from…

October 7, 2026
12 best vulnerability scanning tools for 2026: cloud, container, and network scanners compared
Updated on November 4, 2026The best vulnerability scanning tools find known weaknesses such as missing patches, vulnerable packages, exposed services and misconfigurations across networks, cloud accounts and container images, then show which of those findings an attacker can actually reach. A scan result is only a snapshot. Containers redeploy several times a day, autoscaling groups…

October 6, 2026
Top 12 CI/CD security tools for 2026 to protect your pipeline
Updated on November 4, 2026CI/CD security tools are the scanners, signers and policy engines that check code, dependencies, infrastructure definitions, container images and the pipeline itself at each stage from commit to deploy. Good tools run inside the jobs developers already trigger, return results in minutes, and fail a build only when a finding actually…

What is microsegmentation? How it works in cloud and Kubernetes environments
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Microsegmentation is a network security approach that divides an environment into very small, isolated segments, often down to a single workload, pod, or process, so that traffic between workloads, applications, and services flows only when a policy explicitly permits it. Traditional segmentation draws a few large boundaries, such as a DMZ,…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Kubernetes network policy: how it works, examples, and best practices
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026A Kubernetes network policy is a namespaced NetworkPolicy object that controls which pods can send traffic to, and receive traffic from, other pods, namespaces, and IP ranges. It uses label selectors and allow-list rules, and the cluster's CNI plugin enforces them. Without any policy, every pod can reach every other pod.…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
20 cloud security best practices for 2026
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026The 20 cloud security best practices for 2026 fall into three tiers: foundational controls for identity, secrets, data and network exposure; build-and-runtime controls for pipelines, containers, data and AI workloads; and continuous operations for detection, response, resilience and assurance. Older checklists treated every control as equally urgent and assumed infrastructure that…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
What is ASPM? Application security posture management explained
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Application security posture management (ASPM) is a category of security tooling that collects findings from the security tools across your software lifecycle, maps them to the applications, services and owners they affect, and ranks them by real risk so teams fix the most dangerous issues first. An ASPM platform does not…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Container registry vulnerability scanning: how to scan ECR, ACR, GCR, and Harbor images
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Container registry vulnerability scanning checks images stored in a registry, such as Amazon ECR, Azure Container Registry, Google Artifact Registry or Harbor, against vulnerability databases when they are pushed, and again over time as new CVEs are published. It sits between build-time checks in CI and runtime detection in the cluster.…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
How to pick a container vulnerability scanner: 10 top tools compared for 2026
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026To pick a container vulnerability scanner, test candidates against your own images and choose the one that covers your base images and language packages, cuts noise with fix availability, exploitability and runtime context, and fits where your team builds, stores and runs containers. Most scanners read the same public advisories, so…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
What is container image scanning? How it works, best practices, and top tools
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Container image scanning is the automated inspection of a container image's layers, operating system packages, application dependencies and configuration to find known vulnerabilities, exposed secrets and risky settings before and after the image is deployed. It is one layer of container security. It can stop a vulnerable build before it reaches…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Container vulnerability management: how to cut CVE noise and fix what’s actually running
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Most teams' scanners already work. The trouble is volume: they return thousands of findings across base layers, old tags and dormant tools, and nobody can say which ten matter this week. Container vulnerability management is the practice of finding, prioritizing and fixing vulnerabilities in container images and the workloads running from…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
12 best vulnerability scanning tools for 2026: cloud, container, and network scanners compared
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026The best vulnerability scanning tools find known weaknesses such as missing patches, vulnerable packages, exposed services and misconfigurations across networks, cloud accounts and container images, then show which of those findings an attacker can actually reach. A scan result is only a snapshot. Containers redeploy several times a day, autoscaling groups…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Top 12 CI/CD security tools for 2026 to protect your pipeline
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026CI/CD security tools are the scanners, signers and policy engines that check code, dependencies, infrastructure definitions, container images and the pipeline itself at each stage from commit to deploy. Good tools run inside the jobs developers already trigger, return results in minutes, and fail a build only when a finding actually…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
Docker container security: 15 best practices from image to runtime
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Docker container security comes down to 15 controls applied across the container lifecycle: harden and scan images at build time, verify what enters the registry and the cluster, restrict what containers can do at runtime, and watch running workloads for behaviour that drifts from the image. Containers are built from layered…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});
How to choose a DevSecOps platform: 10 best options for 2026 compared
<?php
$post_id = get_the_ID();
$author_terms = get_the_terms( $post_id, 'author_tax' );
$authors = [];
if ( $author_terms && ! is_wp_error( $author_terms ) ) {
foreach ( $author_terms as $term ) {
$photo_id = get_field(
'author_photo',
'author_tax_' . $term->term_id
);
$authors[] = [
'name' => $term->name,
'url' => get_term_link( $term->term_id ),
'photo' => $photo_id
? wp_get_attachment_image_url( $photo_id, 'author-image' )
: '',
];
}
}
?>
<div class="uw-bf-card__meta">
<?php if ( count( $authors ) > 0 ) { ?>
<div class="uw-bf-card__author-photos">
<?php foreach ( $authors as $author ) { ?>
<a
href="<?php echo esc_url( $author['url'] ); ?>"
class="uw-bf-card__author-photo-link"
>
<img
class="uw-bf-card__author-photo"
src="<?php echo esc_url( $author['photo'] ); ?>"
alt="<?php echo esc_attr( $author['name'] ); ?>"
>
</a>
<?php } ?>
</div>
<?php } ?>
<div class="uw-bf-card__meta-sub">
<span class="uw-bf-card__author-names">
<?php echo getAuthorNames( $authors ); ?>
</span>
<span class="uw-bf-card__date">
<?php echo get_the_date( 'F d, Y', $post_id ); ?>
</span>
</div>
</div>.brxe-qhtnal{
.uw-bf-card__author-photo, .uw-bf-card__author-photo-link {
width: 53px;
height: 53px;
}
}Updated on November 4, 2026Choosing a DevSecOps platform comes down to three tests: does it cover code, pipeline and running workloads in one place, does it plug into the Git, CI/CD and ticketing tools your developers already use, and does it rank findings by real exploitability instead of raw severity counts. A good DevSecOps platform…
Read More
<?php $url = get_permalink(); ?>
<?php $title = get_the_title(); ?>
<div class="uw-bf-card__share">
<a class="uw-bf-share-btn" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo urlencode($url) . '&title=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn"><svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.51819 10.9373H0.185826V3.63501H2.51819V10.9373ZM1.35075 2.63892C0.604939 2.63892 0 2.03833 0 1.31323C5.33822e-09 0.964941 0.142311 0.630916 0.395626 0.384637C0.648942 0.138358 0.992511 0 1.35075 0C1.709 0 2.05256 0.138358 2.30588 0.384637C2.5592 0.630916 2.70151 0.964941 2.70151 1.31323C2.70151 2.03833 2.09632 2.63892 1.35075 2.63892ZM11.2475 10.9373H8.92015V7.38257C8.92015 6.5354 8.90257 5.44897 7.70751 5.44897C6.49487 5.44897 6.30904 6.36938 6.30904 7.32153V10.9373H3.97919V3.63501H6.21613V4.6311H6.24877C6.56016 4.05737 7.32079 3.4519 8.45558 3.4519C10.8161 3.4519 11.25 4.96313 11.25 6.92603V10.9373H11.2475Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://twitter.com/intent/tweet?url=<?php echo rawurlencode($url) . '&text=' . urlencode($title); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on X"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.3319 5.92804L13.5437 0H12.3087L7.78327 5.14724L4.16883 0H0L5.46574 7.78354L0 14H1.2351L6.01406 8.56434L9.83117 14H14L8.3316 5.92804H8.3319ZM6.64026 7.85211L6.08647 7.07705L1.68013 0.909776H3.57717L7.13314 5.88696L7.68693 6.66202L12.3093 13.1316H10.4122L6.64026 7.85241V7.85211Z" fill="#75808E"/></svg></a>
<a class="uw-bf-share-btn" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($url); ?>" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook"><svg width="7" height="14" viewBox="0 0 7 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.00586 7.73438L6.33914 5.24595H4.25531V3.63113C4.25531 2.95034 4.54641 2.28674 5.47969 2.28674H6.42703V0.168115C6.42703 0.168115 5.56734 0 4.74539 0C3.0293 0 1.90758 1.19185 1.90758 3.34941V5.24595H0V7.73438H1.90758V13.75H4.25531V7.73438H6.00586Z" fill="#75808E"/></svg></a>
<div class="uw-bf-copy-wrap">
<button class="uw-bf-share-btn uw-bf-copy-btn" data-url="<?php echo get_permalink(); ?>" aria-label="Copy link">
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.1713 5.42406C14.4955 4.18261 14.4955 2.17211 13.1713 0.930656C11.9994 -0.167977 10.1525 -0.310799 8.80488 0.592277L8.76738 0.616447C8.42988 0.842765 8.35254 1.28222 8.59394 1.59643C8.83535 1.91064 9.3041 1.98534 9.63926 1.75902L9.67676 1.73485C10.4291 1.23168 11.458 1.31078 12.1096 1.92382C12.8479 2.61596 12.8479 3.73656 12.1096 4.4287L9.47988 6.89843C8.7416 7.59057 7.54629 7.59057 6.80801 6.89843C6.1541 6.28539 6.06973 5.32079 6.60645 4.61767L6.63223 4.58251C6.87363 4.26611 6.79394 3.82665 6.45879 3.60253C6.12363 3.37841 5.65254 3.45092 5.41348 3.76513L5.3877 3.80028C4.42207 5.06152 4.57441 6.79296 5.74629 7.89159C7.07051 9.13305 9.21504 9.13305 10.5393 7.89159L13.1713 5.42406ZM0.993164 4.9099C-0.331055 6.15136 -0.331055 8.16186 0.993164 9.40331C2.16504 10.5019 4.01191 10.6448 5.35957 9.74169L5.39707 9.71752C5.73457 9.4912 5.81191 9.05175 5.57051 8.73754C5.3291 8.42333 4.86035 8.34863 4.5252 8.57494L4.4877 8.59911C3.73535 9.10229 2.70645 9.02319 2.05488 8.41015C1.3166 7.71581 1.3166 6.59521 2.05488 5.90307L4.68457 3.43554C5.42285 2.7434 6.61816 2.7434 7.35645 3.43554C8.01035 4.04858 8.09473 5.01318 7.55801 5.7185L7.53223 5.75365C7.29082 6.07006 7.37051 6.50951 7.70566 6.73363C8.04082 6.95776 8.51191 6.88525 8.75098 6.57104L8.77676 6.53588C9.74238 5.27245 9.59004 3.54101 8.41816 2.44237C7.09395 1.20092 4.94941 1.20092 3.6252 2.44237L0.993164 4.9099Z" fill="#75808E"/></svg>
<div class="uw-bf-copy-notify">Link copied</div>
</button>
</div>
</div>.uw-bf-copy-notify {
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.uw-bf-copy-btn.is-copied .uw-bf-copy-notify {
opacity: 1;
visibility: visible;
}document.addEventListener('click', async (event) => {
const button = event.target.closest('.uw-bf-copy-btn');
if (!button) {
return;
}
const url = button.dataset.url;
try {
await navigator.clipboard.writeText(url);
button.classList.add('is-copied');
setTimeout(() => {
button.classList.remove('is-copied');
}, 2000);
} catch (error) {
console.error('COPY ERROR:', error);
}
});