<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Snyk on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/snyk/</link><description>Recent content in Snyk on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 16 May 2025 11:49:19 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/snyk/index.xml" rel="self" type="application/rss+xml"/><item><title>What is RAG, and How to Secure It</title><link>https://foojayio.github.io/website/today/what-is-rag-and-how-to-secure-it/</link><pubDate>Fri, 16 May 2025 11:48:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/what-is-rag-and-how-to-secure-it/</guid><description>&lt;p&gt;Integrating large language models (LLMs) into your application is more accessible than ever. With a few API calls to OpenAI, Anthropic, or Cohere, you can instantly add &lt;a href="https://snyk.io/solutions/secure-ai-generated-code/" target="_blank" rel="noopener noreferrer"&gt;++AI capabilities++&lt;/a&gt;
 to your stack. Using frameworks and libraries that abstract this away for you makes it even easier to create your own LLM-powered assistant. However, if you&amp;rsquo;ve shipped any real-world LLM features, you&amp;rsquo;ve hit the wall where these powerful models confidently make up facts, reference outdated information, or deliver answers that don&amp;rsquo;t take your context into account.&lt;/p&gt;</description></item><item><title>Creating SBOMs with the Snyk CLI</title><link>https://foojayio.github.io/website/today/creating-sboms-with-the-snyk-cli/</link><pubDate>Fri, 07 Mar 2025 12:25:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-sboms-with-the-snyk-cli/</guid><description>&lt;p&gt;The software bill of materials (SBOM) is quickly becoming an essential aspect of open source security and compliance. In this post, we&amp;rsquo;ll delve into what SBOMs are, why they&amp;rsquo;re necessary, and their role in open source security.&lt;/p&gt;
