<?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>DEV Community: Mathias Conradt</title>
    <description>The latest articles on DEV Community by Mathias Conradt (@mathiasconradt).</description>
    <link>https://dev.to/mathiasconradt</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%2F268782%2Fc38187df-4f06-4a32-9137-e543ed396f7c.png</url>
      <title>DEV Community: Mathias Conradt</title>
      <link>https://dev.to/mathiasconradt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mathiasconradt"/>
    <language>en</language>
    <item>
      <title>SonarQube Stackhawk DAST Demo Repo</title>
      <dc:creator>Mathias Conradt</dc:creator>
      <pubDate>Mon, 23 Feb 2026 13:29:00 +0000</pubDate>
      <link>https://dev.to/mathiasconradt/sonarqube-stackhawk-dast-demo-repo-393g</link>
      <guid>https://dev.to/mathiasconradt/sonarqube-stackhawk-dast-demo-repo-393g</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/e-corp-demo/sonarqube-stackhawk-dast-demo" rel="noopener noreferrer"&gt;This application&lt;/a&gt; is an intentional vulnerable Java Spring-Boot application with Thymeleaf. It is use for training purposes only!&lt;/p&gt;

&lt;h1&gt;
  
  
  Run the application
&lt;/h1&gt;

&lt;p&gt;Go to the root folder of the application and run using Maven&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mvn spring-boot:run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The application fills itself with data at startup wait until you see READY in the console.&lt;/p&gt;

&lt;p&gt;You can access the application on &lt;a href="http://localhost:8081" rel="noopener noreferrer"&gt;http://localhost:8081&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By default there are two users configured you can access&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Username        Password        User type
Admin           admin           ADMIN
User            user            CUSTOMER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  DAST Scan with StackHawk
&lt;/h1&gt;

&lt;p&gt;Run a DAST scan with StackHawk, producing a stackhawk.sarif file as output. This can later be ingested into SonarQube.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export SARIF_ARTIFACT=true
hawk scan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fyzujiccwjnz3p9l0nv6t.png" 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%2Fyzujiccwjnz3p9l0nv6t.png" alt="StackHawk scan details" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adding the stackhawk.sarif to the Sonar Scan via -&lt;code&gt;Dsonar.sarifReportPaths=stackhawk.sarif&lt;/code&gt; parameter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Get the current branch name directly using command substitution
CURRENT_BRANCH=$(git branch --show-current)

# Check if the command was successful and a branch name was found
if [ -z "$CURRENT_BRANCH" ]; then
    echo "Error: Could not determine the current Git branch."
    exit 1
fi

mvn clean verify sonar:sonar \
  -Dsonar.projectKey=e-corp-demo_sonarqube-stackhawk-dast-demo_31dfab10-94aa-4a9b-a894-77cabdab902a \
  -Dsonar.projectName='sonarqube-stackhawk-dast-demo' \
  -Dsonar.host.url=https://mathiasconradt.ngrok.io \
  -Dsonar.sarifReportPaths=stackhawk.sarif \
  -Dsonar.branch.name=$CURRENT_BRANCH
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The DAST findings from StackHawk appear under the issues, tagged with STACKHAWK.&lt;/p&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%2Fb9i68xf9y4b2gp12s7cd.png" 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%2Fb9i68xf9y4b2gp12s7cd.png" alt="SonarQube Dashboard" width="800" height="369"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Questions &amp;amp; Contact
&lt;/h1&gt;

&lt;p&gt;Mathias Conradt&lt;br&gt;
Security Solutions Engineer at Sonar&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mathiasconradt/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/mathiasconradt/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://x.com/mathiasconradt" rel="noopener noreferrer"&gt;https://x.com/mathiasconradt&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>security</category>
      <category>springboot</category>
      <category>testing</category>
    </item>
    <item>
      <title>SonarQube: SCA Scanning of Unmanaged Dependencies in Java Projects with Syft and SBOM Import</title>
      <dc:creator>Mathias Conradt</dc:creator>
      <pubDate>Mon, 23 Feb 2026 12:59:00 +0000</pubDate>
      <link>https://dev.to/mathiasconradt/sonarqube-sca-scanning-of-unmanaged-dependencies-in-java-projects-with-syft-and-sbom-import-4l31</link>
      <guid>https://dev.to/mathiasconradt/sonarqube-sca-scanning-of-unmanaged-dependencies-in-java-projects-with-syft-and-sbom-import-4l31</guid>
      <description>&lt;p&gt;Sonar currently does not support SCA for unmanaged dependencies (jars) in Java projects. However, you can generate a Software Bill of Materials (SBOM) using tools like Syft and then analyze it with SonarQube.&lt;/p&gt;

&lt;p&gt;This &lt;a href="https://github.com/e-corp-demo/java-unmanaged-jars-demo" rel="noopener noreferrer"&gt;demo repo&lt;/a&gt; shows how to generate an SBOM for a Java project using Syft, and then scan it with SonarQube to identify vulnerabilities.&lt;/p&gt;

