<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Lau</title>
    <description>The latest articles on Forem by Lau (@lau_blog).</description>
    <link>https://forem.com/lau_blog</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1403501%2F9c570b95-774d-4f69-a904-44955bbfb442.jpeg</url>
      <title>Forem: Lau</title>
      <link>https://forem.com/lau_blog</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lau_blog"/>
    <language>en</language>
    <item>
      <title>The logic of Value</title>
      <dc:creator>Lau</dc:creator>
      <pubDate>Mon, 24 Mar 2025 20:38:27 +0000</pubDate>
      <link>https://forem.com/lau_blog/the-logic-of-value-4mbb</link>
      <guid>https://forem.com/lau_blog/the-logic-of-value-4mbb</guid>
      <description>&lt;p&gt;Not all threats matters equally, and not all vulnerabilities hold the same relevance, unless analyzed through the lens of the attacker’s profile.&lt;/p&gt;

&lt;p&gt;Adversary profiling allows us to optimize defense in multiple areas. But before profiling attackers, it’s essential to understand how attractive our business is to them. I call this: the logic of Value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Defending like an Adversary Attacks
&lt;/h2&gt;

&lt;p&gt;The logic of Value puts us ahead of our adversaries from the very beginning, allowing us to distinguish between seemingly similar likelihoods, reveal a hidden relevance, and uncover a hierarchy within the attack surface that would otherwise remain invisible.&lt;/p&gt;

&lt;p&gt;By introducing this logic, we move beyond evaluating threats along a single axis. Instead, we shift to a multidimensional model—one that connects likelihood with attacker intent, business sensitivity, and operational impact.&lt;/p&gt;

&lt;p&gt;Understanding our organization from both the attacker's and defender's perspective, guided by the potential financial gain the company represents, and securing our resources arranged in layers of priority. It reflects a holistic conception guided by the reason behind the attraction.&lt;/p&gt;

&lt;p&gt;Additionally, the type of business, industry, and sector are key factors in inferring what skills and tools attackers may have, what techniques they typically use, and which assets or processes they aim to compromise.&lt;/p&gt;

&lt;p&gt;In this way, if we take a lateral approach, we can think of the company’s characteristics as defining the threat, its level of sophistication, and the techniques, tactics and procedures used.&lt;/p&gt;

&lt;p&gt;Every organization has a unique combination of data, systems, and processes that may attract different types of attackers. Without this understanding, we might fail to recognize the exploitation paths into our business—whether for one goal or another. We may overlook our hotspots, fail or delay to apply security controls that protect our most critical assets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scenarios
&lt;/h2&gt;

&lt;p&gt;Each company operates within a context that defines its exposure to attacks. A financial institution with millions of customer records will be a very different target than a startup developing software.&lt;/p&gt;

&lt;p&gt;The first thing we must understand is which elements of the organization represent real value to attackers. It’s not just about digital assets but the business logic of the company within its industry, the data it handles, and the relationships it maintains with other entities. For example, a company that provides essential services may be a high-value target for actors seeking to disrupt a supply chain.&lt;/p&gt;

&lt;p&gt;Although not every company holds strategic information or financially valuable data, every company has something to protect: its reputation. In many cases, the true impact of a cyberattack doesn't stem from the direct loss of data or money but from the consequences it generates in market perception, customer trust, and the legal implications of a data breach.&lt;/p&gt;

&lt;p&gt;For an attacker, there is no need to sell the data on the black market: it’s enough to threaten publication to extort payment.&lt;/p&gt;

&lt;p&gt;For this reason, the cyberattack in such a scenario is fleeting—the true objective is reputation—and the technique used to extract economic return is extortion. Reputational damage can translate into millions in losses due to consumer distrust or a drop in the company’s market value. In this sense, the security breach is just the lever, and at the same time, the pressure point and bargaining chip is the company itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Shifting the angle of observation
&lt;/h2&gt;

&lt;p&gt;When it comes to defense, having priorities is as important as moving away from the fiction of imaginary enemies and theoretical attacks to focus on real threats. By using the logic of value, we can make those threats tangible and predictable.&lt;/p&gt;

