Jack Hyland has worked in information security ever since graduating college and has dedicated his free time to deeply learning new techniques and technologies. He now spends his time creating and contributing to open-source projects along with performing security assessments of corporations networks and infrastructure.

I’ve been a web application pentester for a while now and over the years must have found hundreds of cross-site scripting (XSS) vulnerabilities.1 Cross-site scripting is a notoriously difficult problem to solve, and its detection is hindered by a web server’s lack of visibility into client-side attacks.

So, I had a crazy idea one day: “Would it be possible to build a canary that notifies the website owner if an XSS vulnerability was exploited anywhere on their site?”

Let’s find out…

Warning: This blog gets a little technical and is geared towards readers with a basic understanding of web development, JavaScript, and Linux.

Picking a Canary

A canary is a subtle indicator that signals the presence of a specific condition or event, often serving as an early warning system or alert about potential issues.

When security researchers look for XSS vulnerabilities on a website, they often aim to execute the alert() JavaScript function as a proof-of-concept. This is because the alert() function provides a clear and unmistakable indication of exploitation, halting the execution of the webpage and allowing hackers to quickly identify and verify the presence of an XSS vulnerability. As a result, alert() has become a staple in online XSS wordlists.2

In my experience, modern websites rarely use the alert() function to display information in the browser, making it an unusual occurrence during legitimate browsing. Therefore, when an alert box is triggered on a modern webpage, it is likely a sign of a successful XSS exploit.

Building the XSS Canary

With the alert() function identified as our trigger, we can now design the rest of the canary. Our goal is to signal the presence of an XSS vulnerability and provide valuable insights back to the blue team. To achieve this, our canary must:

  1. Save a copy of the original alert() function, preserving its original behavior.
  2. Capture key contextual information to provide a comprehensive understanding of the attack.
  3. Send the key contextual information to a callback server, where it can be analyzed and used to inform security decisions.
  4. Call the saved alert() function, maintaining the original functionality.

The following JavaScript example demonstrates a barebones implementation of hooking the alert() function, allowing us to execute custom code before proceeding with the original behavior. In this case, we’ll calculate 2+2 before continuing.

With the alert() function hooked, we can now shift our focus to reconstructing the attack sequence and gaining a deeper understanding of how our website was exploited. To achieve this, we’ll generate a detailed stack trace, providing a clear visualization of the execution path that led to the exploit triggering. We’ll also collect the alert message, the URL of the compromised page, the timestamp of the incident, and the document referrer. Then we’ll capture a snapshot of the DOM at the time of the exploit, which should contain any malicious code reflected in the page.

const debugData = {
    alert_msg: args.join(' '), 	// The message displayed by the attacker
    stack: error.stack,		// A full stack trace of the execution
    url: window.location.href, 	// The current URL with parameters
    ref: document.referrer,	// The referrer domain
    dom: document.documentElement.outerHTML,	// A copy of the DOM
    timestamp: new Date().toISOString()	// Timestamp
};

The final step is to transmit the collected debugging information to a server controlled by the website owners, enabling them to investigate the vulnerability and take action. We do that below with a POST request.

// Send the data to the callback server via a POST request
fetch('https://example.com/xss', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
    },
    // Convert the debug data to JSON
    body: JSON.stringify(debugData)
})

Putting it all together, we get the final code for our XSS canary. In the next section, we’ll outline the process of setting up a canary callback server, which will receive the contextual information for incident response and analysis.

const originalAlert = window.alert;

window.alert = function(...args) {
    // Create an error to capture the stack trace
    const error = new Error();

    // Gather the debugging information
    const debugData = {
        alert_msg: args.join(' '),	// Alert Message
        stack: error.stack,        	// Stack Trace
        url: window.location.href, 	// Current URL
        ref: document.referrer,		// Website Referrer
        dom: document.documentElement.outerHTML, // Copy of the DOM
        timestamp: new Date().toISOString() 	 // Timestamp
    };

    // Send the data to the canary callback server via a POST request
    fetch('https://example.com/xss', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        // Convert the debug data to JSON
        body: JSON.stringify(debugData)
    })
    .catch((error) => {
        console.error('Failed to send xss report:', error);
    });

    // Call the original alert function to ensure the alert still works
    originalAlert.apply(window, args);
};

XSS Canary Callback Webserver Setup

Before proceeding, ensure you have a dedicated domain and a dedicated Linux virtual private server (VPS) running either Ubuntu or Debian with at least two cores and 2GB of RAM. Set an A record from the domain pointing to the VPS public IP address. The following steps will refer to this domain generically as example.com.

To receive logs from the XSS canary, you’ll need to set up the callback server to view collected reports in an admin portal. Feel free to modify the server code to send notifications via email, Slack, Discord, or any other messaging platform of your choice. If you develop a real-time message integration, please consider sharing it with the community.

Installation Script

To easily install the XSS canary callback software on your server I’ve created an installation script.3 This script first installs dependencies and then creates a system daemon to run the web server as a low privileged user. The email in the command is used by Let’s Encrypt to notify you when your SSL certificate is nearing expiration, although auto-renewal is enabled by default. Piping curl to bash as root is commonly ill-advised so, please read the code before executing the following command on a dedicated VPS.