&lt;p&gt;Take note of the unmanaged dependencies in folder libs as an example:&lt;/p&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%2Fopdiw50spshdg0b8myqc.png" 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%2Fopdiw50spshdg0b8myqc.png" alt="Tree with unmanaged deps" width="315" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Installation &amp;amp; Usage
&lt;/h1&gt;

&lt;p&gt;Install Syft to generate the SBOM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install syft
syft scan ./libs -o cyclonedx-json=java-unmanaged-jars-demo.cdx.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example is using brew on macOS, but you can find installation instructions for other platforms in the Syft Documentation.&lt;/p&gt;

&lt;p&gt;Then adjust the sonar-project.properties file to include the generated SBOM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sonar.exclusions=**/*
sonar.sca.sbomImportPaths=java-unmanaged-jars-demo.cdx.json
sonar.inclusions=java-unmanaged-jars-demo.cdx.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then scanning via sonar-scanner:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sonar-scanner \
  -Dsonar.projectKey=e-corp-demo_java-unmanaged-jars-demo_5d05ab5f-6ffa-487c-9977-c60e2b52d831 \
  -Dsonar.sources=. \
  -Dsonar.host.url=${SONARQUBE_URL} \
  -Dsonar.token=${SONARQUBE_TOKEN} \
  -Dsonar.verbose=true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Afterwards, you can view the vulnerabilities detected in the SonarQube dashboard.&lt;/p&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%2F89sp7sxpxl8uki93bi9l.png" 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%2F89sp7sxpxl8uki93bi9l.png" alt="SonarQube Dashboard" width="800" height="477"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Questions &amp;amp; Contact
&lt;/h1&gt;

&lt;p&gt;Mathias Conradt&lt;br&gt;
Security Solutions Engineer at Sonar&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mathiasconradt/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/mathiasconradt/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://x.com/mathiasconradt" rel="noopener noreferrer"&gt;https://x.com/mathiasconradt&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>java</category>
      <category>security</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>SonarQube: SCA Scanning of Unmanaged Dependencies in C/C++ Projects with Syft and SBOM Import</title>
      <dc:creator>Mathias Conradt</dc:creator>
      <pubDate>Mon, 23 Feb 2026 12:54:12 +0000</pubDate>
      <link>https://dev.to/mathiasconradt/sonarqube-sca-scanning-of-unmanaged-dependencies-in-cc-projects-with-syft-and-sbom-import-1eeb</link>
      <guid>https://dev.to/mathiasconradt/sonarqube-sca-scanning-of-unmanaged-dependencies-in-cc-projects-with-syft-and-sbom-import-1eeb</guid>
      <description>&lt;p&gt;Sonar currently does not support SCA for unmanaged dependencies in C/C++ projects. However, you can generate a Software Bill of Materials (SBOM) using tools like Syft and then analyze it with SonarQube.&lt;/p&gt;

&lt;p&gt;This &lt;a href="https://github.com/e-corp-demo/cpp-unmanaged-demo?tab=readme-ov-file" rel="noopener noreferrer"&gt;demo repo&lt;/a&gt; shows how to generate an SBOM for a C++ project using Syft, and then scan it with SonarQube to identify vulnerabilities.&lt;/p&gt;

&lt;p&gt;Take note of the unmanaged dependencies in folder deps as an example:&lt;/p&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%2F1w7q3922bngaww867fuj.png" 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%2F1w7q3922bngaww867fuj.png" alt="Tree with unmanaged deps" width="244" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Installation &amp;amp; Usage
&lt;/h1&gt;

&lt;p&gt;Install Syft to generate the SBOM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install syft
syft dir:. -o cyclonedx-json --file cpp_goof.cdx.json --catalogers all
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example is using brew on macOS, but you can find installation instructions for other platforms in the Syft Documentation.&lt;/p&gt;

&lt;p&gt;Then adjust the sonar-project.properties file to include the generated SBOM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sonar.exclusions=**/*
sonar.sca.sbomImportPaths=cpp_goof.cdx.json
sonar.inclusions=cpp_goof.cdx.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then scanning via sonar-scanner:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sonar-scanner \
  -Dsonar.projectKey=e-corp-demo_cpp-goof_f56168d1-a2e5-4d19-b432-4a8681a5301a \
  -Dsonar.sources=. \
  -Dsonar.host.url=${SONARQUBE_URL} \
  -Dsonar.token=${SONARQUBE_TOKEN} \
  -Dsonar.verbose=true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Afterwards, you can view the vulnerabilities detected in the SonarQube dashboard.&lt;/p&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%2F6tce1xnymoazh5z3jtzf.png" 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%2F6tce1xnymoazh5z3jtzf.png" alt="SonarQube Dashboard" width="800" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Questions &amp;amp; Contact
&lt;/h1&gt;

&lt;p&gt;Mathias Conradt&lt;br&gt;
Security Solutions Engineer at Sonar&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/mathiasconradt/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/mathiasconradt/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://x.com/mathiasconradt" rel="noopener noreferrer"&gt;https://x.com/mathiasconradt&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cpp</category>
      <category>security</category>
      <category>tooling</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