&lt;p&gt;We can introduce a parallel dimension to threat prioritization—one that sees business logic as a predictor of attack patterns. Abraham Wald arrived at a similar kind of insight through the concept of survivorship bias, where strategic understanding emerged by shifting the angle of observation. There, the key insight came not from what was hit; here, it comes from what we are.&lt;/p&gt;

&lt;p&gt;Understanding which attacks will be more probable and frequent—which are likely to occur sooner than others, what areas of our surface will be more actively targeted, which threats will be more common, how these attacks might evolve or chain together, and how our own systems may be exploited—given our systems, processes, and market position, allows us to stay one step ahead in defending our infrastructure. That lead can be translated into time—and that time can be used to deepen our defenses against advanced and other threats.&lt;/p&gt;

&lt;p&gt;Through this approach, we gain a view that encompasses the full range of potential threats, while operating with a customized model tailored to the unique needs of our organization. It strengthens our specific weaknesses, adds real threat awareness, and the path itself leads to a more efficient use of time—allowing us to turn that time into strategic advantage, defend more effectively, and stay ahead of our adversaries while keeping our systems secure.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>security</category>
      <category>owasp</category>
    </item>
    <item>
      <title>Why not underestimate the 'loose ends': Bridging Web Development with Cybersecurity</title>
      <dc:creator>Lau</dc:creator>
      <pubDate>Wed, 25 Sep 2024 20:19:17 +0000</pubDate>
      <link>https://forem.com/lau_blog/why-not-underestimate-the-loose-ends-bridging-web-development-with-cybersecurity-3inf</link>
      <guid>https://forem.com/lau_blog/why-not-underestimate-the-loose-ends-bridging-web-development-with-cybersecurity-3inf</guid>
      <description>&lt;p&gt;We often see meaningful data when we work on web development, like credentials as key-value pairs of username and password, secrets, and authorization tokens carrying a unique alphanumeric combination that allows us to access private information or restricted services.&lt;/p&gt;

&lt;p&gt;Probably, this might explain why many developers tend to overlook 'loose ends' or information that doesn’t appear dangerous. In other words, developers might unintentionally ignore small details or risks because they don't seem significant at first glance.&lt;/p&gt;

&lt;p&gt;Additionally, since cybersecurity decisions are often based on potential impact, anything not immediately seen as impactful might not be considered a potential risk for system exploitation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The risk of 'loose ends'
&lt;/h2&gt;

&lt;p&gt;For example, what would you think if you see the word 'Daniel' appearing in comments in the codebase? Nothing, right? It might be perceived as non-dangerous information, but I would like you to consider this: What would happen if 'Daniel' is the word corresponding to a username with access through SSH.&lt;/p&gt;

&lt;p&gt;Then, maybe 'Daniel' is a 'loose end' in our codebase revealing a valid SSH username, and this piece of information could lead to our system exploitation.&lt;/p&gt;

&lt;h2&gt;
  
  
  The risk of defaults
&lt;/h2&gt;

&lt;p&gt;The risk with defaults often involves both predictability and disclosure, which allows attackers to quickly plan exploitation strategies. Default settings are often well-known, which can make it easier for attackers to exploit them for unauthorized access or data exposure.&lt;/p&gt;

&lt;p&gt;Default configurations can expose predictable endpoints that attackers can exploit to gain insights into the system or find weaknesses, reach resources, or reveal sensitive information that can be used to compromise the system further.&lt;/p&gt;

&lt;p&gt;Defaults can expose predictable endpoints or paths that attackers might exploit to gather information about the system, find weaknesses, reach sensitive resources, discover vulnerabilities, or reveal sensitive information that can be used to compromise the system.&lt;/p&gt;

&lt;p&gt;For example, consider an attack simulation on a Windows system with SSH enabled. If the system has default configurations, there might be predictable elements that attackers can exploit. For instance, if user credentials are stored in default or known locations, attackers might target paths such as &lt;code&gt;C:\Users\[user]\.ssh\id_rsa&lt;/code&gt;, where sensitive files like SSH keys could be found.&lt;/p&gt;

