Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Snyk] Security upgrade linkinator from 2.13.1 to 3.0.0 #154

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

snyk-bot
Copy link

Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.

merge advice

Changes included in this PR

  • Changes to the following files to upgrade the vulnerable dependencies to a fixed version:
    • package.json
    • package-lock.json

Vulnerabilities that will be fixed

With an upgrade:
Severity Priority Score (*) Issue Breaking Change Exploit Maturity
medium severity 658/1000
Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS)
SNYK-JS-MARKED-2342073
Yes Proof of Concept
medium severity 658/1000
Why? Proof of Concept exploit, Recently disclosed, Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS)
SNYK-JS-MARKED-2342082
Yes Proof of Concept

(*) Note that the real score may have changed since the PR was raised.

Commit messages
Package name: linkinator The new version differs by 77 commits.

See the full diff

Check the changes in this PR to ensure they won't cause issues with your project.


Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report

🛠 Adjust project settings

📚 Read more about Snyk's upgrade and patch logic

@guardrails
Copy link

guardrails bot commented Jan 16, 2022

⚠️ We detected 925 security issues in this pull request:

Mode: paranoid | Total findings: 925 | Considered vulnerability: 925

Insecure File Management (206)
Docs Details
💡 Title: Use of non-literal fs filename, Severity: High
const { data } = frontmatter(fs.readFileSync(homepage, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(dir)) return
💡 Title: Use of non-literal fs filename, Severity: High
const { data } = frontmatter(fs.readFileSync(toc, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
const buffer = fs.readFileSync(absFilePath)
💡 Title: Use of non-literal fs filename, Severity: High
filename => [filename, fs.readFileSync(filename, 'utf8')]
💡 Title: Use of non-literal require, Severity: High
const middleware = require(path.resolve(__dirname, '../middleware', relativePath))
💡 Title: Use of non-literal fs filename, Severity: High
const content = fs.readFileSync(fullPath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(path.join(dist, 'react'))) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.mkdirSync(path.join(dist, 'react'), { recursive: true })
💡 Title: Use of non-literal fs filename, Severity: High
const content = transform(fs.readFileSync(file.path, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(path.join(dist, file.path), content)
💡 Title: Use of non-literal fs filename, Severity: High
module.exports = util.promisify(fs.readFile)
💡 Title: Use of non-literal fs filename, Severity: High
fs.readdirSync(schemasPath)
💡 Title: Use of non-literal require, Severity: High
const value = require(path.join(schemasPath, filename))
💡 Title: Use of non-literal fs filename, Severity: High
return await fs.readdir(path.join(__dirname, 'indexes'))
💡 Title: Use of non-literal fs filename, Severity: High
.then(content => fs.writeFile(
💡 Title: Use of non-literal fs filename, Severity: High
.then(content => fs.writeFile(
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(cacheFile, JSON.stringify(index, null, 2))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(
💡 Title: Use of non-literal fs filename, Severity: High
const versions = fs.readdirSync(staticDir)
💡 Title: Use of non-literal require, Severity: High
set(payloadsPerVersion, payloadPath, formatAsJsonCodeBlock(require(payloadFile)))
💡 Title: Use of non-literal fs filename, Severity: High
if (fs.existsSync(destDir)) {
💡 Title: Use of non-literal fs filename, Severity: High
dirStats = fs.statSync(earlyAccessLocalRepoDir)
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(sourceDir)) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.symlinkSync(sourceDir, destDir, 'junction')
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(destDir)) {
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.lstatSync(destDir).isSymbolicLink()) {
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.statSync(destDir).isDirectory()) {
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(earlyAccessContentAndDataFiles)) {
💡 Title: Use of non-literal fs filename, Severity: High
const oldContents = fs.readFileSync(file, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, newContents)
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(variablePath)) return false
💡 Title: Use of non-literal fs filename, Severity: High
const variableFileContent = yaml.safeLoad(fs.readFileSync(variablePath, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
return fs.existsSync(`${path.posix.join(earlyAccessData, reusablePath)}.md`)
💡 Title: Use of non-literal fs filename, Severity: High
return fs.existsSync(path.posix.join(earlyAccessImages, imagePath))
💡 Title: Use of non-literal fs filename, Severity: High
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(fullPathToArchivalRepo)) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.mkdirSync(finalDirectory, { recursive: true })
💡 Title: Use of non-literal fs filename, Severity: High
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(path.posix.join(finalDirectory, 'redirects.json'), JSON.stringify(redirectsPerVersion, null, 2))
💡 Title: Use of non-literal fs filename, Severity: High
💡 Title: Use of non-literal require, Severity: High
require(path.join(process.cwd(), removeUnusedAssetsScript))
💡 Title: Use of non-literal fs filename, Severity: High
const oldContents = fs.readFileSync(file, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, newContents)
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(newSchemaFile)) {
💡 Title: Use of non-literal require, Severity: High
const previews = require(previewsFile)
💡 Title: Use of non-literal require, Severity: High
const changes = require(changesFile)
💡 Title: Use of non-literal require, Severity: High
const objects = require(objectsFile)
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(previewsFile, JSON.stringify(previews, null, 2))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(changesFile, JSON.stringify(changes, null, 2))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(objectsFile, JSON.stringify(objects, null, 2))
💡 Title: Use of non-literal fs filename, Severity: High
fs.readdirSync(srcDir).forEach(file => {
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(destDir)) {
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.readdirSync(destDir).length) {
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(oldDereferencedFile)) {
💡 Title: Use of non-literal fs filename, Severity: High
const oldDereferencedContent = fs.readFileSync(oldDereferencedFile, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(newDereferencedFile, newDereferenceContent)
💡 Title: Use of non-literal require, Severity: High
const dereferencedSchema = require(path.join(process.cwd(), newDereferencedFile))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(newDecoratedFile, JSON.stringify(operations, null, 2))
💡 Title: Use of non-literal fs filename, Severity: High
fs.readdirSync(srcDir).forEach(file => {
💡 Title: Use of non-literal fs filename, Severity: High
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.readdirSync(destDir).length) {
💡 Title: Use of non-literal fs filename, Severity: High
const dataContent = fs.readFileSync(file, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, newDataContent)
💡 Title: Use of non-literal fs filename, Severity: High
const { data, content } = frontmatter(fs.readFileSync(file, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, frontmatter.stringify(newContent, data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const releaseCandidateData = yaml.safeLoad(fs.readFileSync(releaseCandidateYaml, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(releaseCandidateYaml, yaml.safeDump(releaseCandidateData))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(localisedAbsPath, toWrite)
💡 Title: Use of non-literal fs filename, Severity: High
if (fs.existsSync(categoryDir)) {
💡 Title: Use of non-literal fs filename, Severity: High
const previousChangelogString = fs.readFileSync(targetPath)
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(targetPath, JSON.stringify(previousChangelog, null, 2))
💡 Title: Use of non-literal fs filename, Severity: High
const previousUpcomingChanges = yaml.safeLoad(fs.readFileSync(upcomingChangesPath, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
const previousSchemaString = fs.readFileSync(schemaPath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(filepath, content, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(tempSchemaFilePath, latestSchema)
💡 Title: Use of non-literal fs filename, Severity: High
fs.unlinkSync(tempSchemaFilePath)
💡 Title: Use of non-literal fs filename, Severity: High
const inputObjectIncludeFile = fs.readFileSync(path.join(includes, 'graphql-input-object.html'), 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
const objectIncludeFile = fs.readFileSync(path.join(includes, 'graphql-object.html'), 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
assert(fs.existsSync(oldCategoryDir), `directory does not exist: ${oldCategoryDir}`)
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(productDir)) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(productTocPath, matter.stringify(content, data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const tocContents = fs.readFileSync(oldProductTocPath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(oldProductTocPath, matter.stringify(newContent, data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const articleContents = fs.readFileSync(file, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, newContents)
💡 Title: Use of non-literal fs filename, Severity: High
const fileContent = fs.readFileSync(fullPath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(markdownFilename, value)
💡 Title: Use of non-literal fs filename, Severity: High
if (batchFile && !fs.existsSync(batchFile)) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.readFileSync(batchFile, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
const contents = fs.readFileSync(categoryIndex, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(categoryIndex, frontmatter.stringify(content, data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
for (const articleFileName of fs.readdirSync(categoryDirPath)) {
💡 Title: Use of non-literal fs filename, Severity: High
const articleContents = fs.readFileSync(articlePath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(articlePath, frontmatter.stringify(articleContent, articleData, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const productIndexContents = fs.readFileSync(productIndexPath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(productIndexPath, frontmatter.stringify(revisedProductIndex, productIndexData, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
fs.renameSync(categoryDirPath, newPath)
💡 Title: Use of non-literal fs filename, Severity: High
const { data, content } = frontmatter(fs.readFileSync(oldFullPath, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(newFullPath, frontmatter.stringify(content, data))
💡 Title: Use of non-literal fs filename, Severity: High
💡 Title: Use of non-literal fs filename, Severity: High
: fs.unlinkSync(reusablePath)
💡 Title: Use of non-literal fs filename, Severity: High
: fs.unlinkSync(imagePath)
💡 Title: Use of non-literal fs filename, Severity: High
const enterpriseDatesString = fs.readFileSync(enterpriseDatesFile, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(enterpriseDatesFile, formattedDatesString)
💡 Title: Use of non-literal fs filename, Severity: High
const { data, content } = frontmatter(fs.readFileSync(file, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, frontmatter.stringify(newContent, data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const readmeComment = fs.readFileSync(fullPath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
if (template === fs.readFileSync(readme, 'utf8')) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(readme, template)
💡 Title: Use of non-literal fs filename, Severity: High
const content = fs.readFileSync(file, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, newContent)
💡 Title: Use of non-literal fs filename, Severity: High
const { data, content } = frontmatter(fs.readFileSync(file, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, frontmatter.stringify(newContent, data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const contents = fs.readFileSync(productIndex, 'utf8') // TODO move to async
💡 Title: Use of non-literal require, Severity: High
schemaForCurrentVersion: require(`../../lib/graphql/static/schema-${graphqlVersion}`),
💡 Title: Use of non-literal require, Severity: High
const webhookPayloads = require(path.join(process.cwd(), 'lib/webhooks'))
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(fullPath)) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(fullPath, fs.readFileSync(englishFullPath))
💡 Title: Use of non-literal fs filename, Severity: High
fs.appendFileSync(logFile, JSON.stringify(result) + '\n')
💡 Title: Use of non-literal fs filename, Severity: High
const articleContents = fs.readFileSync(filePath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(filePath, newContents)
💡 Title: Use of non-literal fs filename, Severity: High
if (fs.existsSync(existingFileToCompare)) {
💡 Title: Use of non-literal fs filename, Severity: High
const existingImageToCompare = await fs.readFileSync(existingFileToCompare)
💡 Title: Use of non-literal fs filename, Severity: High
const enterpriseImage = await fs.readFileSync(file)
💡 Title: Use of non-literal fs filename, Severity: High
if (compareResult === 0) fs.unlinkSync(file)
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(existingFileToCompare)) {
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(newDirectoryName)) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.mkdirSync(newDirectoryName, { recursive: true })
💡 Title: Use of non-literal fs filename, Severity: High
fs.renameSync(file, existingFileToCompare)
💡 Title: Use of non-literal fs filename, Severity: High
const newContents = fs.readFileSync(file, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
💡 Title: Use of non-literal fs filename, Severity: High
let categoryIndexContent = fs.readFileSync(categoryIndexFile, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(oldTopicFile)) continue
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(newTopicDirectory)) fs.mkdirSync(newTopicDirectory)
💡 Title: Use of non-literal fs filename, Severity: High
const { data, content } = frontmatter(fs.readFileSync(oldTopicFile, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(`${oldTopicDirectory}/${article}.md`)) return
💡 Title: Use of non-literal fs filename, Severity: High
fs.renameSync(`${oldTopicDirectory}/${article}.md`, newArticlePath)
💡 Title: Use of non-literal fs filename, Severity: High
const articleContents = frontmatter(fs.readFileSync(newArticlePath, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(newArticlePath, frontmatter.stringify(articleContents.content.trim(), articleContents.data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(`${newTopicDirectory}/index.md`, frontmatter.stringify(topicContent.trim(), data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(categoryIndexFile, categoryIndexContent)
💡 Title: Use of non-literal fs filename, Severity: High
fs.unlinkSync(oldTopicFile)
💡 Title: Use of non-literal fs filename, Severity: High
if (fs.existsSync(imagePath)) fs.unlinkSync(imagePath)
💡 Title: Use of non-literal fs filename, Severity: High
if (fs.existsSync(imagePath)) fs.unlinkSync(imagePath)
💡 Title: Use of non-literal fs filename, Severity: High
fs.unlinkSync(imageFullPath)
💡 Title: Use of non-literal fs filename, Severity: High
fs.unlinkSync(imageFullPath)
💡 Title: Use of non-literal fs filename, Severity: High
fs.unlinkSync(imageFullPath)
💡 Title: Use of non-literal fs filename, Severity: High
fs.unlinkSync(imageFullPath)
💡 Title: Use of non-literal fs filename, Severity: High
fs.unlinkSync(path.join(process.cwd(), directoryImage))
💡 Title: Use of non-literal fs filename, Severity: High
const { data, content } = frontmatter(fs.readFileSync(file, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(file, frontmatter.stringify(newContent, data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const { data, content } = frontmatter(fs.readFileSync(indexFile, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(indexFile, frontmatter.stringify('', data, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const glossary = yaml.safeLoad(fs.readFileSync(inputFile, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
💡 Title: Use of non-literal fs filename, Severity: High
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(sourceDir)) {
💡 Title: Use of non-literal fs filename, Severity: High
fs.renameSync(sourceDir, destDir)
💡 Title: Use of non-literal fs filename, Severity: High
assert(fs.existsSync(translationFilePath), `file does not exist: ${translationFilePath}`)
💡 Title: Use of non-literal fs filename, Severity: High
assert(fs.existsSync(englishFile), `file does not exist: ${englishFile}`)
💡 Title: Use of non-literal fs filename, Severity: High
const englishContent = fs.readFileSync(englishFile, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(translationFilePath, englishContent)
💡 Title: Use of non-literal fs filename, Severity: High
const relativePath = fs.existsSync(pathArg)
💡 Title: Use of non-literal require, Severity: High
const schemas = files.map(filename => require(filename))
💡 Title: Use of non-literal fs filename, Severity: High
const schemas = fs.readdirSync(dereferencedPath)
💡 Title: Use of non-literal fs filename, Severity: High
if (!fs.existsSync(githubRepoDir)) {
💡 Title: Use of non-literal require, Severity: High
const schema = require(path.join(dereferencedPath, filename))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(path.join(dereferencedPath, filename), JSON.stringify(schema, null, 2))
💡 Title: Use of non-literal require, Severity: High
const schema = require(path.join(dereferencedPath, filename))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(filename, JSON.stringify(operations, null, 2))
💡 Title: Use of non-literal fs filename, Severity: High
const { content, data } = matter(fs.readFileSync(fullPath, 'utf8'))
💡 Title: Use of non-literal fs filename, Severity: High
fs.writeFileSync(fullPath, matter.stringify(content, newData, { lineWidth: 10000 }))
💡 Title: Use of non-literal fs filename, Severity: High
const fileContents = await fs.promises.readFile(fullPath, 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
.filter(link => fs.existsSync(getPath(productDir, link, 'index')))
💡 Title: Use of non-literal fs filename, Severity: High
const childEntries = await fs.promises.readdir(categoryDir, { withFileTypes: true })
💡 Title: Use of non-literal fs filename, Severity: High
const gitignore = fs.readFileSync(gitignorePath, 'utf8')
💡 Title: Use of non-literal require, Severity: High
const schemaJsonPerVersion = require(`../../lib/graphql/static/schema-${version}`)
💡 Title: Use of non-literal fs filename, Severity: High
await fs.stat(filepath)
💡 Title: Use of non-literal fs filename, Severity: High
await fs.writeFile(newFile, 'newvalue: bar')
💡 Title: Use of non-literal fs filename, Severity: High
await fs.unlink(newFile)
💡 Title: Use of non-literal fs filename, Severity: High
await fs.writeFile(testTargetPath, previousContents)
💡 Title: Use of non-literal fs filename, Severity: High
return yaml.load(fs.readFileSync(filename, 'utf8'), { filename })
💡 Title: Use of non-literal fs filename, Severity: High
const testDirectory = await fs.readdir(pathToTests)
💡 Title: Use of non-literal fs filename, Severity: High
await fs.stat(
💡 Title: Use of non-literal fs filename, Severity: High
const filenames = (await fs.readdir(referenceDir))
💡 Title: Use of non-literal fs filename, Severity: High
const workflows = fs.readdirSync(workflowsDir)
💡 Title: Use of non-literal fs filename, Severity: High
const data = yaml.load(fs.readFileSync(fullpath, 'utf8'), { fullpath })
💡 Title: Use of non-literal fs filename, Severity: High
expect(await fs.stat(eaDir)).toBeTruthy()
💡 Title: Use of non-literal fs filename, Severity: High
expect(await fs.stat(eaDir)).toBeTruthy()
💡 Title: Use of non-literal fs filename, Severity: High
expect(await fs.stat(eaDir)).toBeTruthy()
💡 Title: Use of non-literal fs filename, Severity: High
const rssFeedContent = fs.readFileSync(path.join(process.cwd(), 'tests/fixtures/rss-feed.xml'), 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
pageWithSections: fs.readFileSync(path.join(__dirname, 'fixtures/page-with-sections.html'), 'utf8'),
💡 Title: Use of non-literal fs filename, Severity: High
pageWithoutSections: fs.readFileSync(path.join(__dirname, 'fixtures/page-without-sections.html'), 'utf8')
💡 Title: Use of non-literal fs filename, Severity: High
const fileContent = fs.readFileSync(filename, 'utf8')
💡 Title: Path Traversal from user input, Severity: High
'/developers/apps'
💡 Title: Path Traversal from user input, Severity: High
newHref = path.join('/', languageCode, href)
💡 Title: Path Traversal from user input, Severity: High
newHref = path.join('/', languageCode, href)
💡 Title: Path Traversal from user input, Severity: High
const mapTopicOrArticlePath = path.posix.join(categoryPath, pathParts[2])
💡 Title: Path Traversal from user input, Severity: High
const categoryPath = removeFPTFromPath(path.posix.join('/', 'en', req.context.currentVersion, 'early-access', pathParts[0], pathParts[1]))
💡 Title: Path Traversal from user input, Severity: High
title: product.title
💡 Title: Path Traversal from user input, Severity: High
const categoryPath = removeFPTFromPath(path.posix.join('/', req.context.currentLanguage, req.context.currentVersion, productPath, pathParts[1]))
💡 Title: Path Traversal from user input, Severity: High
const productPath = path.posix.join('/', req.context.currentProduct)
💡 Title: Path Traversal from user input, Severity: High
href: removeFPTFromPath(path.posix.join('/', req.context.currentLanguage, req.context.currentVersion, productPath)),
💡 Title: Path Traversal from user input, Severity: High
const proxyPath = path.join('/', requestedVersion, assetPath)
💡 Title: Path Traversal from user input, Severity: High
const href = removeFPTFromPath(path.join('/', context.currentLanguage, version, linkPath))

More info on how to fix Insecure File Management in JavaScript.


Insecure Use of Regular Expressions (34)
Docs Details
💡 Title: Regex DOS (ReDOS), Severity: Medium
enterprise: /\/enterprise(?:\/|$|\?)(\d+\.\d+)?/,
💡 Title: Regex DOS (ReDOS), Severity: Medium
admin: /enterprise\/(\d+\.\d+\/)?admin\/?/,
💡 Title: Regex DOS (ReDOS), Severity: Medium
gheUser: /enterprise\/(\d+\.\d+\/)?user(\/|$|\?)/,
💡 Title: Regex DOS (ReDOS), Severity: Medium
enterpriseHomepage: /\/enterprise\/?(\d+\.\d+)?$/,

This comment has been truncated due to comment length limitations, please go to the dashboard for further details.


👉 Go to the dashboard for detailed results.

📥 Happy? Share your feedback with us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant