UNPKG

mcp-server-semgrep

Version:

MCP Server for Semgrep Integration - static code analysis with AI

64 lines (52 loc) 1.66 kB
const argon2 = require("argon2"); const hashSettings = { type: argon2.argon2i, memoryCost: 2 ** 16, parallelism: os.cpus().length || 8, }; const goodHashSettings = { type: argon2.argon2id, memoryCost: 2 ** 16, parallelism: os.cpus().length || 8, }; const prepareSavingGood = (user) => { if (!user.Password) return Promise.resolve(user); return argon2 // ok: unsafe-argon2-config .hash(user.Password, goodHashSettings) .then((hash) => ({ ...user, Password: hash })) .catch((err) => console.error(`Error during hashing: ${err}`)); }; const prepareSavingBad = (user) => { if (!user.Password) return Promise.resolve(user); return argon2 // ruleid:unsafe-argon2-config .hash(user.Password, hashSettings) .then((hash) => ({ ...user, Password: hash })) .catch((err) => console.error(`Error during hashing: ${err}`)); }; const bad = (user) => { if (!user.Password) return Promise.resolve(user); const hashSettings = { type: argon2.argon2i, memoryCost: 2 ** 16, parallelism: os.cpus().length || 8, }; return argon2 // ruleid:unsafe-argon2-config .hash(user.Password, hashSettings) .then((hash) => ({ ...user, Password: hash })) .catch((err) => console.error(`Error during hashing: ${err}`)); }; function okTest(user) { if (!user.Password) return Promise.resolve(user); // ok: unsafe-argon2-config return argon2 .hash(user.Password, { type: argon2.argon2id, memoryCost: 2 ** 16, parallelism: os.cpus().length || 8, }) .then((hash) => ({ ...user, Password: hash })) .catch((err) => console.error(`Error during hashing: ${err}`)); }