&lt;p&gt;Consider the case of 'Daniel', a valid SSH username. If the credentials are stored in the default path as &lt;code&gt;C:\Users\[user]\.ssh\id_rsa&lt;/code&gt;, and an attacker knows 'Daniel' is a legitimate user, they could exploit this information. If there's a vulnerability in the web platform, it might allow the attacker to exfiltrate the id_rsa file and potentially gain access to the system through SSH.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Risk management isn’t just about assessing the impact after something happens, it’s also about proactively preventing risks from emerging. This underscores the importance of preventing the exposure of system information, no matter how harmless it may seem.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>webdev</category>
      <category>owasp</category>
    </item>
    <item>
      <title>Security Awareness, Secure Coding, and Zero-Trust - Bridging Frontend and Cybersecurity</title>
      <dc:creator>Lau</dc:creator>
      <pubDate>Tue, 02 Apr 2024 17:49:18 +0000</pubDate>
      <link>https://forem.com/lau_blog/security-awareness-secure-coding-and-zero-trust-bridging-frontend-and-cybersecurity-dfn</link>
      <guid>https://forem.com/lau_blog/security-awareness-secure-coding-and-zero-trust-bridging-frontend-and-cybersecurity-dfn</guid>
      <description>&lt;h2&gt;
  
  
  What is "Security Awareness"
&lt;/h2&gt;

&lt;p&gt;Security awareness is about the knowledge and attitude of team members about protecting the company assets or software.&lt;/p&gt;

&lt;p&gt;Let's talk about the attitude (letting OWASP Top Ten for the knowledge for now since defects, bugs, and logic flaws are consistently the primary cause of commonly exploited software vulnerabilities).&lt;/p&gt;

&lt;h2&gt;
  
  
  What is "Secure Coding"
&lt;/h2&gt;

&lt;p&gt;So, we can think that code review, code style guides, well-maintained, well-structured, and tested code is on the very basis. Then, following these practices (along with others, like implementing code analysis e.g. Snyk, Semgrep, etc.) might let us assume certain feelings about the code being secure.&lt;/p&gt;

&lt;p&gt;Building secure software requires more than this, let me remark that, It also requires a basic understanding of security principles and practices, insecure patterns, and the language, technologies, third-parties, and aspects upon which the frontend relies on along its development.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is "Zero Trust"
&lt;/h2&gt;

&lt;p&gt;But the attitude (along with training) plays a relevant and not prescindible role. And our key to attitude is not to trust. And this is why:&lt;/p&gt;

&lt;p&gt;The approach developers follow differs from the one attackers walk down.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A development team designs an application to perform specific tasks based on functional requirements and use cases.&lt;/li&gt;
&lt;li&gt;Meaning a Dev team approaches an application based on what it is intended to do. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conversely, attackers primarily think that "any action not specifically denied, could be allowed". Having more interest in the unintended or unexpected behavior than the expected use case results.&lt;/p&gt;

&lt;p&gt;Not trusting that the code will always be used as expected is the basis and first layer of defense in our attitude. Even in terms of verification, limiting the impact, and properly handling a response. In this context, It's what we can call a Frontend Devs Zero-Trust.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Let's summarize:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is "Security Awareness"? attitude and training.&lt;/li&gt;
&lt;li&gt;What is "Secure Coding"? principles and practices.&lt;/li&gt;
&lt;li&gt;What is "Zero Trust"? Not trusting that the code will always be used as expected is the basis and first layer of defense in our attitude.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fron-End: 

&lt;ul&gt;
&lt;li&gt;OWASP Foundation: &lt;a href="https://owasp.org/www-project-top-ten/" rel="noopener noreferrer"&gt;https://owasp.org/www-project-top-ten/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Back-End: 

