Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
c57e251
fixing hardcoded credentials - snyk suggestion using DeepCodeAI
tfn-snyk Apr 3, 2025
ff049f1
Merge pull request #1 from Brasnyk/dev
tfn-snyk Apr 3, 2025
fed1784
Vuln intro example
tfn-snyk Apr 3, 2025
def8f10
Create snyk-security.yml
tfn-snyk Apr 6, 2025
9ccf379
Update snyk-security.yml
tfn-snyk Apr 6, 2025
6f3f763
Update snyk-security.yml
tfn-snyk Apr 6, 2025
88962a6
Update snyk-security.yml
tfn-snyk Apr 6, 2025
76f30ba
Update snyk-security.yml
tfn-snyk Apr 6, 2025
903e57b
Update snyk-security.yml
tfn-snyk Apr 6, 2025
cd22764
Update snyk-security.yml
tfn-snyk Apr 6, 2025
6ea990c
fix vuln for example
tfn-snyk May 28, 2025
c4243e9
intro hardcoded secrets for fix AI example
tfn-snyk May 28, 2025
f33a13f
fix vuln for example
tfn-snyk May 28, 2025
8ae101e
Merge pull request #7 from Brasnyk/dev
tfn-snyk May 28, 2025
4d98629
intro hardcoded secrets for fix AI example
tfn-snyk May 28, 2025
f1306c1
adding k8s files
tfn-snyk Jul 15, 2025
3ca0b3c
Merge pull request #11 from Brasnyk/dev
tfn-snyk Jul 15, 2025
bb99ae9
reducing k8s files
tfn-snyk Jul 15, 2025
4e2f37a
Merge pull request #15 from Brasnyk/dev
tfn-snyk Jul 15, 2025
d7dfc68
fix for vuln intro
tfn-snyk Jul 16, 2025
3636742
adding vuln in app.js for fix AI example in PR
tfn-snyk Jul 16, 2025
66adf3e
Merge pull request #16 from Brasnyk/dev
tfn-snyk Jul 16, 2025
a082fe9
test main.tf vulns in pr
tfn-snyk Oct 20, 2025
6e27ef1
removed main.tf from branch main to try dev
tfn-snyk Oct 20, 2025
a13a631
moved main.tf to dev branch for PR check
tfn-snyk Oct 20, 2025
978a847
removed main.tf from branch dev
tfn-snyk Oct 21, 2025
857b1aa
fix vuln
tfn-snyk Oct 21, 2025
10ac46e
Merge pull request #21 from latam-snyk/dev
tfn-snyk Oct 21, 2025
2e4614f
Add Snyk IaC test step in workflow
tfn-snyk Oct 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .cursor/rules/mcp-policy.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: MCP Policy
globs:
alwaysApply: true
---

For all generated code, scan for vulnerabilities using Snyk. If any vulnerabilities are generated, fix them.
99 changes: 99 additions & 0 deletions .github/workflows/snyk-security.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# A sample workflow which sets up Snyk to analyze the full Snyk platform (Snyk Open Source, Snyk Code,
# Snyk Container and Snyk Infrastructure as Code)
# The setup installs the Snyk CLI - for more details on the possible commands
# check https://docs.snyk.io/snyk-cli/cli-reference
# The results of Snyk Code are then uploaded to GitHub Security Code Scanning
#
# In order to use the Snyk Action you will need to have a Snyk API token.
# More details in https://github.com/snyk/actions#getting-your-snyk-token
# or you can signup for free at https://snyk.io/login
#
# For more examples, including how to limit scans to only high-severity issues
# and fail PR checks, see https://github.com/snyk/actions/

name: Snyk Security

on:
push:
branches: ["main" ]
pull_request:
branches: ["main"]

permissions:
contents: read

jobs:
snyk:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Snyk CLI to check for security issues
# Snyk can be used to break the build when it detects security issues.
# In this case we want to upload the SAST issues to GitHub Code Scanning
uses: snyk/actions/setup@806182742461562b67788a64410098c9d9b96adb

# For Snyk Open Source you must first set up the development environment for your application's dependencies
# For example for Node
#- uses: actions/setup-node@v4
# with:
# node-version: 20

env:
# This is where you will need to introduce the Snyk API token created with your Snyk account
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}

- name: Install deps
run: npm install

- name: Auth Snyk
run: snyk auth ${{ secrets.SNYK_TOKEN }}

- name: Install Snyk html
run: npm install snyk-to-html -g

# Runs Snyk Code (SAST) analysis and uploads result into GitHub.
# Use || true to not fail the pipeline
- name: Snyk Code test
run: snyk code test --json | snyk-to-html -o results_SAST.html || true

# Runs Snyk Open Source (SCA) analysis and uploads result to Snyk.
- name: Snyk Open Source test
run: snyk test --json | snyk-to-html -o results_SCA.html || true

- name: Snyk IaC test
run: snyk iac test

# Upload the generated HTML files as artifacts
- name: Upload Snyk HTML reports
uses: actions/upload-artifact@v4
with:
name: snyk-reports
path: |
results_SAST.html
results_SCA.html
# Runs Snyk Infrastructure as Code (IaC) analysis and uploads result to Snyk.
# Use || true to not fail the pipeline.
# - name: Snyk IaC test and report
# run: snyk iac test --report # || true

# Build the docker image for testing
# - name: Build a Docker image
# run: docker build -t your/image-to-test .
# Runs Snyk Container (Container and SCA) analysis and uploads result to Snyk.
# - name: Snyk Container monitor
# run: snyk container monitor your/image-to-test --file=Dockerfile

# Push the Snyk Code results into GitHub Code Scanning tab
# - name: Upload result to GitHub Code Scanning
# uses: github/codeql-action/upload-sarif@v3
# with:
# sarif_file: snyk-code.sarif
10 changes: 6 additions & 4 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(methodOverride());
app.use(session({
secret: 'keyboard cat',
secret: process.env.SESSION_SECRET,
Copy link

Choose a reason for hiding this comment

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

Bug: Session Secret Undefined Causes Security Issues

The session secret is now set to process.env.SESSION_SECRET without validation. If the environment variable is not set, the session secret will be undefined, which breaks session security and functionality. There should be a default or an error thrown if the environment variable is missing.

Fix in Cursor Fix in Web

name: 'connect.sid',
cookie: { path: '/' }
}))
Expand All @@ -66,6 +66,9 @@ app.get('/about_new', routes.about_new);
app.get('/chat', routes.chat.get);
app.put('/chat', routes.chat.add);
app.delete('/chat', routes.chat.delete);
// User role check API endpoints
app.get('/api/user/role/:userId', routes.isLoggedIn, routes.checkUserRole);
app.post('/api/user/role-check', routes.isLoggedIn, routes.checkUserRole);
app.use('/users', routesUsers)

// Static
Expand All @@ -80,9 +83,8 @@ if (app.get('env') == 'development') {
app.use(errorHandler());
}

var token = 'SECRET_TOKEN_f8ed84e8f41e4146403dd4a6bbcea5e418d23a9';
console.log('token: ' + token);


http.createServer(app).listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
});git
Loading