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
Microsegmentation is a security architecture that divides a network into small, isolated segments, down to individual workloads, and applies a separate access policy to each one so that only explicitly allowed connections can occur. In cloud and Kubernetes environments, workloads scale, move and change IP addresses constantly. For that reason, microsegmentation policies attach to identities…

October 9, 2026
Kubernetes network policy: how it works, examples, and best practices
A Kubernetes network policy (the NetworkPolicy API object) is a namespaced resource that controls which pods can send traffic to, and receive traffic from, other pods, namespaces, and IP ranges at layers 3 and 4. By default, every pod can reach every other pod, so one compromised container can scan and pivot across namespaces. NetworkPolicy…

October 9, 2026
20 cloud security best practices for 2026
The 20 cloud security best practices for 2026 fall into five areas. Teams should enforce least privilege for human and machine identities, classify and encrypt data, keep backups immutable, harden the software supply chain and Kubernetes, secure AI workloads, detect threats at runtime, and normalize controls across AWS, Azure and GCP. All of it should…

October 8, 2026
What is ASPM? Application security posture management explained
ASPM (application security posture management) is an approach and category of tooling that consolidates findings from every application security tool into one view, correlates them to the applications and owners they affect, and prioritizes remediation by real risk across the software lifecycle. ASPM does not add another scanner. It sits above the scanners and turns…

October 7, 2026
Container registry vulnerability scanning: how to scan ECR, ACR, GCR, and Harbor images
Container registry vulnerability scanning checks the images stored in a registry, such as Amazon ECR, Azure Container Registry (ACR), Google Artifact Registry (the successor to GCR), or Harbor, against known CVE data. It runs when an image is pushed and keeps running afterward, so vulnerable images get flagged before they deploy and again when new…

October 7, 2026
How to pick a container vulnerability scanner: 10 top tools compared for 2026
To pick a container vulnerability scanner, match the tool to where your risk sits. Open-source scanners such as Trivy, Grype and Clair handle build-time image checks at no licence cost. Platforms such as Upwind, Wiz, Sysdig Secure and Aqua Security add runtime context that shows which CVEs are loaded, reachable and exposed in production. Most…

October 7, 2026
What is container image scanning? How it works, best practices, and top tools
Container image scanning is the automated analysis of a container image's layers, operating system packages, application dependencies and build configuration against vulnerability databases. It finds known CVEs, embedded secrets and risky settings before the image runs in production. Every image inherits code from a base image and pulls in open-source libraries nobody on the team…

October 7, 2026
Container vulnerability management: how to cut CVE noise and fix what’s actually running
Image scanners flag every vulnerable package they find, including packages that never execute, so a single cluster can produce thousands of findings that no team can work through. Container vulnerability management is the continuous practice of finding, prioritizing, fixing and verifying vulnerabilities in container images and in the workloads that run from them. Priority should…

October 7, 2026
12 best vulnerability scanning tools for 2026: cloud, container, and network scanners compared
The best vulnerability scanning tools for 2026 are Upwind, Wiz, Sysdig Secure, Aqua Security and Orca Security for cloud and container workloads; Qualys, Tenable Nessus and Intruder for network, hybrid and external scanning; and OpenVAS, Trivy, Grype and OWASP ZAP as free, open-source options. A single tool rarely covers every environment. Cloud-native platforms read cloud…

October 6, 2026
Top 12 CI/CD security tools for 2026 to protect your pipeline
The best CI/CD security tools for 2026 are Upwind, Wiz, Palo Alto Networks Cortex Cloud, Aqua Security, GitLab CI/CD, GitHub Actions, Jenkins, Argo CD, Harness, the Tekton Chains, Cosign and Rekor signing stack, Trivy and SonarQube. Each one covers a different layer of the pipeline. No single product secures code, dependencies, build runners, artifacts and…

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;
}
}Microsegmentation is a security architecture that divides a network into small, isolated segments, down to individual workloads, and applies a separate access policy to each one so that only explicitly allowed connections can occur. In cloud and Kubernetes environments, workloads scale, move and change IP addresses constantly. For that reason, microsegmentation policies attach to identities…
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;
}
}A Kubernetes network policy (the NetworkPolicy API object) is a namespaced resource that controls which pods can send traffic to, and receive traffic from, other pods, namespaces, and IP ranges at layers 3 and 4. By default, every pod can reach every other pod, so one compromised container can scan and pivot across namespaces. NetworkPolicy…
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;
}
}The 20 cloud security best practices for 2026 fall into five areas. Teams should enforce least privilege for human and machine identities, classify and encrypt data, keep backups immutable, harden the software supply chain and Kubernetes, secure AI workloads, detect threats at runtime, and normalize controls across AWS, Azure and GCP. All of it should…
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;
}
}ASPM (application security posture management) is an approach and category of tooling that consolidates findings from every application security tool into one view, correlates them to the applications and owners they affect, and prioritizes remediation by real risk across the software lifecycle. ASPM does not add another scanner. It sits above the scanners and turns…
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;
}
}Container registry vulnerability scanning checks the images stored in a registry, such as Amazon ECR, Azure Container Registry (ACR), Google Artifact Registry (the successor to GCR), or Harbor, against known CVE data. It runs when an image is pushed and keeps running afterward, so vulnerable images get flagged before they deploy and again when new…
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;
}
}To pick a container vulnerability scanner, match the tool to where your risk sits. Open-source scanners such as Trivy, Grype and Clair handle build-time image checks at no licence cost. Platforms such as Upwind, Wiz, Sysdig Secure and Aqua Security add runtime context that shows which CVEs are loaded, reachable and exposed in production. Most…
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;
}
}Container image scanning is the automated analysis of a container image's layers, operating system packages, application dependencies and build configuration against vulnerability databases. It finds known CVEs, embedded secrets and risky settings before the image runs in production. Every image inherits code from a base image and pulls in open-source libraries nobody on the team…
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;
}
}Image scanners flag every vulnerable package they find, including packages that never execute, so a single cluster can produce thousands of findings that no team can work through. Container vulnerability management is the continuous practice of finding, prioritizing, fixing and verifying vulnerabilities in container images and in the workloads that run from them. Priority should…
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;
}
}The best vulnerability scanning tools for 2026 are Upwind, Wiz, Sysdig Secure, Aqua Security and Orca Security for cloud and container workloads; Qualys, Tenable Nessus and Intruder for network, hybrid and external scanning; and OpenVAS, Trivy, Grype and OWASP ZAP as free, open-source options. A single tool rarely covers every environment. Cloud-native platforms read cloud…
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;
}
}The best CI/CD security tools for 2026 are Upwind, Wiz, Palo Alto Networks Cortex Cloud, Aqua Security, GitLab CI/CD, GitHub Actions, Jenkins, Argo CD, Harness, the Tekton Chains, Cosign and Rekor signing stack, Trivy and SonarQube. Each one covers a different layer of the pipeline. No single product secures code, dependencies, build runners, artifacts and…
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;
}
}Docker container security comes down to 15 practices across the container lifecycle. Build minimal, signed images; protect the host and Docker daemon; run every container with least privilege; isolate networks and secrets; and monitor what executes at runtime. Most container breaches follow a few predictable paths: privileged containers, a mounted Docker socket, unpatched images, or…
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;
}
}To choose a DevSecOps platform, score each candidate on coverage from code to runtime, signal quality, remediation workflow, ecosystem fit and total cost, then run a proof of value on your top two or three. Ten options stand out for 2026: Upwind, Wiz, Orca Security, Aqua Security, Sysdig Secure, Prisma Cloud, GitLab Ultimate, GitHub Advanced…
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);
}
});