&lt;ul&gt;
&lt;li&gt;OWASP Foundation: &lt;a href="https://cheatsheetseries.owasp.org/cheatsheets/Nodejs_Security_Cheat_Sheet.html" rel="noopener noreferrer"&gt;https://cheatsheetseries.owasp.org/cheatsheets/Nodejs_Security_Cheat_Sheet.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Security Best Practices: &lt;a href="https://nodejs.org/en/docs/guides/security" rel="noopener noreferrer"&gt;https://nodejs.org/en/docs/guides/security&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;AWS Vulnerabilities already found: 

&lt;ul&gt;
&lt;li&gt;CVE AWS: &lt;a href="https://www.cvedetails.com/vulnerability-list/vendor_id-12126/Amazon.html" rel="noopener noreferrer"&gt;https://www.cvedetails.com/vulnerability-list/vendor_id-12126/Amazon.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>cybersecurity</category>
      <category>frontend</category>
      <category>owasp</category>
      <category>security</category>
    </item>
    <item>
      <title>Application Security - Bridging Frontend and Cybersecurity: How do we identify what to protect by teams or companies?</title>
      <dc:creator>Lau</dc:creator>
      <pubDate>Tue, 02 Apr 2024 17:15:21 +0000</pubDate>
      <link>https://forem.com/lau_blog/application-security-bridging-frontend-and-cybersecurity-how-do-we-identify-what-to-protect-by-teams-or-companies-4cd6</link>
      <guid>https://forem.com/lau_blog/application-security-bridging-frontend-and-cybersecurity-how-do-we-identify-what-to-protect-by-teams-or-companies-4cd6</guid>
      <description>&lt;p&gt;We addressed the question "What is application security?". Now let's address the question "How can teams and companies identify what to protect?", bridging frontend domains and cybersecurity concepts, serving as a practical continuation of security awareness in web applications.&lt;/p&gt;

&lt;p&gt;The main purpose is not to precisely or exhaustively define any term but rather to bridge both knowledge shores to build a solid and iterative foundation enabling conceptual tools for a deeper immersion for those who desire it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do we identify what to protect by teams or companies
&lt;/h2&gt;

&lt;p&gt;The more we know the web application, the better we can identify the entry points that an attacker sees as the surfaces to attack. Identifying which assets are most vulnerable, and which are most likely to suffer data breaches, information disclosures, or unauthorized access, helps to build the structured representation of the application from the cybersecurity point of view.&lt;/p&gt;

&lt;p&gt;Attacker's actions often go from the binary substitution of boolean values like false by true to advanced techniques for chaining vulnerabilities, errors, or behaviors to break into companies, clouds, or networks, steal sensitive data, or blockage the whole company via ransomware. Identifying the pain points allows us to understand and communicate the actual threats we expect and the mitigations we can achieve to protect our company and the software we build.&lt;/p&gt;

&lt;p&gt;This structured representation of threats or threats model, identifies potential security risks, enabling proactive measures to protect our digital assets. Conducting comprehensive threat modeling teams can determine the complete attack surface of its components and the interconnected data accesses.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Threat Modeling
&lt;/h3&gt;

&lt;p&gt;Threat modeling identifies potential security risks capturing, organizing, and analyzing the web application producing a prioritized list of security and privacy measures, requirements, and implementations for the web application.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://www.threatmodelingmanifesto.org/" rel="noopener noreferrer"&gt;Threat Modeling Manifesto&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  The Cost
&lt;/h3&gt;

&lt;p&gt;Performing threat modeling will be cheaper than remediation costs, let's see why.&lt;/p&gt;

&lt;p&gt;Have you heard about PlayStation, Uber, or Yahoo? They have in common a very very expensive characteristic: They all have suffered cyber attacks that cost &lt;em&gt;&lt;strong&gt;Hundreds&lt;/strong&gt; of Millions&lt;/em&gt; of dollars. Other companies like Youbit (south Korean crypto exchange) went into bankruptcy after being breached, and 60% of small businesses closed within six months after the breach.&lt;/p&gt;

&lt;h3&gt;
  
  
  Most Critical Security Risks to Web Applications
&lt;/h3&gt;

&lt;p&gt;Every risk differs from each other by frequency of occurrence, severity, magnitude of potential impact, etc. In this way, we can define a landscape of web application security awareness, explore and include well-known vulnerabilities and mitigations, attacks and defenses, exploitations and practices, to minimize the presence of well-known risks in our web application.&lt;/p&gt;

