mcp-server-semgrep
Version:
MCP Server for Semgrep Integration - static code analysis with AI
58 lines (49 loc) • 1.49 kB
JavaScript
const express = require('express')
const app = express()
const port = 3000
const expat = require('node-expat');
app.get('/test', async (req, res) => {
var parser = new expat.Parser('UTF-8')
// ruleid: express-expat-xxe
parser.parse(req.body)
res.send('Hello World!')
})
app.get('/test1', async (req, res) => {
var parser = new expat.Parser('UTF-8')
// ruleid: express-expat-xxe
parser.write(req.query.value)
res.send('Hello World!')
})
app.get('/test2', async (req, res) => {
var parser = new expat.Parser('UTF-8')
var data = req.body.foo
// ruleid: express-expat-xxe
parser.write(data)
res.send('Hello World!')
})
const test3 = function func3(req, res) {
var parser = new expat.Parser('UTF-8')
// ruleid: express-expat-xxe
parser.parse(req.body)
res.send('Hello World!')
}
const test4 = function (req, res) {
var parser = new expat.Parser('UTF-8')
// ruleid: express-expat-xxe
parser.parse(req.body)
res.send('Hello World!')
}
app.get('/okTest1', async (req, res) => {
var parser = new expat.Parser('UTF-8')
// ok: express-expat-xxe
parser.write('<xml>hardcoded</xml>')
res.send('Hello World!')
})
app.get('/okTest2', async (req, res) => {
var parser = new expat.Parser('UTF-8')
var data = foo()
// ok: express-expat-xxe
parser.write(data)
res.send('Hello World!')
})
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`))