&lt;h2 id="h2-0-what-are-sboms"&gt;What are SBOMs?&lt;/h2&gt;
&lt;p&gt;A software Bill of Materials (SBOM) is a comprehensive inventory of all components used in a software product. They include all the necessary details about each component, such as their names, versions, and licensing information. SBOMs can be seen as the ingredients list for software, providing complete transparency into what makes up a software product.&lt;/p&gt;</description></item><item><title>The Persistent Threat: Why Major Vulnerabilities Like Log4Shell and Spring4Shell Remain Significant</title><link>https://foojayio.github.io/website/today/the-persistent-threat-why-major-vulnerabilities-like-log4shell-and-spring4shell-remain-significant/</link><pubDate>Tue, 17 Sep 2024 16:17:07 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-persistent-threat-why-major-vulnerabilities-like-log4shell-and-spring4shell-remain-significant/</guid><description>&lt;p&gt;&lt;em&gt;This article was originally published at &lt;a href="https://snyk.io/blog/log4shell-spring4shell-threat/" target="_blank" rel="noopener noreferrer"&gt;Snyk.io&lt;/a&gt;
&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;As developers, we&amp;rsquo;re constantly juggling features, fixes, and deadlines. Yet, a lurking issue has been surprisingly overlooked: the continued use of vulnerable Log4j and Spring Framework versions in many projects.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Despite the high-profile exposure of Log4Shell and Spring4Shell vulnerabilities, a shocking number of applications are still running on these ticking time bombs. This isn&amp;rsquo;t just a minor oversight &amp;mdash; it&amp;rsquo;s a major risk. We&amp;rsquo;re builders at heart, but part of building is ensuring our structures are safe.&lt;/p&gt;</description></item><item><title>Four Easy Ways to Analyze your Java and Kotlin Code for Security Problems</title><link>https://foojayio.github.io/website/today/four-easy-ways-to-analyze-your-java-and-kotlin-code-for-security-problems/</link><pubDate>Fri, 30 Aug 2024 09:07:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/four-easy-ways-to-analyze-your-java-and-kotlin-code-for-security-problems/</guid><description>&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://snyk.io/blog/analyze-java-kotlin-code/" target="_blank" rel="noopener noreferrer"&gt;Snyk.io&lt;/a&gt;
&lt;/em&gt; .&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nowadays, the security of your applications is just as important as the functionality they provide. Therefore, analyzing your code for security vulnerabilities is a vital part of maintaining the integrity of your applications and protecting your users&amp;rsquo; data. As developers, we are at the front lines of this battle. It&amp;rsquo;s our responsibility to ensure that the code we write is not just functional and efficient but also secure.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Securing Symmetric Encryption Algorithms in Java</title><link>https://foojayio.github.io/website/today/securing-symmetric-encryption-algorithms-in-java/</link><pubDate>Fri, 29 Dec 2023 05:53:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/securing-symmetric-encryption-algorithms-in-java/</guid><description>&lt;p&gt;&lt;strong&gt;In our connected world, securing digital data has become an utmost priority. With the wide spread of Java applications in various sectors, from banking to healthcare, we must emphasize the importance of encryption. Encryption is converting readable data or plaintext into unreadable data or ciphertext, ensuring that even if encrypted data is intercepted, it remains inaccessible to unauthorized individuals.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first choice you must make as a developer is whether you need encryption. Although this sounds like a strange question, the key principle of encryption is that the ciphertext can be reverted into the original text.&lt;/p&gt;</description></item><item><title>Handling security vulnerabilities in Spring Boot</title><link>https://foojayio.github.io/website/today/handling-security-vulnerabilities-in-spring-boot/</link><pubDate>Fri, 22 Dec 2023 14:59:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/handling-security-vulnerabilities-in-spring-boot/</guid><description>&lt;p&gt;&lt;strong&gt;In the world of software development, managing dependencies is a core part of creating strong and secure applications. Spring Boot, a favorite among Java developers, makes building applications easier, but there&amp;rsquo;s more to it than meets the eye. Keeping your dependencies in check is crucial to ensure that your Spring Boot projects run smoothly and remain resilient in the face of ever-evolving threats.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One critical aspect of Spring Boot dependency management is security. Software vulnerabilities are discovered frequently, and by keeping your project&amp;rsquo;s dependencies up to date, you&amp;rsquo;re essentially putting on your digital security armor. Outdated dependencies can be like unlocked doors, inviting trouble from potential threats, and that&amp;rsquo;s something we&amp;rsquo;d like to avoid.&lt;/p&gt;</description></item><item><title>Using JLink to create smaller Docker images for Spring Boot apps</title><link>https://foojayio.github.io/website/today/using-jlink-to-create-smaller-docker-images-for-your-spring-boot-java-application/</link><pubDate>Thu, 21 Sep 2023 11:33:05 +0000</pubDate><guid>https://foojayio.github.io/website/today/using-jlink-to-create-smaller-docker-images-for-your-spring-boot-java-application/</guid><description>&lt;p&gt;&lt;strong&gt;Containers bring new flexibility and agility to software development and deployment. However, they also introduce a new attack surface that malicious actors can exploit. A compromised container can give an attacker access to other containers and even the host system. Smaller images that contain fewer artifacts are already a great help in achieving a smaller attack surface.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll present an in-depth exploration of utilizing JLink to optimize Docker image sizes, enhancing application security and performance. We&amp;rsquo;ll showcase how to use JLink and integrate it with Docker to efficiently deploy your Spring Boot or general Java applications.&lt;/p&gt;</description></item><item><title>SnakeYaml 2.0: Solving the unsafe deserialization vulnerability</title><link>https://foojayio.github.io/website/today/snakeyaml-2-0-solving-the-unsafe-deserialization-vulnerability/</link><pubDate>Thu, 20 Jul 2023 07:17:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/snakeyaml-2-0-solving-the-unsafe-deserialization-vulnerability/</guid><description>&lt;p&gt;&lt;strong&gt;In December of last year, we reported &lt;a href="https://www.cve.org/CVERecord?id=CVE-2022-1471" target="_blank" rel="noopener noreferrer"&gt;++CVE-2022-1471++&lt;/a&gt;
 to you. This unsafe deserialization problem could easily lead to arbitrary code execution under the right circumstances.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In the deep-dive blog post &amp;ldquo;&lt;a href="https://snyk.io/blog/unsafe-deserialization-snakeyaml-java-cve-2022-1471/" target="_blank" rel="noopener noreferrer"&gt;++Unsafe deserialization vulnerability in SnakeYaml (CVE-2022-1471)++&lt;/a&gt;
