High | Code Injection |
CWE-94
|
contributions.js:32
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
|
|
this.handleContributionsUpdate = (req, res, next) => { |
|
|
|
/*jslint evil: true */ |
|
// Insecure use of eval() to parse inputs |
|
const preTax = eval(req.body.preTax); |
1 Data Flow/s detected
|
app.post("/contributions", isLoggedIn, contributionsHandler.handleContributionsUpdate); |
|
this.handleContributionsUpdate = (req, res, next) => { |
|
const preTax = eval(req.body.preTax); |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | NoSQL Injection |
CWE-943
|
user-dao.js:91
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
noSuchUserError.noSuchUser = true; |
|
callback(noSuchUserError, null); |
|
} |
|
}; |
|
|
|
usersCol.findOne({ |
1 Data Flow/s detected
|
app.post("/login", sessionHandler.handleLoginRequest); |
|
this.handleLoginRequest = (req, res, next) => { |
|
userDAO.validateLogin(userName, password, (err, user) => { |
|
this.validateLogin = (userName, password, callback) => { |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior NoSQL Injection Training
● Videos
▪ Secure Code Warrior NoSQL Injection Video
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | Server Side Request Forgery |
CWE-918
|
research.js:16
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
|
|
this.displayResearch = (req, res) => { |
|
|
|
if (req.query.symbol) { |
|
const url = req.query.url + req.query.symbol; |
|
return needle.get(url, (error, newResponse, body) => { |
1 Data Flow/s detected
|
app.get("/research", isLoggedIn, researchHandler.displayResearch); |
|
this.displayResearch = (req, res) => { |
|
const url = req.query.url + req.query.symbol; |
|
return needle.get(url, (error, newResponse, body) => { |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior Server Side Request Forgery Training
● Videos
▪ Secure Code Warrior Server Side Request Forgery Video
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | NoSQL Injection |
CWE-943
|
user-dao.js:104
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
_id: parseInt(userId) |
|
}, callback); |
|
}; |
|
|
|
this.getUserByUserName = (userName, callback) => { |
|
usersCol.findOne({ |
1 Data Flow/s detected
|
app.post("/signup", sessionHandler.handleSignup); |
|
this.handleSignup = (req, res, next) => { |
|
userDAO.getUserByUserName(userName, (err, user) => { |
|
this.getUserByUserName = (userName, callback) => { |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior NoSQL Injection Training
● Videos
▪ Secure Code Warrior NoSQL Injection Video
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | Code Injection |
CWE-94
|
contributions.js:33
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
this.handleContributionsUpdate = (req, res, next) => { |
|
|
|
/*jslint evil: true */ |
|
// Insecure use of eval() to parse inputs |
|
const preTax = eval(req.body.preTax); |
|
const afterTax = eval(req.body.afterTax); |
1 Data Flow/s detected
|
app.post("/contributions", isLoggedIn, contributionsHandler.handleContributionsUpdate); |
|
this.handleContributionsUpdate = (req, res, next) => { |
|
const afterTax = eval(req.body.afterTax); |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | NoSQL Injection |
CWE-943
|
memos-dao.js:23
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
const memos = { |
|
memo, |
|
timestamp: new Date() |
|
}; |
|
|
|
memosCol.insert(memos, (err, result) => !err ? callback(null, result) : callback(err, null)); |
1 Data Flow/s detected
|
app.post("/memos", isLoggedIn, memosHandler.addMemos); |
|
this.addMemos = (req, res, next) => { |
|
memosDAO.insert(req.body.memo, (err, docs) => { |
|
this.insert = (memo, callback) => { |
|
memosCol.insert(memos, (err, result) => !err ? callback(null, result) : callback(err, null)); |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior NoSQL Injection Training
● Videos
▪ Secure Code Warrior NoSQL Injection Video
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | NoSQL Injection |
CWE-943
|
allocations-dao.js:86
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
return { |
|
userId: parsedUserId |
|
}; |
|
}; |
|
|
|
allocationsCol.find(searchCriteria()).toArray((err, allocations) => { |
1 Data Flow/s detected
|
app.get("/allocations/:userId", isLoggedIn, allocationsHandler.displayAllocations); |
|
this.displayAllocations = (req, res, next) => { |
|
allocationsDAO.getByUserIdAndThreshold(userId, threshold, (err, allocations) => { |
|
this.getByUserIdAndThreshold = (userId, threshold, callback) => { |
|
allocationsCol.find(searchCriteria()).toArray((err, allocations) => { |
|
const searchCriteria = () => { |
|
$where: `this.userId == ${parsedUserId} && this.stocks > '${threshold}'` |
|
allocationsCol.find(searchCriteria()).toArray((err, allocations) => { |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior NoSQL Injection Training
● Videos
▪ Secure Code Warrior NoSQL Injection Video
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | Code Injection |
CWE-94
|
profile.js:65
| 7 | 2026-04-08 07:28am |
Vulnerable Code
|
// Allow only numbers with a suffix of the letter #, for example: 'XXXXXX#' |
|
const testComplyWithRequirements = regexPattern.test(bankRouting); |
|
// if the regex test fails we do not allow saving |
|
if (testComplyWithRequirements !== true) { |
|
const firstNameSafeString = firstName; |
|
return res.render("profile", { |
7 Data Flow/s detected
View Data Flow 1
|
app.post("/profile", isLoggedIn, profileHandler.handleProfileUpdate); |
|
this.handleProfileUpdate = (req, res, next) => { |
|
return res.render("profile", { |
View Data Flow 2
|
app.post("/profile", isLoggedIn, profileHandler.handleProfileUpdate); |
|
this.handleProfileUpdate = (req, res, next) => { |
|
return res.render("profile", { |
View Data Flow 3
|
app.post("/profile", isLoggedIn, profileHandler.handleProfileUpdate); |
|
this.handleProfileUpdate = (req, res, next) => { |
|
return res.render("profile", { |
View more Data Flows
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | Code Injection |
CWE-94
|
contributions.js:34
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
|
|
/*jslint evil: true */ |
|
// Insecure use of eval() to parse inputs |
|
const preTax = eval(req.body.preTax); |
|
const afterTax = eval(req.body.afterTax); |
|
const roth = eval(req.body.roth); |
1 Data Flow/s detected
|
app.post("/contributions", isLoggedIn, contributionsHandler.handleContributionsUpdate); |
|
this.handleContributionsUpdate = (req, res, next) => { |
|
const roth = eval(req.body.roth); |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
| |
High | Code Injection |
CWE-94
|
error.js:10
| 1 | 2026-04-08 07:28am |
Vulnerable Code
|
"use strict"; |
|
|
|
console.error(err.message); |
|
console.error(err.stack); |
|
res.status(500); |
|
res.render("error-template", { |
1 Data Flow/s detected
|
const errorHandler = (err, req, res,next) => { |
|
res.render("error-template", { |
Secure Code Warrior Training Material
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
Suppress Finding
Note: GitHub may take a few seconds to process actions triggered via checkboxes.
Please wait until the change is visible before continuing.
|
Code Security Report
Scan Metadata
Latest Scan: 2026-04-08 07:28am
Total Findings: 15 | New Findings: 0 | Resolved Findings: 0
Tested Project Files: 51
Detected Programming Languages: 1 (JavaScript / TypeScript*)
Most Relevant Findings
CWE-94
contributions.js:32
analytics-processor-1466/app/routes/contributions.js
Lines 27 to 32 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 52 in 7738111
analytics-processor-1466/app/routes/contributions.js
Line 28 in 7738111
analytics-processor-1466/app/routes/contributions.js
Line 32 in 7738111
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
CWE-943
user-dao.js:91
analytics-processor-1466/app/data/user-dao.js
Lines 86 to 91 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 34 in 7738111
analytics-processor-1466/app/routes/session.js
Line 53 in 7738111
analytics-processor-1466/app/routes/session.js
Line 57 in 7738111
analytics-processor-1466/app/routes/session.js
Line 55 in 7738111
analytics-processor-1466/app/routes/session.js
Line 58 in 7738111
analytics-processor-1466/app/data/user-dao.js
Line 57 in 7738111
analytics-processor-1466/app/data/user-dao.js
Line 92 in 7738111
analytics-processor-1466/app/data/user-dao.js
Line 91 in 7738111
● Training
▪ Secure Code Warrior NoSQL Injection Training
● Videos
▪ Secure Code Warrior NoSQL Injection Video
CWE-918
research.js:16
analytics-processor-1466/app/routes/research.js
Lines 11 to 16 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 76 in 7738111
analytics-processor-1466/app/routes/research.js
Line 12 in 7738111
analytics-processor-1466/app/routes/research.js
Line 15 in 7738111
analytics-processor-1466/app/routes/research.js
Line 16 in 7738111
● Training
▪ Secure Code Warrior Server Side Request Forgery Training
● Videos
▪ Secure Code Warrior Server Side Request Forgery Video
CWE-943
user-dao.js:104
analytics-processor-1466/app/data/user-dao.js
Lines 99 to 104 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 38 in 7738111
analytics-processor-1466/app/routes/session.js
Line 189 in 7738111
analytics-processor-1466/app/routes/session.js
Line 198 in 7738111
analytics-processor-1466/app/routes/session.js
Line 193 in 7738111
analytics-processor-1466/app/routes/session.js
Line 208 in 7738111
analytics-processor-1466/app/data/user-dao.js
Line 103 in 7738111
analytics-processor-1466/app/data/user-dao.js
Line 105 in 7738111
analytics-processor-1466/app/data/user-dao.js
Line 104 in 7738111
● Training
▪ Secure Code Warrior NoSQL Injection Training
● Videos
▪ Secure Code Warrior NoSQL Injection Video
CWE-94
contributions.js:33
analytics-processor-1466/app/routes/contributions.js
Lines 28 to 33 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 52 in 7738111
analytics-processor-1466/app/routes/contributions.js
Line 28 in 7738111
analytics-processor-1466/app/routes/contributions.js
Line 33 in 7738111
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
CWE-943
memos-dao.js:23
analytics-processor-1466/app/data/memos-dao.js
Lines 18 to 23 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 67 in 7738111
analytics-processor-1466/app/routes/memos.js
Line 11 in 7738111
analytics-processor-1466/app/routes/memos.js
Line 13 in 7738111
analytics-processor-1466/app/data/memos-dao.js
Line 15 in 7738111
analytics-processor-1466/app/data/memos-dao.js
Line 19 in 7738111
analytics-processor-1466/app/data/memos-dao.js
Line 23 in 7738111
● Training
▪ Secure Code Warrior NoSQL Injection Training
● Videos
▪ Secure Code Warrior NoSQL Injection Video
CWE-943
allocations-dao.js:86
analytics-processor-1466/app/data/allocations-dao.js
Lines 81 to 86 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 63 in 7738111
analytics-processor-1466/app/routes/allocations.js
Line 11 in 7738111
analytics-processor-1466/app/routes/allocations.js
Line 21 in 7738111
analytics-processor-1466/app/routes/allocations.js
Line 20 in 7738111
analytics-processor-1466/app/routes/allocations.js
Line 23 in 7738111
analytics-processor-1466/app/data/allocations-dao.js
Line 57 in 7738111
analytics-processor-1466/app/data/allocations-dao.js
Line 86 in 7738111
analytics-processor-1466/app/data/allocations-dao.js
Line 60 in 7738111
analytics-processor-1466/app/data/allocations-dao.js
Line 78 in 7738111
analytics-processor-1466/app/data/allocations-dao.js
Line 86 in 7738111
● Training
▪ Secure Code Warrior NoSQL Injection Training
● Videos
▪ Secure Code Warrior NoSQL Injection Video
CWE-94
profile.js:65
analytics-processor-1466/app/routes/profile.js
Lines 60 to 65 in 7738111
7 Data Flow/s detected
View Data Flow 1
analytics-processor-1466/app/routes/index.js
Line 48 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 40 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 50 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 47 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 71 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 65 in 7738111
View Data Flow 2
analytics-processor-1466/app/routes/index.js
Line 48 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 40 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 50 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 48 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 72 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 65 in 7738111
View Data Flow 3
analytics-processor-1466/app/routes/index.js
Line 48 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 40 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 50 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 49 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 73 in 7738111
analytics-processor-1466/app/routes/profile.js
Line 65 in 7738111
View more Data Flows
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
CWE-94
contributions.js:34
analytics-processor-1466/app/routes/contributions.js
Lines 29 to 34 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 52 in 7738111
analytics-processor-1466/app/routes/contributions.js
Line 28 in 7738111
analytics-processor-1466/app/routes/contributions.js
Line 34 in 7738111
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
CWE-94
error.js:10
analytics-processor-1466/app/routes/error.js
Lines 5 to 10 in 7738111
1 Data Flow/s detected
analytics-processor-1466/app/routes/index.js
Line 82 in 7738111
analytics-processor-1466/app/routes/error.js
Line 3 in 7738111
analytics-processor-1466/app/routes/error.js
Line 11 in 7738111
analytics-processor-1466/app/routes/error.js
Line 10 in 7738111
● Training
▪ Secure Code Warrior Code Injection Training
● Videos
▪ Secure Code Warrior Code Injection Video
● Further Reading
▪ OWASP Command Injection
Findings Overview