Skip to content

Boards demo - #158

Open
pwalsh-snyk wants to merge 44 commits into
dylansnyk:mainfrom
pwalsh-snyk:boards-demo
Open

Boards demo#158
pwalsh-snyk wants to merge 44 commits into
dylansnyk:mainfrom
pwalsh-snyk:boards-demo

Conversation

@pwalsh-snyk

Copy link
Copy Markdown

No description provided.

- Add comprehensive Snyk CLI workflow for SCA, Code, and Container scanning
- Include automatic results publishing to Snyk Web UI
- Add PR integration with security summaries
- Include detailed setup documentation
- Configure for main/develop branches with daily scheduled scans
- Keep only Snyk monitor for open source vulnerabilities
- Keep only Snyk code report for custom code analysis
- Remove complex PR commenting and artifact uploads
- Remove container scanning and scheduled runs
- Streamline to main branch only
This workflow tests the reachability of SBOMs using Snyk.
Updated the Snyk SBOM reachability test command to handle exit codes more gracefully.
Added detailed parsing and reporting for reachable vulnerabilities in Snyk SBOM analysis.
Updated the Snyk SBOM reachability test to improve output parsing and summary reporting.
Improved error handling and output parsing in Snyk SBOM reachability analysis workflow.
- Fixed shell redirection operator causing YAML parsing issue on line 24
- Changed from single-line run command to multiline format with proper indentation
- Resolves GitHub Actions workflow validation error
Updated the Snyk Open Source reachability analysis workflow to reflect changes in echo statements and commented out the artifact upload step.
Added SNYK_API environment variable for Snyk authentication and SBOM generation.
@dylansnyk

Copy link
Copy Markdown
Owner

Snyk checks have failed. 1 issues have been found so far.

Status Scanner Critical High Medium Low Total (1)
Open Source Security 1 0 0 0 1 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@dylansnyk

Copy link
Copy Markdown
Owner

Snyk checks have failed. 1 issues have been found so far.

Status Scanner Critical High Medium Low Total (1)
Open Source Security 1 0 0 0 1 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@dylansnyk

Copy link
Copy Markdown
Owner

Snyk checks have failed. 1 issues have been found so far.

Status Scanner Critical High Medium Low Total (1)
Open Source Security 1 0 0 0 1 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@dylansnyk

dylansnyk commented Nov 6, 2025

Copy link
Copy Markdown
Owner

Snyk checks have failed. 7 issues have been found so far.

Status Scanner Critical High Medium Low Total (7)
Code Security 0 6 0 0 6 issues
Open Source Security 1 0 0 0 1 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@snyk-io

snyk-io Bot commented Nov 6, 2025

Copy link
Copy Markdown

Snyk checks have failed. 1 issues have been found so far.

Status Scanner Critical High Medium Low Total (1)
Open Source Security 1 0 0 0 1 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Comment thread app.js
if (err) return res.status(500).send(err);


cp.exec(`node ${uploadPath}`, (error, stdout, stderr) => {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Command Injection

Unsanitized input from an uploaded file flows into child_process.exec, where it is used to build a shell command. This may result in a Command Injection vulnerability.

Line 77 | CWE-78 | Priority score 808 | Learn more about this vulnerability
Data flow: 13 steps

Step 1 - 5

let uploadedFile = req.files.file;

Step 6 - 10 app.js#L70

Step 11 - 13

cp.exec(`node ${uploadPath}`, (error, stdout, stderr) => {

Comment thread app.js
name: 'connect.sid',
cookie: { path: '/' }
}))
cookie: { path: '/', httpOnly: false, secure: false }

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Sensitive Cookie with 'Secure' Attribute Set to False

Cookie has the Secure attribute set to false. Set it to true to protect the cookie from man-in-the-middle attacks.

Line 47 | CWE-614 | Priority score 408
Data flow: 2 steps

Step 1 - 2

cookie: { path: '/', httpOnly: false, secure: false }

Comment thread app.js

// **Save the file without validating its type**
uploadedFile.mv(uploadPath, function (err) {
if (err) return res.status(500).send(err);

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from an uploaded file flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 74 | CWE-79 | Priority score 815 | Learn more about this vulnerability
Data flow: 9 steps

Step 1 - 5

let uploadedFile = req.files.file;

Step 6 - 7 app.js#L73

Step 8 - 9

if (err) return res.status(500).send(err);

Comment thread app.js
let username = req.query.username || 'Guest';


res.send(`<h1>Welcome, ${username}</h1><script>alert('XSS!');</script>`);

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Cross-site Scripting (XSS)

Unsanitized input from an HTTP parameter flows into send, where it is used to render an HTML page returned to the user. This may result in a Cross-Site Scripting attack (XSS).

Line 91 | CWE-79 | Priority score 815 | Learn more about this vulnerability
Data flow: 10 steps

Step 1 - 7

let username = req.query.username || 'Guest';

Step 8 - 10

res.send(`<h1>Welcome, ${username}</h1><script>alert('XSS!');</script>`);

Comment thread app.js
let uploadPath = './uploads/' + uploadedFile.name;

// **Save the file without validating its type**
uploadedFile.mv(uploadPath, function (err) {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Path Traversal

Unsanitized input from an uploaded file flows into mv, where it is used as a path. This may result in a Path Traversal vulnerability and allow an attacker to delete arbitrary files.

Line 73 | CWE-23 | Priority score 808 | Learn more about this vulnerability
Data flow: 12 steps

Step 1 - 5

let uploadedFile = req.files.file;

Step 6 - 10 app.js#L70

Step 11 - 12

uploadedFile.mv(uploadPath, function (err) {

Comment thread app.js
let url = req.body.url;


require('http').get(url, (response) => {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  Server-Side Request Forgery (SSRF)

Unsanitized input from the HTTP request body flows into http.get, where it is used as an URL to perform a request. This may result in a Server-Side Request Forgery vulnerability.

Line 105 | CWE-918 | Priority score 808 | Learn more about this vulnerability
Data flow: 7 steps

Step 1 - 5

let url = req.body.url;

Step 6 - 7

require('http').get(url, (response) => {

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants