<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Improving the method of monitoring the state of the website by detecting user interface vulnerabilities and browser errors</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ihor Martyniuk</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hanna Martyniuk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yaroslav Yevchenko</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Mariupol State University</institution>
          ,
          <addr-line>Preobrazhenska Str., 6, Kyiv, 03037</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”</institution>
          ,
          <addr-line>Beresteyskyi Ave., 37, Kyiv, 03056</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>State Scientific and Research Institute of Cybersecurity Technologies and Information Protection</institution>
          ,
          <addr-line>Maksym Zalizniak Str., 3/6, Kyiv, 03142</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The paper presents an improved method of monitoring the state of a website with a focus on the security of the client interface (front-end). An architectural solution is proposed based on the use of Selenium WebDriver in combination with Chrome DevTools Protocol (CDP) to emulate user interaction with the web interface, intercept internal browser events, and then transfer the collected data to the Zabbix monitoring system for further analysis and alerts. The methodology allows detecting security breach indicators, such as JavaScript errors, XSS injections, violations of CSP/CORS policies, cases of mixed content, vulnerabilities related to dangerous cookie flags, and other typical signs of compromise or incorrect user interface implementation.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;monitoring</kwd>
        <kwd>Zabbix</kwd>
        <kwd>Selenium</kwd>
        <kwd>Chrome DevTools</kwd>
        <kwd>website</kwd>
        <kwd>UI vulnerabilities</kwd>
        <kwd>monitoring automation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Today, in the context of the rapid development of information technology and the growing digitalisation
of business, the role of websites as one of the main channels of interaction with users, partners and
customers is becoming increasingly important. Modern IT systems are constantly growing and becoming
more complex and dynamic, which necessitates the implementation of efective solutions for monitoring
their status and operation. Most monitoring solutions are focused primarily on the infrastructure level:
monitoring server availability, network interfaces, resource consumption, performance metrics, etc.
At the same time, the front-end part of websites, which is straight interacted with by the customers,
remains out of focus of traditional monitoring [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        In practice, it means that potentially dangerous security incidents or failures will remain undetected
for a considerable period of time [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Such issues include JavaScript errors that prevent basic user
interface functions from working; cross-site scripting (XSS) vulnerabilities that can be used to attack
users; errors or incorrect implementation of content security policies (CSP); the usage of mixed content
(HTTP resources on HTTPS pages), which decreases the entire security level; non-compliance with
recommendations of correct cookies usage (lack of Secure, HttpOnly, SameSite attributes). In
combination, these factors pose significant risks to both the reputation and cyber resilience of organisations
providing services through websites.
      </p>
      <p>In view of this, there is a need to create solutions that can monitor the client side of websites in real
time, with a focus on security, stability and compliance with modern web development standards. Of
particular relevance are approaches that allow integrating such solutions into the existing infrastructure
of an enterprise, ensuring continuous verification of the behaviour of the web interface in the production
environment.</p>
      <p>The purpose of this study is to improve the methods of monitoring the state of a website by means of
an architectural solution that combines tools for emulating user behaviour with mechanisms for reading
internal browser events, with subsequent analysis and transmission of the results to the monitoring
system. This approach allows automated control over the state of the client side of websites, detection
of indicators of security breaches or functional malfunctions, and prompt notification of potential
incidents to the responsible persons.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Problem statement</title>
      <p>Most website health monitoring methods usually focused on a limited set of metrics, such as resource
availability monitoring (checking HTTP status codes), performance monitoring (tracking page load
times, execution times of certain requests, etc.), and the use of external services (UptimeRobot, Pingdom,
Datadog, etc.). There are also approaches based on static code analysis or server log checking, which
are mostly focused on business logic or backend vulnerabilities and only partially address the behaviour
of the client side.</p>
      <p>This problem is especially relevant for one page websites that are created with React, Angular or
Vue.js, where the client’s logic is important for the correct operation of the interface. Request delays or
form failures may cause critical errors that will not be detected by traditional monitoring tools.</p>
      <p>That is why it is necessary to improve and develop new methods that allow you to solve these
limitations and use monitoring with more eficiency by implementing integration with the browser
interface, providing real-time tracking of various internal events and errors that impact the stability,
security and functionality of the website front-end.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Analysis of recent research and publications</title>
      <p>In recent years, the website monitoring industry has seen the emergence of many individual solutions,
each of which addresses a part of the security problem. At the same time, most of them are focused either
on the backend or on the initial stages of CI/CD (Continuous Integration/Continuous Deployment),
while active monitoring of the client layer in the production environment remains poorly understood.</p>
      <p>
        Most approaches, such as integrating tests into CI/CD [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ], proxy scanning (e.g., OWASP ZAP
a free tool for automated security testing of websites and web applications) [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ], or using Content
Security Policy (CSP) [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ], help at the design or configuration stage, but do not capture incidents at
runtime. The absence of CSPs or incorrect headers, although detected by tools such as SecurityHeaders
(an online service for checking the security of HTTP headers) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], are still only signals, not part of the
operational analysis.
      </p>
      <p>
        Modern monitoring systems, such as Zabbix 7.0 with Selenium support [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], already include basic
accessibility tests. However, such tests are usually limited to checking HTTP responses only. At the
same time, specific vulnerabilities at the DOM level, such as DOM-based XSS (cross-site scripting),
uncontrolled redirects, or dangerous cookies, are not detected by such tools.
      </p>
      <p>
        Some studies consider the possibility of using the Chrome DevTools Protocol (CDP - a set of tools
from Google for remote browser control) for deeper analysis of browser behaviour [
        <xref ref-type="bibr" rid="ref11 ref12 ref13">11, 12, 13</xref>
        ], including
interception of JavaScript errors, warnings about deprecated APIs, CSP violations, etc. This approach
opens the way to building real-time client monitoring, but it is currently hardly implemented in standard
security tools.
      </p>
      <p>
        Approaches based on the MITRE ATT"&amp;"CK framework (a matrix of known attacker tactics and
techniques) remain relevant for modelling attack scenarios [
        <xref ref-type="bibr" rid="ref1 ref14 ref15">1, 14, 15</xref>
        ], but are limited to analysing
backend or network activities. The use of automatic log handlers from the client that store and transmit
the results through agents to Zabbix or other monitoring systems [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ] opens up new opportunities
for integration into SIEM (Security Information and Event Management) [
        <xref ref-type="bibr" rid="ref18 ref19">18, 19</xref>
        ] and visualisation of
vulnerabilities at the browser level.
      </p>
      <p>
        Tools such as OWASP ZAP, ModSecurity with OWASP Core Rule Set (CRS), as well as Snyk
(dependency and vulnerability analytics in code) or SonarQube (code quality analysis platform) [
        <xref ref-type="bibr" rid="ref20 ref21 ref5 ref6">5, 6, 20, 21</xref>
        ]
are useful in identifying code or query issues, but do not have access to browser rendering.
      </p>
      <p>
        In total, the analysis of sources allows to identify the following aspects:
• The growing popularity of DevTools API in scientific research [
        <xref ref-type="bibr" rid="ref11 ref12 ref13">11, 12, 13</xref>
        ], but the lack of
production implementations;
• Emphasis on CI/CD verification without support for continuous monitoring [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ];
• Lack of integration between Selenium, DevTools, and the monitoring system in the security
context;
• The need for automatic incident notification [
        <xref ref-type="bibr" rid="ref16 ref17 ref18 ref22">16, 17, 18, 22</xref>
        ].
      </p>
      <p>These challenges are addressed by the architecture proposed in this paper, which combines UI
monitoring, DevTools logic, real-time analysis, and centralised response via Zabbix monitoring system.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Results of the research</title>
      <sec id="sec-4-1">
        <title>4.1. Architecture of the proposed solution</title>
        <p>To solve the problem of detecting threats, errors and other security events on the user side, it is proposed
to implement website monitoring at the level of user interface usage, based on the following components:
1 Selenium Webdriver – for launching a browser session and simulation human interactions.
2 Chrome DevTools Protocol (CDP) is a channel for accessing browser logs in real time.
3 Python script - initiates the launch of the Chrome browser in headless mode using Selenium.</p>
        <p>Then it checks internal browser events through the Chrome DevTools Protocol (CDP): JavaScript
errors in the browser console, CSP, trafic, etc. The script can also run XSS tests or another custom
scripts to inspect the functionality of a website. This script also performs error classification and
generates statuses for the monitoring system.
4 Zabbix Server is the main monitoring system that receives the results of checks from the Python
script and generates the appropriate triggers, alerts, and reports. It also analyses statuses from
monitoring agents or external sources.
5 Notification System is a component for automatically informing responsible persons about
detected problems by sending email, SMS or other types of notifications. Based on the specified
triggers, Zabbix generates notifications that can be sent via API or webhooks for integration with
third-party services (e.g. Jira, PagerDuty).</p>
        <p>The proposed architecture is aimed at creating passive and continuous security monitoring at the UI
level. The idea is to integrate user action emulation tools (Selenium) with Chrome DevTools interfaces
to receive notifications of errors, unsafe actions, or suspicious behaviour without interfering with the
application code. The results of the checks are sent to the monitoring system (Zabbix), which creates
alerts and graphs. This allows for full monitoring in a live browser, including console errors, DOM
events, CSP policies, and other risk signals that are not captured by traditional logging systems or a
Web Application Firewall (WAF), as shown in Figure 1.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Testing methodology</title>
        <p>The testing methodology consists of running a Python script that opens a web page in a real browser
(Chrome) using analysis via DevTools Protocol. The received messages are filtered and classified.
This ensures the collection of a comprehensive set of diagnostic data that allows you to identify both
functional and security issues in the client side of the website. After that, the script analyses them (as
shown in Table 1):
• whether there were any JavaScript errors;
• whether any security risks have been detected (insuficient CSP, mixed content, etc.);
• the extent to which the existing risk signs are repeated on diferent pages;
• the impact of load or other scenarios on the security of the interface.</p>
        <p>The methodology involves automated page crawling using a headless browser, with the results
analysed in DevTools via CDP. Each check is performed by a script and analysed by an external handler
that generates a report. Then the result is transferred to Zabbix, where a trigger is generated. If the
triggers are fired, notification system send message to responsible persons via a specified notification
channel (email, Slack, SMS, etc.).</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Testing procedure</title>
        <p>The testing procedure includes:
• Connecting the Selenium WebDriver to a CDP-enabled browser.
• Run the scripts to open the landing pages.
• Collect logs through DevTools (console, network, security).
• Processing and classification of messages.
• Sending a summary status to Zabbix.</p>
        <p>• Generating notifications, saving history for audit.</p>
        <p>As part of the experiment, we conducted our own tests with a sample of 50 websites that were tested
according to the above procedure, including corporate websites (React, Vue.js, Angular), e-commerce
solutions (WooCommerce), information portals (WordPress/Joomla), forums (phpBB). The incidents
were categorised as shown in Figure 2: CSP Violations, JavaScript errors, mixed content, DOM XSS
events and insecure cookies.</p>
        <p>The proposed approach can be used for providing risk assessment guidelines, for developing specific
programs to improve the resilience of their websites, etc.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>Analysis of capabilities and limitations of existing traditional monitoring methods shows that there
is a huge number of diferent metrics, but they do not use tools for continuous UI monitoring. The
proposed approaches for detecting threats at the UI level with including automation script provides
continuous auditing without the needing of manual interaction.</p>
      <p>Overall, the paper contributes to the improvement of monitoring methods, suggesting new approaches
that can be useful for developers and site owners and will help responsible persons to prevent new
categories of IT incidents and ensure fast detection of them.</p>
    </sec>
    <sec id="sec-6">
      <title>Declaration on Generative AI</title>
      <p>The authors have not employed any Generative AI tools.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>SAIBERSOC</surname>
          </string-name>
          ,
          <article-title>Mitre att and ck-based synthetic attack simulation</article-title>
          ,
          <year>2020</year>
          . URL: https://saibersoc.com/ blog/automated-threat-injection.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zaliskyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Odarchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gnatyuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Petrova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chaplits</surname>
          </string-name>
          ,
          <article-title>Method of trafic monitoring for DDoS attacks detection in e-health systems and networks</article-title>
          ,
          <source>in: CEUR Workshop Proceedings</source>
          , volume
          <volume>2255</volume>
          ,
          <year>2018</year>
          , pp.
          <fpage>193</fpage>
          -
          <lpage>204</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kanaoka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hiura</surname>
          </string-name>
          ,
          <article-title>Real-time detection of multi-file dom-based xss vulnerabilities using static analysis</article-title>
          ,
          <source>Proceedings of the 11th International Conference on Information Systems Security and Privacy</source>
          <volume>1</volume>
          (
          <year>2025</year>
          )
          <fpage>191</fpage>
          -
          <lpage>198</lpage>
          . doi:
          <volume>10</volume>
          .5220/0013109300003899.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricca</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. M. del Alamo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Leotta</surname>
          </string-name>
          ,
          <article-title>Enhancing web applications observability through instrumented automated browsers</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>203</volume>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Checkmarx</surname>
          </string-name>
          , Zed attack proxy,
          <year>2020</year>
          . URL: https://www.zaproxy.org/docs/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Filipe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Araujo</surname>
          </string-name>
          ,
          <article-title>Client side monitoring techniques for web sites</article-title>
          ,
          <source>Proceedings IEEE 15th International Symposium on Network Computing and Applications</source>
          (
          <year>2016</year>
          )
          <fpage>363</fpage>
          -
          <lpage>366</lpage>
          . doi:
          <volume>10</volume>
          .1109/ NCA.
          <year>2016</year>
          .
          <volume>7778642</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D. F.</given-names>
            <surname>Some</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bielova</surname>
          </string-name>
          , T. Rezk,
          <article-title>On the content security policy violations due to the same-origin policy</article-title>
          ,
          <source>Proceedings of the 26th International Conference on World Wide Web</source>
          <year>2017</year>
          (
          <year>2017</year>
          )
          <fpage>877</fpage>
          -
          <lpage>886</lpage>
          . doi:
          <volume>10</volume>
          .1145/3038912.3052634.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>W3C</given-names>
            <surname>Web Application</surname>
          </string-name>
          Security Working Group,
          <source>Content security policy level 3</source>
          ,
          <year>2025</year>
          . URL: https://w3c.github.io/webappsec-csp/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Security</given-names>
            <surname>Headers</surname>
          </string-name>
          ,
          <source>Analyse your http response headers</source>
          ,
          <year>2020</year>
          . URL: https://securityheaders.com.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pikkarainen</surname>
          </string-name>
          ,
          <article-title>What's up, home? - monitor your new selenium, 2024</article-title>
          . URL: https://blog.zabbix.
          <article-title>com/whats-up-home-monitor-</article-title>
          <string-name>
            <surname>your-</surname>
          </string-name>
          new-selenium/28394/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Google</surname>
          </string-name>
          , Chrome devtools protocol docs,
          <year>2020</year>
          . URL: https://chromedevtools.github.io/ devtools-protocol/.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Nikiforakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Huygens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Desmet</surname>
          </string-name>
          ,
          <article-title>A dangerous mix: Large-scale analysis of mixedcontent websites</article-title>
          ,
          <source>Lecture Notes in Computer Science</source>
          <volume>7807</volume>
          (
          <year>2013</year>
          )
          <fpage>354</fpage>
          -
          <lpage>363</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>J. M. Moreno</surname>
            ,
            <given-names>N. V.</given-names>
          </string-name>
          <string-name>
            <surname>Rodríguez</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Tapiador</surname>
          </string-name>
          ,
          <article-title>Chrowned by an extension: Abusing the chrome devtools protocol through the debugger api</article-title>
          ,
          <source>2023 IEEE 8th European Symposium on Security and Privacy (EuroSandP)</source>
          (
          <year>2023</year>
          )
          <fpage>832</fpage>
          -
          <lpage>846</lpage>
          . doi:
          <volume>10</volume>
          .1109/EuroSP57164.
          <year>2023</year>
          .
          <volume>00054</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Mohan</surname>
          </string-name>
          ,
          <article-title>What is insecure https cookies</article-title>
          and
          <source>their risks?</source>
          ,
          <year>2024</year>
          . URL: https://prophaze.com/blog/ what-is
          <article-title>-insecure-https-cookies-and-their-risks/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zaliskyi</surname>
          </string-name>
          , et al.,
          <article-title>Heteroskedasticity analysis during operational data processing of radio electronic systems</article-title>
          , in: S. Shukla,
          <string-name>
            <given-names>A.</given-names>
            <surname>Unal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. V.</given-names>
            <surname>Kureethara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Mishra</surname>
          </string-name>
          , D. Han (Eds.),
          <source>Data Science and Security</source>
          , volume
          <volume>290</volume>
          <source>of Lecture Notes in Networks and Systems</source>
          , Springer, Singapore,
          <year>2021</year>
          , pp.
          <fpage>168</fpage>
          -
          <lpage>175</lpage>
          . doi:
          <volume>10</volume>
          .1007/
          <fpage>978</fpage>
          -981-16-4486-3_
          <fpage>18</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Selenium</surname>
            <given-names>Project</given-names>
          </string-name>
          , Selenium documentation,
          <year>2025</year>
          . URL: https://www.selenium.dev/documentation.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Pazos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Legare</surname>
          </string-name>
          , I. Beschastnikh, W. Aiello,
          <article-title>Precise xss detection and mitigation with client side templates, arXiv preprint (</article-title>
          <year>2020</year>
          ). doi:
          <volume>10</volume>
          .48550/arXiv.
          <year>2005</year>
          .
          <volume>07826</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>P.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bangert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kern</surname>
          </string-name>
          ,
          <article-title>If it's not secure, it should not compile: Preventing dom-based xss in large-scale web development with api hardening</article-title>
          ,
          <source>2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE)</source>
          (
          <year>2021</year>
          )
          <fpage>1360</fpage>
          -
          <lpage>1372</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICSE43902.
          <year>2021</year>
          .
          <volume>00123</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>MDN</surname>
          </string-name>
          , Secure cookie configuration,
          <year>2024</year>
          . URL: https://developer.mozilla.org/docs/Web/Security/ Practical_implementation_guides/Cookies.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>M.</given-names>
            <surname>Squarcina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Adao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Veronese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mafei</surname>
          </string-name>
          ,
          <article-title>Cookie crumbles: Breaking and fixing web session integrity</article-title>
          ,
          <source>Proceedings of the 32nd USENIX Security Symposium</source>
          (
          <year>2023</year>
          )
          <fpage>5539</fpage>
          -
          <lpage>5556</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bernado</surname>
          </string-name>
          , et al.,
          <article-title>Web platform threats: Automated detection of web security issues with wpt</article-title>
          ,
          <source>33rd USENIX Security Symposium</source>
          (
          <year>2024</year>
          )
          <fpage>757</fpage>
          -
          <lpage>774</lpage>
          . doi:
          <volume>10</volume>
          .5555/3698900.3698943.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Averyanova</surname>
          </string-name>
          , et al.,
          <article-title>UAS cyber security hazards analysis and approach to qualitative assessment</article-title>
          , in: S.
          <string-name>
            <surname>Shukla</surname>
          </string-name>
          , et al. (Eds.),
          <source>Data Science and Security</source>
          , volume
          <volume>290</volume>
          <source>of Lecture Notes in Networks and Systems</source>
          , Springer, Singapore,
          <year>2021</year>
          , pp.
          <fpage>258</fpage>
          -
          <lpage>265</lpage>
          . doi:
          <volume>10</volume>
          .1007/
          <fpage>978</fpage>
          -981-16-4486-3_
          <fpage>28</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>