&lt;p&gt;In the Web Application Security field, the OWASP Foundation has maintained a widely agreed list of the Top 10 most critical security risks for Web Applications.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://owasp.org/www-project-top-ten/" rel="noopener noreferrer"&gt;OWASP Top Ten&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;OWASP standards help companies and developers adopt processes and increase security awareness toward minimizing risks enabling code improvements. In the top ten, we can find Injections like SQL/NoSQL attacks, Outdated or Vulnerable Components, and Security Logging and Monitoring Failures among many others.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Looking through the eyes of the attacker helps to create a defensive analysis, tackling well-known techniques and attacks early, enabling us to build the big-picture map of threats and attack surfaces from our services and web applications.&lt;/p&gt;

&lt;p&gt;Working together as one team, we can conduct a comprehensive analysis to construct a holistic fortress that proactively approaches security, empowering frontend software and safeguarding our systems, endowing them with resilience.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>frontend</category>
      <category>owasp</category>
      <category>security</category>
    </item>
    <item>
      <title>Application Security - Bridging Frontend and Cybersecurity: What is Application Security?</title>
      <dc:creator>Lau</dc:creator>
      <pubDate>Tue, 02 Apr 2024 17:09:08 +0000</pubDate>
      <link>https://forem.com/lau_blog/application-security-bridging-frontend-and-cybersecurity-what-is-application-security-1fh7</link>
      <guid>https://forem.com/lau_blog/application-security-bridging-frontend-and-cybersecurity-what-is-application-security-1fh7</guid>
      <description>&lt;p&gt;Let's address the question "What is application security, and how can teams and companies identify what to protect?", bridging frontend domains and cybersecurity concepts, serving as a practical continuation of security awareness in web applications.&lt;/p&gt;

&lt;p&gt;The main purpose is not to precisely or exhaustively define any term but rather to bridge both knowledge shores to build a solid and iterative foundation enabling conceptual tools for a deeper immersion for those who desire it.&lt;/p&gt;

&lt;p&gt;I'll split the content into two parts, presenting here "What is application security", and "How can teams and companies identify what to protect" in the following part.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Application Security
&lt;/h2&gt;

&lt;p&gt;Application security is about taking steps to ensure that the software we're building and deploying is protected from dangers. &lt;/p&gt;

&lt;p&gt;It involves taking actions and procedures throughout the application life cycle to ensure and prevent malicious actors from accessing data.&lt;/p&gt;

&lt;p&gt;In simple terms, It is like having smoke detectors to alert us of vulnerabilities or issues found within our code, helping to identify and implement measures to ensure the security of the application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Likelihood of Vulnerability in Key Areas of Web Applications Development Prone to Exploitation
&lt;/h2&gt;

&lt;p&gt;Vulnerabilities in code can exist for different reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Legacy code or lack of maintenance.&lt;/li&gt;
&lt;li&gt;Evolution of code can introduce new vulnerabilities due to various factors such as changes in functionality, integration of third-party components, or unintentional oversight security considerations during development.&lt;/li&gt;
&lt;li&gt;Supply chain vulnerabilities and risks associated with dependencies in the NPM ecosystem.&lt;/li&gt;
&lt;li&gt;Insecure patterns in components.&lt;/li&gt;
&lt;li&gt;Lack of API governance relying on the network's security.&lt;/li&gt;
&lt;li&gt;Not considering an "attacker perspective" disrupting the subsequent "defender analysis".&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Scanning the codebase
&lt;/h2&gt;

&lt;p&gt;Scanning tools help to secure the application landscape by analyzing and detecting threats from a crossed and multilateral perspective: reinforcing best security practices, analyzing dependencies for vulnerabilities or malicious code (supply chain attacks &lt;a href="https://eslint.org/blog/2018/07/postmortem-for-malicious-package-publishes/" rel="noopener noreferrer"&gt;example&lt;/a&gt;), and highlighting security flaws, among others.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Static scanners analyze files (the codebase) to highlight mostly insecure implementations or patterns.