bash <(curl -s https://xsscanary.com/install) example.com [email protected]

The video below shows what a successful installation should look like. If you get errors try running the script again or if you need help troubleshooting, open an issue on the GitHub repo.4

The XSS canary callback server we just installed is a simple proof of concept and while I did my best to ensure its secure, it doesn’t have rate limiting or load balancing and uses basic authentication without MFA. This is a starting point that I’m hoping the community will build on top of to make it feature complete.

The callback web server has two endpoints. First, the /xss endpoint accepts POST requests containing the debugging information from XSS canaries. Upon receiving a request, the server stores the accompanying XSS canary data as a JSON object in the xss_canary.json file. Second, the /dashboard endpoint returns a password protected page for admins to view incoming canaries. You can log in here after installation with username admin and the password shown in the install script’s output.

Inserting an XSS Canary into your Website

Now that we have our callback server all set up, we return our focus to the canary code.

To simplify the process, I’ve made the canary code available on xsscanary.com. The domain GET parameter allows you to substitute your website’s callback server, making it easy to integrate the canary into your existing infrastructure. There are two versions of the script, one that includes the DOM in the debugging info and one that excludes it. The links to both are provided below:

https://xsscanary.com/canary.js?domain=example.com
https://xsscanary.com/canary_no_dom.js?domain=example.com

However, it’s generally bad practice to include JavaScript files from random blogs you found on the internet, as I could easily change the code one day to be malicious. Instead, you should first independently read and verify the code and then use a sub resource integrity5 (SRI) check. This hard-codes a SHA-384 hash of the script such that a browser will only execute it if the hashes match exactly. This security measure prevents you from having to trust me.

The following website will create a secure canary script tag for you. I’ll be using test.xsscanary.com as my callback domain for the remainder of the blog.

https://www.srihash.org/
Generating XSS Canary SRI Script Tag

Alternatively, you can choose to directly include the XSS canary script on your site, which eliminates the need to rely on an external source and provides an additional layer of control and security.

Testing Out the Canary

To test out your XSS canary, replace the highlighted script tags in the following HTML file with your own generated by srihash.org. Save the updated HTML file to your desktop and open it in your preferred web browser to verify that the canary is working as expected.


 lang="en">
="https://xsscanary.com/canary.js?domain=test.xsscanary.com" integrity="sha384-sxhmxvuSR2mKLQjVnLSd0BjPODym8uvUotztbvITfsgmI2jtpgHv3Er2d5IikySU" crossorigin="anonymous">

    charset="UTF-8">
    
     name="viewport" content="width=device-width, initial-scale=1.0">
    </mark>XSS Canary Test<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/>
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/>
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/>
   <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"> </mark>Testing XSS Canary<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/>
    <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/>Welcome to the vulnerable webpage. <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/>Please check the URL's <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><strong/></mark>id<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/> parameter!<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/>
    <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"><script/></mark>
        <mark style="background-color:rgba(0, 0, 0, 0);color:#909ba5" class="has-inline-color">// Retrieve the 'id' query parameter from location.search</mark>
        <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-purple-color">var</mark> <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">urlParams </mark>= <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-purple-color">new </mark><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">URLSearchParams</mark>(<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">location</mark>.<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">search</mark>);
        <mark style="background-color:rgba(0, 0, 0, 0);color:#909ba5" class="has-inline-color">// Only using the 'id' parameter from the query string</mark>
        <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-purple-color">var</mark> <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">userId</mark> = <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">urlParams</mark>.<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">get</mark>(<mark style="background-color:rgba(0, 0, 0, 0);color:#0d7f22" class="has-inline-color">'id'</mark>); 

        <mark style="background-color:rgba(0, 0, 0, 0);color:#909ba5" class="has-inline-color">// Vulnerable: Using document.write without sanitization</mark>
        <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">document</mark>.<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-cyan-blue-color">write</mark>(<mark style="background-color:rgba(0, 0, 0, 0);color:#0d7f22" class="has-inline-color">"<p>User ID: "</p></mark> <mark style="background-color:rgba(0, 0, 0, 0);color:#089797" class="has-inline-color">+</mark> <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">userId</mark> <mark style="background-color:rgba(0, 0, 0, 0);color:#089797" class="has-inline-color">+</mark> <mark style="background-color:rgba(0, 0, 0, 0);color:#0d7f22" class="has-inline-color">""</mark>);
    <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color"/>
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">
</mark></mark></mark></mark></code></pre>







<p>Once the HTML file is opened, the XSS canary will be automatically loaded, as indicated by (1) and (2) in developer tools screenshot below. This webpage has a DOM-based cross-site scripting vulnerability in the <strong>id</strong> GET parameter which can be exploited by adding the payload <strong>?id=”><svg/></strong> to the URL bar, as shown below (3). The<strong> id </strong>parameter value is written to the webpage in an unsafe manner which triggers the exploit. Because we hooked the<strong> alert()</strong> function, the canary is activated (4) and sends the debugging information to my callback server (in this case, <strong>test.xsscanary.com</strong>). Finally, the original<strong> alert() </strong>function is called, displaying the alert to the user (5), without any visual indication that a canary was sent.</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="609" height="356" src="https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_02.png" alt="" class="wp-image-32785" srcset="https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_02.png 609w, https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_02-500x292.png 500w" sizes="(max-width: 609px) 100vw, 609px"/><figcaption class="wp-element-caption"><strong>XSS Canary Test Page Series of Events</strong></figcaption></figure>



<p>If we inspect the request (4) in the image above, we see that the POST body includes the following information sent to the canary callback web server.</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="628" height="165" src="https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_03.png" alt="" class="wp-image-32786" srcset="https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_03.png 628w, https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_03-500x131.png 500w" sizes="(max-width: 628px) 100vw, 628px"/><figcaption class="wp-element-caption"><strong>XSS Canary Information Sent via POST</strong></figcaption></figure>



<p>To view the XSS canary collected by the callback server open<strong> https://<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-vivid-red-color">example.com</mark>/dashboard</strong> in your browser, this will prompt you for a username and password. The username is <strong>admin</strong>, and your password was generated during the installation. If you forgot your password, log back into the callback server and execute the following command.  This password will only change if you re-run the installation script.</p>



<pre class="wp-block-code"><code><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-black-color">echo $DASHBOARD_PASSWORD</mark></code></pre>







<p>Once logged in you should see the information below. From the canary report, we can easily identify that the <strong>id</strong> GET parameter led to an XSS vulnerability at the<strong> /example.html </strong>endpoint of our website. Now sit back and let the attackers do all the work while your monitoring system catches XSS 0-days.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="587" height="595" src="https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_04-1.png" alt="" class="wp-image-32833" srcset="https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_04-1.png 587w, https://www.blackhillsinfosec.com/wp-content/uploads/2025/03/xsscanary_04-1-493x500.png 493w" sizes="(max-width: 587px) 100vw, 587px"/><figcaption class="wp-element-caption"><strong>XSS Canary Dashboard Example with the XSS Payload Highlighted</strong></figcaption></figure>



<p>Once you’ve verified that your XSS canary is functioning correctly, you can integrate it into your website by simply adding the canary code to the top of every webpage. Keeping the canary at the top of each webpage ensures our hooking script runs before any other code.</p>



<p>If you’ve gotten this far, you’ve successfully implemented a robust monitoring system that detects and alerts you to reflected, DOM-based, and stored cross-site scripting (XSS) vulnerabilities on your website. This proactive approach will help you stay ahead of threats, enabling you to respond swiftly and minimize the window of exposure.</p>



<h3 class="wp-block-heading">Closing Thoughts and Considerations</h3>



<p>While the XSS canary is a highly effective tool for detecting cross-site scripting exploits in real-time, it’s essential to consider a few key factors before implementing it on your website.</p>



<ul class="wp-block-list">
<li>If your website frequently uses the<strong> alert()</strong> function, you may experience a high volume of false positives.</li>



<li>Your callback server will be public information because it’s referenced on every web page. There is no way to stop users from manually submitting false information.</li>



<li>I HIGHLY recommend you run your canary callback server on a dedicated domain and a dedicated VPS.</li>



<li>If you run a bug bounty program and plan to implement an XSS canary, consider waiting until vulnerabilities are reported before patching them, allowing researchers to be rewarded for their efforts.</li>



<li>If your website handles sensitive medical or financial data, you probably shouldn’t send a copy of the user’s DOM as it may include PII. Instead, use this alternate version of the script, which omits the DOM information<strong> xsscanary.com/canary_no_dom.js</strong>.</li>



<li>This blog is authored by a security researcher, not a legal or GDPR expert. If you are subject to privacy regulations, consult legal professionals before adding an XSS canary to your site.</li>



<li>If an attacker uses <strong>print()</strong> instead of<strong> alert() </strong>as suggested by James Kettle<sup data-fn="13f668ef-af98-4b71-84e5-5b78ebeaec43" class="fn"><a id="13f668ef-af98-4b71-84e5-5b78ebeaec43-link" href="#13f668ef-af98-4b71-84e5-5b78ebeaec43">6</a></sup> back in 2021, this XSS canary won’t trigger. The XSS canary code could easily be modified to hook<strong> print() </strong>as well, but I’ll leave that as homework for the reader.</li>
</ul>



<p>If an attacker is thoroughly scrutinizing your website over an extended period, they will likely investigate an “XSS Canary” and block the domain from connecting. However, as we mentioned earlier, most XSS wordlists on the internet use <strong>alert()</strong> as a proof of concept, and for good reason: attackers and security researchers tend to avoid adding complexity to their payloads, as it may cause the exploit to fail. These wordlists are often loaded into scanners and sprayed at website parameters without additional unhooking logic.</p>



<p>If you’re concerned about your canary being bypassed, consider including an obfuscated version of the JavaScript canary directly into your website with a modified callback endpoint. This method makes it more difficult for users to block at the DNS level, while also complicating attempts to detect it using static signatures.</p>



<p>As of this writing, I believe the XSS canary concept to be original but if that is not the case please reach out and I’ll happily include references to similar research.</p>



<p>If you implement an XSS Canary on your website and it alerts you of a vulnerability please reach out (BHIS Discord<sup data-fn="3e911094-ad65-41ce-86f2-627a79492c75" class="fn"><a id="3e911094-ad65-41ce-86f2-627a79492c75-link" href="#3e911094-ad65-41ce-86f2-627a79492c75">7</a></sup>, GitHub Issue<sup data-fn="f27e4ec6-1208-475c-833d-accaed2f406a" class="fn"><a id="f27e4ec6-1208-475c-833d-accaed2f406a-link" href="#f27e4ec6-1208-475c-833d-accaed2f406a">8</a></sup>), I would love to hear the story.</p>



<h3 class="wp-block-heading"><strong>References</strong></h3>









<hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-default" style="background-color:#6f7070;color:#6f7070"/>



<hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-default" style="background-color:#2a2a74;color:#2a2a74"/>



<p class="has-text-align-center">Ready to learn more? </p>



<p class="has-text-align-center">Level up your skills with affordable classes from Antisyphon!</p>



<p class="has-text-align-center has-large-font-size"><strong><a href="https://www.antisyphontraining.com/pay-what-you-can/" data-type="URL" data-id="https://www.antisyphontraining.com/pay-what-you-can/" target="_blank" rel="noreferrer noopener">Pay-What-You-Can Training</a></strong></p>



<p class="has-text-align-center">Available live/virtual and on-demand</p>



<figure class="wp-block-image aligncenter size-thumbnail"><img loading="lazy" decoding="async" width="150" height="150" src="https://www.blackhillsinfosec.com/wp-content/uploads/2022/11/AntiSyphon_3-1-150x150.png" alt="" class="wp-image-23396" srcset="https://www.blackhillsinfosec.com/wp-content/uploads/2022/11/AntiSyphon_3-1-150x150.png 150w, https://www.blackhillsinfosec.com/wp-content/uploads/2022/11/AntiSyphon_3-1-500x500.png 500w, https://www.blackhillsinfosec.com/wp-content/uploads/2022/11/AntiSyphon_3-1-1024x1024.png 1024w, https://www.blackhillsinfosec.com/wp-content/uploads/2022/11/AntiSyphon_3-1-768x768.png 768w, https://www.blackhillsinfosec.com/wp-content/uploads/2022/11/AntiSyphon_3-1-1536x1536.png 1536w, https://www.blackhillsinfosec.com/wp-content/uploads/2022/11/AntiSyphon_3-1-2048x2048.png 2048w, https://www.blackhillsinfosec.com/wp-content/uploads/2022/11/AntiSyphon_3-1-1024x1024-221x221.png 221w" sizes="(max-width: 150px) 100vw, 150px"/></figure>



<hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-default" style="background-color:#2a2a74;color:#2a2a74"/>



<hr class="wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-default" style="background-color:#6f7070;color:#6f7070"/>



            
        </div>

				
		
		
		
	</div>
</div>
	
			</article>

			
	
	<div class="post-share-bot">
		<span class="info">Share.</span>
		
		<span class="share-links spc-social spc-social-colors spc-social-bg">

			
			
				<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fhackwatchit.com%2Fcanary-in-the-code-alert-ing-on-xss-exploits%2F" class="service s-facebook tsi tsi-facebook" 
					title="Share on Facebook" target="_blank" rel="nofollow noopener">
					<span class="visuallyhidden">Facebook</span>

									</a>
					
			
				<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fhackwatchit.com%2Fcanary-in-the-code-alert-ing-on-xss-exploits%2F&text=Canary%20in%20the%20Code%3A%20Alert%28%29-ing%20on%20XSS%20Exploits" class="service s-twitter tsi tsi-twitter" 
					title="Share on X (Twitter)" target="_blank" rel="nofollow noopener">
					<span class="visuallyhidden">Twitter</span>

									</a>
					
			
				<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fhackwatchit.com%2Fcanary-in-the-code-alert-ing-on-xss-exploits%2F&media=https%3A%2F%2Fhackwatchit.com%2Fwp-content%2Fuploads%2F2025%2F03%2FBLOG_chalkboard_00712.png&description=Canary%20in%20the%20Code%3A%20Alert%28%29-ing%20on%20XSS%20Exploits" class="service s-pinterest tsi tsi-pinterest" 
					title="Share on Pinterest" target="_blank" rel="nofollow noopener">
					<span class="visuallyhidden">Pinterest</span>

									</a>
					
			
				<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fhackwatchit.com%2Fcanary-in-the-code-alert-ing-on-xss-exploits%2F" class="service s-linkedin tsi tsi-linkedin" 
					title="Share on LinkedIn" target="_blank" rel="nofollow noopener">
					<span class="visuallyhidden">LinkedIn</span>

									</a>
					
			
				<a href="https://www.tumblr.com/share/link?url=https%3A%2F%2Fhackwatchit.com%2Fcanary-in-the-code-alert-ing-on-xss-exploits%2F&name=Canary%20in%20the%20Code%3A%20Alert%28%29-ing%20on%20XSS%20Exploits" class="service s-tumblr tsi tsi-tumblr" 
					title="Share on Tumblr" target="_blank" rel="nofollow noopener">
					<span class="visuallyhidden">Tumblr</span>

									</a>
					
			
				<a href="mailto:?subject=Canary%20in%20the%20Code%3A%20Alert%28%29-ing%20on%20XSS%20Exploits&body=https%3A%2F%2Fhackwatchit.com%2Fcanary-in-the-code-alert-ing-on-xss-exploits%2F" class="service s-email tsi tsi-envelope-o" 
					title="Share via Email" target="_blank" rel="nofollow noopener">
					<span class="visuallyhidden">Email</span>

									</a>
					
			
			
		</span>
	</div>
	



			<div class="author-box">
			<section class="author-info">

	<img alt='' src='https://secure.gravatar.com/avatar/888c406207045fd28d5408d162bb7458fdefeee2df33014db25e2f31e612f96b?s=95&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/888c406207045fd28d5408d162bb7458fdefeee2df33014db25e2f31e612f96b?s=190&d=mm&r=g 2x' class='avatar avatar-95 photo' height='95' width='95' decoding='async'/>	
	<div class="description">
		<a href="https://hackwatchit.com/author/rhoumahaythemgmail-com/" title="Posts by HackWatchit" rel="author">HackWatchit</a>		
		<ul class="social-icons">
					
			<li>
				<a href="http://hackwatchit.com" class="icon tsi tsi-home" title="Website"> 
					<span class="visuallyhidden">Website</span></a>				
			</li>
			
			
				</ul>
		
		<p class="bio"></p>
	</div>
	
</section>		</div>
	

	<section class="related-posts">
							
							
				<div class="block-head block-head-ac block-head-a block-head-a1 is-left">

					<h4 class="heading">Related <span class="color">Posts</span></h4>					
									</div>
				
			
				<section class="block-wrap block-grid mb-none" data-id="2">

				
			<div class="block-content">
					
	<div class="loop loop-grid loop-grid-sm grid grid-3 md:grid-2 xs:grid-1">

					
<article class="l-post grid-post grid-sm-post">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/ten-cloud-agnostic-cybersecurity-tips-for-protecting-your-data-across-platforms/" class="image-link media-ratio ratio-16-9" title="Ten Cloud-Agnostic Cybersecurity Tips for Protecting Your Data Across Platforms"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2025/08/Ten-Cloud-Agnostic-Cybersecurity-Tips-for-Protecting-Your-Data-Across-Platforms-450x338.jpg" class="img bg-cover wp-post-image attachment-bunyad-medium size-bunyad-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2025/08/Ten-Cloud-Agnostic-Cybersecurity-Tips-for-Protecting-Your-Data-Across-Platforms-450x338.jpg 450w, https://hackwatchit.com/wp-content/uploads/2025/08/Ten-Cloud-Agnostic-Cybersecurity-Tips-for-Protecting-Your-Data-Across-Platforms-300x225.jpg 300w, https://hackwatchit.com/wp-content/uploads/2025/08/Ten-Cloud-Agnostic-Cybersecurity-Tips-for-Protecting-Your-Data-Across-Platforms-768x576.jpg 768w, https://hackwatchit.com/wp-content/uploads/2025/08/Ten-Cloud-Agnostic-Cybersecurity-Tips-for-Protecting-Your-Data-Across-Platforms.jpg 1024w" data-sizes="(max-width: 377px) 100vw, 377px" role="img" aria-label="Ten Cloud-Agnostic Cybersecurity Tips for Protecting Your Data Across Platforms"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/ten-cloud-agnostic-cybersecurity-tips-for-protecting-your-data-across-platforms/">Ten Cloud-Agnostic Cybersecurity Tips for Protecting Your Data Across Platforms</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2025-08-30T18:21:20+00:00">August 30, 2025</time></span></span></div></div>			
			
			
		</div>

	
</article>					
<article class="l-post grid-post grid-sm-post">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/colortokens-joins-otcc-to-advance-protection-of-critical-infrastructure-with-zero-trust-microsegmentation-capabilities/" class="image-link media-ratio ratio-16-9" title="ColorTokens joins OTCC to advance protection of critical infrastructure with zero trust, microsegmentation capabilities"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2025/08/Vendor-news-colortokens.webp-450x236.webp" class="img bg-cover wp-post-image attachment-bunyad-medium size-bunyad-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2025/08/Vendor-news-colortokens.webp-450x236.webp 450w, https://hackwatchit.com/wp-content/uploads/2025/08/Vendor-news-colortokens.webp-300x157.webp 300w, https://hackwatchit.com/wp-content/uploads/2025/08/Vendor-news-colortokens.webp-1024x536.webp 1024w, https://hackwatchit.com/wp-content/uploads/2025/08/Vendor-news-colortokens.webp-768x402.webp 768w, https://hackwatchit.com/wp-content/uploads/2025/08/Vendor-news-colortokens.webp-150x79.webp 150w, https://hackwatchit.com/wp-content/uploads/2025/08/Vendor-news-colortokens.webp.webp 1200w" data-sizes="(max-width: 377px) 100vw, 377px" role="img" aria-label="colortokens"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/colortokens-joins-otcc-to-advance-protection-of-critical-infrastructure-with-zero-trust-microsegmentation-capabilities/">ColorTokens joins OTCC to advance protection of critical infrastructure with zero trust, microsegmentation capabilities</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2025-08-30T10:41:26+00:00">August 30, 2025</time></span></span></div></div>			
			
			
		</div>

	
</article>					
<article class="l-post grid-post grid-sm-post">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/nist-enhances-sp-800-53-controls-to-improve-cybersecurity-and-software-maintenance-reduce-cyber-risks/" class="image-link media-ratio ratio-16-9" title="NIST enhances SP 800-53 controls to improve cybersecurity and software maintenance, reduce cyber risks"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2025/08/2028.08.22-NIST-seeks-public-feedback-on-draft-Transit-Cybersecurity-Framework-aimed-at-reducing-ris-450x236.webp" class="img bg-cover wp-post-image attachment-bunyad-medium size-bunyad-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2025/08/2028.08.22-NIST-seeks-public-feedback-on-draft-Transit-Cybersecurity-Framework-aimed-at-reducing-ris-450x236.webp 450w, https://hackwatchit.com/wp-content/uploads/2025/08/2028.08.22-NIST-seeks-public-feedback-on-draft-Transit-Cybersecurity-Framework-aimed-at-reducing-ris-300x157.webp 300w, https://hackwatchit.com/wp-content/uploads/2025/08/2028.08.22-NIST-seeks-public-feedback-on-draft-Transit-Cybersecurity-Framework-aimed-at-reducing-ris-1024x536.webp 1024w, https://hackwatchit.com/wp-content/uploads/2025/08/2028.08.22-NIST-seeks-public-feedback-on-draft-Transit-Cybersecurity-Framework-aimed-at-reducing-ris-768x402.webp 768w, https://hackwatchit.com/wp-content/uploads/2025/08/2028.08.22-NIST-seeks-public-feedback-on-draft-Transit-Cybersecurity-Framework-aimed-at-reducing-ris-150x79.webp 150w, https://hackwatchit.com/wp-content/uploads/2025/08/2028.08.22-NIST-seeks-public-feedback-on-draft-Transit-Cybersecurity-Framework-aimed-at-reducing-ris.webp 1200w" data-sizes="(max-width: 377px) 100vw, 377px" role="img" aria-label="NIST seeks public feedback on draft Transit Cybersecurity Framework aimed at reducing risk, improving resilience"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/nist-enhances-sp-800-53-controls-to-improve-cybersecurity-and-software-maintenance-reduce-cyber-risks/">NIST enhances SP 800-53 controls to improve cybersecurity and software maintenance, reduce cyber risks</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2025-08-30T02:14:11+00:00">August 30, 2025</time></span></span></div></div>			
			
			
		</div>

	
</article>		
	</div>

		
			</div>

		</section>
		
	</section>			
			<div class="comments">
				
	

	

	<div id="comments">
		<div class="comments-area ">

		
	
		<div id="respond" class="comment-respond">
		<div id="reply-title" class="h-tag comment-reply-title"><span class="heading">Leave A Reply</span> <small><a rel="nofollow" id="cancel-comment-reply-link" href="/canary-in-the-code-alert-ing-on-xss-exploits/#respond" style="display:none;">Cancel Reply</a></small></div><p class="must-log-in">You must be <a href="https://hackwatchit.com/wp-login.php?redirect_to=https%3A%2F%2Fhackwatchit.com%2Fcanary-in-the-code-alert-ing-on-xss-exploits%2F">logged in</a> to post a comment.</p>	</div><!-- #respond -->
			</div>
	</div><!-- #comments -->
			</div>

		</div>
	</div>
	
	</div>
	</div>

			<footer class="main-footer cols-gap-lg footer-bold s-dark">

						<div class="upper-footer bold-footer-upper">
			<div class="ts-contain wrap">
				<div class="widgets row cf">
					
		<div class="widget col-4 ts-block-widget smartmag-widget-posts-small">		
		<div class="block">
					<section class="block-wrap block-posts-small block-sc mb-none" data-id="3">

			<div class="widget-title block-head block-head-ac block-head block-head-ac block-head-b is-left has-style"><h5 class="heading">Latest Posts</h5></div>	
			<div class="block-content">
				
	<div class="loop loop-small loop-small-a loop-sep loop-small-sep grid grid-1 md:grid-1 sm:grid-1 xs:grid-1">

					
<article class="l-post small-post small-a-post m-pos-left">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/ai-model-betting-is-the-new-fantasy-football/" class="image-link media-ratio ar-bunyad-thumb" title="AI Model Betting Is the New Fantasy Football"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-300x180.jpg" class="img bg-cover wp-post-image attachment-medium size-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-300x180.jpg 300w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-1024x614.jpg 1024w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-768x461.jpg 768w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-150x90.jpg 150w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-450x270.jpg 450w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting.jpg 1200w" data-sizes="(max-width: 110px) 100vw, 110px" role="img" aria-label="AI Model Betting Is the New Fantasy Football"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a post-meta-left has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/ai-model-betting-is-the-new-fantasy-football/">AI Model Betting Is the New Fantasy Football</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2025-08-31T05:56:44+00:00">August 31, 2025</time></span></span></div></div>			
			
			
		</div>

	
</article>	
					
<article class="l-post small-post small-a-post m-pos-left">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/transunion-data-breach-impacts-4-4-million/" class="image-link media-ratio ar-bunyad-thumb" title="TransUnion Data Breach Impacts 4.4 Million"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2025/08/TransUnion-Data-Breach-300x169.jpg" class="img bg-cover wp-post-image attachment-medium size-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2025/08/TransUnion-Data-Breach-300x169.jpg 300w, https://hackwatchit.com/wp-content/uploads/2025/08/TransUnion-Data-Breach-1024x576.jpg 1024w, https://hackwatchit.com/wp-content/uploads/2025/08/TransUnion-Data-Breach-768x432.jpg 768w, https://hackwatchit.com/wp-content/uploads/2025/08/TransUnion-Data-Breach-150x84.jpg 150w, https://hackwatchit.com/wp-content/uploads/2025/08/TransUnion-Data-Breach-450x253.jpg 450w, https://hackwatchit.com/wp-content/uploads/2025/08/TransUnion-Data-Breach.jpg 1200w" data-sizes="(max-width: 110px) 100vw, 110px" role="img" aria-label="TransUnion Data Breach"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a post-meta-left has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/transunion-data-breach-impacts-4-4-million/">TransUnion Data Breach Impacts 4.4 Million</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2025-08-31T03:51:13+00:00">August 31, 2025</time></span></span></div></div>			
			
			
		</div>

	
</article>	
					
<article class="l-post small-post small-a-post m-pos-left">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/microsoft-to-enforce-mfa-for-azure-resource-management-in-october/" class="image-link media-ratio ar-bunyad-thumb" title="Microsoft to enforce MFA for Azure resource management in October"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless-300x169.jpg" class="img bg-cover wp-post-image attachment-medium size-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless-300x169.jpg 300w, https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless-1024x576.jpg 1024w, https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless-768x432.jpg 768w, https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless-1536x864.jpg 1536w, https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless-150x84.jpg 150w, https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless-450x253.jpg 450w, https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless-1200x675.jpg 1200w, https://hackwatchit.com/wp-content/uploads/2025/05/Microsoft_passwordless.jpg 1600w" data-sizes="(max-width: 110px) 100vw, 110px" role="img" aria-label="Microsoft passwordless"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a post-meta-left has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/microsoft-to-enforce-mfa-for-azure-resource-management-in-october/">Microsoft to enforce MFA for Azure resource management in October</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2025-08-31T03:46:16+00:00">August 31, 2025</time></span></span></div></div>			
			
			
		</div>

	
</article>	
		
	</div>

					</div>

		</section>
				</div>

		</div><div class="widget col-4 widget_media_gallery"><div class="widget-title block-head block-head-ac block-head block-head-ac block-head-b is-left has-style"><h5 class="heading">Gallery Pics</h5></div><div id='gallery-1' class='gallery galleryid-4825 gallery-columns-3 gallery-size-thumbnail'><figure class='gallery-item'>
			<div class='gallery-icon landscape'>
				<img width="150" height="150" src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTUwIDE1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48L3N2Zz4=" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://hackwatchit.com/wp-content/uploads/2024/11/shutterstock_2089503016-1-150x150.jpg" />
			</div></figure><figure class='gallery-item'>
			<div class='gallery-icon landscape'>
				<img width="150" height="150" src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTUwIDE1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48L3N2Zz4=" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://hackwatchit.com/wp-content/uploads/2024/11/code-150x150.webp" />
			</div></figure><figure class='gallery-item'>
			<div class='gallery-icon landscape'>
				<img width="150" height="150" src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTUwIDE1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48L3N2Zz4=" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://hackwatchit.com/wp-content/uploads/2024/11/images-38-150x150.jpg" />
			</div></figure><figure class='gallery-item'>
			<div class='gallery-icon landscape'>
				<img width="150" height="150" src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTUwIDE1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48L3N2Zz4=" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://hackwatchit.com/wp-content/uploads/2024/11/securing-digital-identity-businessman-s-journey-cyber-security-data-protection_1000124-156655-150x150.avif" />
			</div></figure><figure class='gallery-item'>
			<div class='gallery-icon landscape'>
				<img width="150" height="150" src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTUwIDE1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48L3N2Zz4=" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://hackwatchit.com/wp-content/uploads/2024/11/download-2-150x150.jpg" />
			</div></figure><figure class='gallery-item'>
			<div class='gallery-icon landscape'>
				<img width="150" height="150" src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTUwIDE1MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48L3N2Zz4=" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://hackwatchit.com/wp-content/uploads/2024/11/1461369-security-1-150x150.webp" />
			</div></figure>
		</div>
</div>
		<div class="widget col-4 ts-block-widget smartmag-widget-posts-small">		
		<div class="block">
					<section class="block-wrap block-posts-small block-sc mb-none" data-id="4">

			<div class="widget-title block-head block-head-ac block-head block-head-ac block-head-b is-left has-style"><h5 class="heading">Popular Posts</h5></div>	
			<div class="block-content">
				
	<div class="loop loop-small loop-small-a loop-sep loop-small-sep grid grid-1 md:grid-1 sm:grid-1 xs:grid-1">

					
<article class="l-post small-post small-a-post m-pos-left">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/ai-model-betting-is-the-new-fantasy-football/" class="image-link media-ratio ar-bunyad-thumb" title="AI Model Betting Is the New Fantasy Football"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-300x180.jpg" class="img bg-cover wp-post-image attachment-medium size-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-300x180.jpg 300w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-1024x614.jpg 1024w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-768x461.jpg 768w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-150x90.jpg 150w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting-450x270.jpg 450w, https://hackwatchit.com/wp-content/uploads/2025/08/AI-model-betting.jpg 1200w" data-sizes="(max-width: 110px) 100vw, 110px" role="img" aria-label="AI Model Betting Is the New Fantasy Football"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a post-meta-left has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/ai-model-betting-is-the-new-fantasy-football/">AI Model Betting Is the New Fantasy Football</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2025-08-31T05:56:44+00:00">August 31, 2025</time></span></span></div></div>			
			
			
		</div>

	
</article>	
					
<article class="l-post small-post small-a-post m-pos-left">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/the-future-of-ai-and-ml-in-cybersecurity-whats-next/" class="image-link media-ratio ar-bunyad-thumb" title="The Future of AI and ML in Cybersecurity: What\’s Next?"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2024/11/shutterstock_2276152811-300x194.webp" class="img bg-cover wp-post-image attachment-medium size-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2024/11/shutterstock_2276152811-300x194.webp 300w, https://hackwatchit.com/wp-content/uploads/2024/11/shutterstock_2276152811-768x495.webp 768w, https://hackwatchit.com/wp-content/uploads/2024/11/shutterstock_2276152811.webp 1000w" data-sizes="(max-width: 110px) 100vw, 110px"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a post-meta-left has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/the-future-of-ai-and-ml-in-cybersecurity-whats-next/">The Future of AI and ML in Cybersecurity: What\’s Next?</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2024-11-27T07:28:03+00:00">November 27, 2024</time></span></span></div></div>			
			
			
		</div>

	
</article>	
					
<article class="l-post small-post small-a-post m-pos-left">

	
			<div class="media">

		
			<a href="https://hackwatchit.com/ai-and-ml-in-cybersecurity-exploring-the-emerging-trends-and-future-directions/" class="image-link media-ratio ar-bunyad-thumb" title="AI and ML in Cybersecurity: Exploring the Emerging Trends and Future Directions"><span data-bgsrc="https://hackwatchit.com/wp-content/uploads/2024/11/FeaturedImage1728978400-300x169.jpeg" class="img bg-cover wp-post-image attachment-medium size-medium lazyload" data-bgset="https://hackwatchit.com/wp-content/uploads/2024/11/FeaturedImage1728978400-300x169.jpeg 300w, https://hackwatchit.com/wp-content/uploads/2024/11/FeaturedImage1728978400-1024x576.jpeg 1024w, https://hackwatchit.com/wp-content/uploads/2024/11/FeaturedImage1728978400-768x432.jpeg 768w, https://hackwatchit.com/wp-content/uploads/2024/11/FeaturedImage1728978400.jpeg 1200w" data-sizes="(max-width: 110px) 100vw, 110px"></span></a>			
			
			
			
		
		</div>
	

	
		<div class="content">

			<div class="post-meta post-meta-a post-meta-left has-below"><h4 class="is-title post-title"><a href="https://hackwatchit.com/ai-and-ml-in-cybersecurity-exploring-the-emerging-trends-and-future-directions/">AI and ML in Cybersecurity: Exploring the Emerging Trends and Future Directions</a></h4><div class="post-meta-items meta-below"><span class="meta-item date"><span class="date-link"><time class="post-date" datetime="2024-11-27T07:29:21+00:00">November 27, 2024</time></span></span></div></div>			
			
			
		</div>

	
</article>	
		
	</div>

					</div>

		</section>
				</div>

		</div>				</div>
			</div>
		</div>
		
	
			<div class="lower-footer bold-footer-lower">
			<div class="ts-contain inner">

									<div class="footer-logo">
						<img src="https://hackwatchit.com/wp-content/uploads/2025/01/HackWatchit-3.png" width="297" height="68" class="logo" alt="HackWatchit" />
					</div>
						
				

				
		<div class="spc-social-block spc-social spc-social-b ">
		
			
				<a href="#" class="link service s-facebook" target="_blank" rel="nofollow noopener">
					<i class="icon tsi tsi-facebook"></i>					<span class="visuallyhidden">Facebook</span>
				</a>
									
			
				<a href="#" class="link service s-twitter" target="_blank" rel="nofollow noopener">
					<i class="icon tsi tsi-twitter"></i>					<span class="visuallyhidden">X (Twitter)</span>
				</a>
									
			
				<a href="#" class="link service s-instagram" target="_blank" rel="nofollow noopener">
					<i class="icon tsi tsi-instagram"></i>					<span class="visuallyhidden">Instagram</span>
				</a>
									
			
				<a href="#" class="link service s-pinterest" target="_blank" rel="nofollow noopener">
					<i class="icon tsi tsi-pinterest-p"></i>					<span class="visuallyhidden">Pinterest</span>
				</a>
									
			
		</div>

		
				
				<div class="copyright">
					Copyright © 2025 HackWatchit. All Rights Reserved.				</div>
			</div>
		</div>		
			</footer>
		
	
</div><!-- .main-wrap -->



	<div class="search-modal-wrap" data-scheme="dark">
		<div class="search-modal-box" role="dialog" aria-modal="true">

			<form method="get" class="search-form" action="https://hackwatchit.com/">
				<input type="search" class="search-field live-search-query" name="s" placeholder="Search..." value="" required />

				<button type="submit" class="search-submit visuallyhidden">Submit</button>

				<p class="message">
					Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel.				</p>
						
			</form>

		</div>
	</div>


<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/smart-mag\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"Article","headline":"Canary in the Code: Alert()-ing on XSS Exploits","url":"https:\/\/hackwatchit.com\/canary-in-the-code-alert-ing-on-xss-exploits\/","image":{"@type":"ImageObject","url":"https:\/\/hackwatchit.com\/wp-content\/uploads\/2025\/03\/BLOG_chalkboard_00712.png","width":1280,"height":720},"datePublished":"2025-03-20T17:51:27+00:00","dateModified":"2025-03-20T17:51:27+00:00","author":{"@type":"Person","name":"HackWatchit","url":"https:\/\/hackwatchit.com\/author\/rhoumahaythemgmail-com\/"},"publisher":{"@type":"Organization","name":"HackWatchit","sameAs":"https:\/\/hackwatchit.com","logo":{"@type":"ImageObject","url":"https:\/\/hackwatchit.com\/wp-content\/uploads\/2025\/01\/HackWatchit-2.png"}},"mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/hackwatchit.com\/canary-in-the-code-alert-ing-on-xss-exploits\/"}}</script>
			<script>
				const lazyloadRunObserver = () => {
					const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
					const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
						entries.forEach( ( entry ) => {
							if ( entry.isIntersecting ) {
								let lazyloadBackground = entry.target;
								if( lazyloadBackground ) {
									lazyloadBackground.classList.add( 'e-lazyloaded' );
								}
								lazyloadBackgroundObserver.unobserve( entry.target );
							}
						});
					}, { rootMargin: '200px 0px 200px 0px' } );
					lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
						lazyloadBackgroundObserver.observe( lazyloadBackground );
					} );
				};
				const events = [
					'DOMContentLoaded',
					'elementor/lazyload/observe',
				];
				events.forEach( ( event ) => {
					document.addEventListener( event, lazyloadRunObserver );
				} );
			</script>
			<script type="text/javascript" id="smartmag-lazyload-js-extra">