&amp;rdquo;, I explained the problems in this library and how it could be executed. The gist of the problem was that by default SnakeYaml parsed the incoming yaml to the generic object type.&lt;/p&gt;</description></item><item><title>Preventing Cross-Site Scripting (XSS) in Java with Snyk Code</title><link>https://foojayio.github.io/website/today/preventing-cross-site-scripting-xss-in-java-applications-with-snyk-code/</link><pubDate>Fri, 09 Jun 2023 15:23:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/preventing-cross-site-scripting-xss-in-java-applications-with-snyk-code/</guid><description>&lt;p&gt;Java is a powerful backend programming language that can also be used to write HTML pages for web applications. However, developers must know the potential security risks associated with Cross-Site Scripting (XSS) attacks when creating these pages.&lt;/p&gt;
&lt;p&gt;With the rise of modern templating frameworks, preventing security attacks through proper input validation and encoding techniques has become easier.&lt;/p&gt;
&lt;p&gt;However, when developers choose to create their own HTML pages without using a templating framework, there is an increased risk of introducing vulnerabilities.&lt;/p&gt;</description></item><item><title>Using Bots to Keep Dependencies Updated</title><link>https://foojayio.github.io/website/today/using-bots-to-keep-dependencies-updated/</link><pubDate>Mon, 27 Mar 2023 15:18:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/using-bots-to-keep-dependencies-updated/</guid><description>&lt;p&gt;Any real world Java project will likely use external dependencies.&lt;/p&gt;
&lt;p&gt;As we&amp;rsquo;ve seen over the last few years, it&amp;rsquo;s important to keep these dependencies up to date. We used to have to manually check for updates, but fortunately these days there are tools available that can help us with this. Because, let&amp;rsquo;s be honest, most developers don&amp;rsquo;t enjoy maintaining applications.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d much rather be using cool new tools and/or language features, and solving interesting problems. Sorry, I mean: delivering business value! But we are responsible for keeping our dependencies up to date, so let&amp;rsquo;s make that as easy as possible.&lt;/p&gt;</description></item><item><title>Mitigating Path Traversal Vulnerabilities in Java</title><link>https://foojayio.github.io/website/today/mitigating-path-traversal-vulnerabilities-in-java/</link><pubDate>Fri, 24 Mar 2023 07:57:06 +0000</pubDate><guid>https://foojayio.github.io/website/today/mitigating-path-traversal-vulnerabilities-in-java/</guid><description>&lt;p&gt;Path traversal is a type of security vulnerability that can occur when a web application or service allows an attacker to access server files or directories that are outside the intended directory structure.&lt;/p&gt;
&lt;p&gt;This can lead to the unauthorized reading or modification of sensitive data.&lt;/p&gt;
&lt;p&gt;In the context of file uploads, a path traversal vulnerability can occur when an application fails to properly validate the file path specified by the user, which can allow the attacker to upload a malicious file with a filename that gives them access to restricted files on the server.&lt;/p&gt;</description></item><item><title>How to create SBOMs in Java with Maven and Gradle</title><link>https://foojayio.github.io/website/today/how-to-create-sboms-in-java-with-maven-and-gradle/</link><pubDate>Fri, 17 Mar 2023 09:08:28 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-to-create-sboms-in-java-with-maven-and-gradle/</guid><description>&lt;p&gt;When building applications in Java, we highly depend on external libraries and frameworks. And each Java package that is imported likely also depends on more libraries. This means that the amount of Java packages included in your application is often not really transparent.&lt;/p&gt;
&lt;p&gt;As a developer, these nested (transitive) dependencies create the problem that you probably do not know all the libraries you are actually using.&lt;/p&gt;
&lt;p&gt;Recently, we discussed why and how we should maintain our dependencies carefully. In the article &lt;a href="https://snyk.io/blog/best-practices-for-managing-java-dependencies/" target="_blank" rel="noopener noreferrer"&gt;Best practices for managing Java dependencies&lt;/a&gt;
, I discussed the options and tools available for setting up a dependency management strategy.&lt;/p&gt;</description></item><item><title>Best Practices for Managing Java Dependencies</title><link>https://foojayio.github.io/website/today/best-practices-for-managing-java-dependencies/</link><pubDate>Thu, 15 Sep 2022 08:21:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/best-practices-for-managing-java-dependencies/</guid><description>&lt;p&gt;Creating Java applications is great, and many resources are available.&lt;/p&gt;
&lt;p&gt;To speed up development, many folks use frameworks and libraries that do some of the heavy lifting.&lt;/p&gt;
&lt;p&gt;When looking at modern Java applications, almost all of them contain dependencies from libraries developed by someone else.&lt;/p&gt;
&lt;p&gt;Dependencies take up about 80 to 90 percent of the binary &amp;mdash; so, we should take good care of them when creating a Java project.&lt;/p&gt;</description></item><item><title>Secure CI/CD Pipelines with GitHub Actions for Your Java Apps</title><link>https://foojayio.github.io/website/today/building-secure-ci-cd-pipelines-with-github-actions-for-your-java-application/</link><pubDate>Thu, 11 Aug 2022 06:28:38 +0000</pubDate><guid>https://foojayio.github.io/website/today/building-secure-ci-cd-pipelines-with-github-actions-for-your-java-application/</guid><description>&lt;p&gt;This article was originally post at&lt;a href="https://snyk.io/blog/building-a-secure-pipeline-with-github-actions/" target="_blank" rel="noopener noreferrer"&gt;Snyk.io&lt;/a&gt;
 and is used with permission&lt;/p&gt;