&lt;ul&gt;
&lt;li&gt;Early occurrence in the Software Development Life Cycle. Kind of  A priori deployment (analysis of the application before running).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Static Application Security Testing Tools Overview
&lt;/h3&gt;

&lt;p&gt;In a rush, I analyzed ten SAST tools based on two keys: readiness (how quickly they could be downloaded, installed &amp;amp; used) and usability (how easily the selected tool could be used). The analysis was not exhaustive and the tools were:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Checkmarx - &lt;a href="https://checkmarx.com" rel="noopener noreferrer"&gt;https://checkmarx.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Contrast Scan - &lt;a href="https://contrastsecurity.com/contrast-scan" rel="noopener noreferrer"&gt;https://contrastsecurity.com/contrast-scan&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Coverity Scan - &lt;a href="https://synopsys.com/software-integrity/security-testing/static-analysis-sast.html" rel="noopener noreferrer"&gt;https://synopsys.com/software-integrity/security-testing/static-analysis-sast.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Fortify Static Code Analyzer - &lt;a href="https://microfocus.com/en-us/cyberres/application-security/static-code-analyzer" rel="noopener noreferrer"&gt;https://microfocus.com/en-us/cyberres/application-security/static-code-analyzer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;HCL AppScan - &lt;a href="https://hcltechsw.com/appscan/offerings/source" rel="noopener noreferrer"&gt;https://hcltechsw.com/appscan/offerings/source&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Kiuwan Code Security - &lt;a href="https://kiuwan.com" rel="noopener noreferrer"&gt;https://kiuwan.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Reshift (NodeJs) - &lt;a href="https://reshiftsecurity.com" rel="noopener noreferrer"&gt;https://reshiftsecurity.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;SonarQube - &lt;a href="https://sonarqube.org/features/security/" rel="noopener noreferrer"&gt;https://sonarqube.org/features/security/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Semgrep - &lt;a href="https://semgrep.dev" rel="noopener noreferrer"&gt;https://semgrep.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Snyk - &lt;a href="https://snyk.io/product/snyk-code/" rel="noopener noreferrer"&gt;https://snyk.io/product/snyk-code/&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All of them have in common that they are free and support Javascript, in the end, Snyk and Semgrep were both those with the higher readiness and usability: I started using them with a few clicks, easy to use CLI, both had a clean and useful dependency analysis results and code analysis.&lt;/p&gt;

&lt;p&gt;In contrast, most of the other tools required users to "book for a demo", delaying access to the tool and relegating the experience from immediate to later, or were not sufficiently simple to use when considering the learning curve over time, or forced third-party authentication, which I declined to proceed considering sharing my profile as a way of opening an unintended risk vector for my company.&lt;/p&gt;

&lt;p&gt;In no way is my opinion based on their quality, effectiveness, or efficiency, and it is not my intention to not recommend any of them, as I have not tried them.&lt;/p&gt;

&lt;p&gt;The code to test should be according to the task of highlighting security flaws, so the target software was the well-known "Very Insecure Web Application" called &lt;a href="https://github.com/juice-shop/juice-shop?tab=readme-ov-file#docker-container" rel="noopener noreferrer"&gt;Juice Shop&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benefits
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Requiring no app execution, the scan is faster as testing suites.&lt;/li&gt;
&lt;li&gt;Applies all the rules to the whole codebase. &lt;/li&gt;
&lt;li&gt;Indicates problematic code locations and explains the issue found making flaws simpler to understand and remediate.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;False positives and false negatives.&lt;/li&gt;
&lt;li&gt;Language specificity&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Examples
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Semgrep&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fed5lwvrbbhxb06l6mqab.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fed5lwvrbbhxb06l6mqab.jpeg" alt="Semgrep" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Snyk&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftotchxgn2nceo89wxc7v.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftotchxgn2nceo89wxc7v.jpeg" alt="Snyk" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>frontend</category>
      <category>owasp</category>
      <category>security</category>
    </item>
  </channel>
</rss>