/* <![CDATA[ */
var BunyadLazyConf = {"type":"normal"};
/* ]]> */
</script>
<script type="text/javascript" src="https://hackwatchit.com/wp-content/themes/smart-mag/js/lazyload.js?ver=10.3.0" id="smartmag-lazyload-js"></script>
<script type="text/javascript" src="https://hackwatchit.com/wp-content/themes/smart-mag/js/jquery.mfp-lightbox.js?ver=10.3.0" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://hackwatchit.com/wp-content/themes/smart-mag/js/jquery.sticky-sidebar.js?ver=10.3.0" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" id="smartmag-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"ajaxurl":"https:\/\/hackwatchit.com\/wp-admin\/admin-ajax.php"};
/* ]]> */
</script>
<script type="text/javascript" src="https://hackwatchit.com/wp-content/themes/smart-mag/js/theme.js?ver=10.3.0" id="smartmag-theme-js"></script>
<script type="text/javascript" src="https://hackwatchit.com/wp-content/themes/smart-mag/js/float-share.js?ver=10.3.0" id="smartmag-float-share-js"></script>
<script type="text/javascript" src="https://hackwatchit.com/wp-includes/js/comment-reply.min.js?ver=6.8.2" id="comment-reply-js" async="async" data-wp-strategy="async"></script>


</body>
</html>

<!-- Page cached by LiteSpeed Cache 7.4 on 2025-08-31 06:21:14 -->