&lt;p&gt;GitHub Actions has made it easier than ever to build a secure continuous integration and continuous delivery (CI/CD) pipeline for your GitHub projects.&lt;/p&gt;
&lt;p&gt;By integrating your CI/CD pipeline and GitHub repository, GitHub Actions allows you to automate your build, test, and deployment pipeline.&lt;/p&gt;
&lt;p&gt;You can create workflows that build and test every pull request to your repository or deploy merged pull requests to production.&lt;/p&gt;</description></item><item><title>How Social Trends Help Me Fix Essential Vulnerabilities</title><link>https://foojayio.github.io/website/today/how-social-trends-help-me-fix-essential-vulnerabilities/</link><pubDate>Thu, 04 Nov 2021 14:14:55 +0000</pubDate><guid>https://foojayio.github.io/website/today/how-social-trends-help-me-fix-essential-vulnerabilities/</guid><description>&lt;p&gt;Recently, Snyk added &lt;a href="https://snyk.io/blog/social-media-for-security-intelligence/" target="_blank" rel="noopener noreferrer"&gt;social trends&lt;/a&gt;
 to its &lt;a href="https://snyk.io/product/vulnerability-database/" target="_blank" rel="noopener noreferrer"&gt;vulnerability data&lt;/a&gt;
. This new indicator shows you what vulnerabilities are trending so you can better prioritize remediation. Our research team found a strong correlation between socially trending vulnerabilities and the existence of exploits that can actually harm your application.&lt;/p&gt;
&lt;p&gt;Following the social trends of security vulnerabilities makes practical sense. When a specific vulnerability is gaining a lot of interest in social &amp;mdash; Twitter, for instance &amp;mdash; it means a lot of people are aware of the problem. Statistically, this also means more people that want to do you harm. Therefore, it can be important to put some extra focus on the vulnerabilities in your system that are socially trending.&lt;/p&gt;</description></item><item><title>Getting Started with Snyk for Secure Java Development</title><link>https://foojayio.github.io/website/today/getting-started-with-snyk-for-secure-java-development/</link><pubDate>Thu, 29 Jul 2021 06:39:02 +0000</pubDate><guid>https://foojayio.github.io/website/today/getting-started-with-snyk-for-secure-java-development/</guid><description>&lt;p&gt;If you&amp;rsquo;re a Java developer who wants to develop your applications more securely, you&amp;rsquo;ve come to the right place. Snyk can help you with that mission.&lt;/p&gt;
&lt;p&gt;This article will explain how to begin with Snyk for &lt;a href="https://snyk.io/blog/10-java-security-best-practices/" target="_blank" rel="noopener noreferrer"&gt;secure Java development&lt;/a&gt;
 so you can be more secure from the get-go.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re new to Snyk, it&amp;rsquo;s important to know that we offer a variety of developer-focused products and tools. Some of these tools, like our CLI and some IDE integration, support multiple products. However, we can distinguish four different products within Snyk:&lt;/p&gt;</description></item><item><title>Fix Java Security Issues While Coding in IntelliJ IDEA</title><link>https://foojayio.github.io/website/today/fix-java-security-issues-while-coding-in-intellij-idea/</link><pubDate>Thu, 29 Apr 2021 17:10:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/fix-java-security-issues-while-coding-in-intellij-idea/</guid><description>&lt;p&gt;Nowadays, developers are responsible for more than just creating the application. Besides working on features, developers have to focus on their applications&amp;rsquo; maintainability, scalability, reliability, &lt;strong&gt;and&lt;/strong&gt; security. Many developers are unsure of where to start with security. In addition, most companies still work with a dedicated security team instead of having security expertise inside the team.&lt;/p&gt;
&lt;p&gt;A lot of developers practically live in their integrated development environment (IDE). A good IDE is like a swiss army knife: it is your go-to tool to do almost everything. Having everything I need to build, run, test, debug, and&lt;strong&gt;secure&lt;/strong&gt; my application, makes a good IDE invaluable for many developers.&lt;/p&gt;</description></item></channel></rss>