Avoid using a hard-coded secret

이 페이지는 아직 한국어로 제공되지 않으며 번역 작업 중입니다. 번역에 관한 질문이나 의견이 있으시면 언제든지 저희에게 연락해 주십시오.

Metadata

ID: javascript-express/hardcoded-secret

Language: JavaScript

Severity: Warning

Category: Security

CWE: 798

Description

Do not store secrets in plaintext where they are used. Instead use environment variables (process.env.<NAME>) or better yet, use a key management service (KMS) linked below that includes encryption.

Learn More

Non-Compliant Code Examples

import session from "express-session"
import { expressjwt } from "express-jwt"

app.use(
  session({
    name: "session-name",
    secret: "not-secret-secret",
    secret: `${isProd ? "prod-secret" : "dev-secret"}`,
  })
)

app.use(
  expressjwt({
    name: "session-name",
    secret: "not-secret-secret",
    secret: `${isProd ? "prod-secret" : "dev-secret"}`,
  })
)

Compliant Code Examples

import session from "express-session"
import { expressjwt } from "express-jwt"

app.use(
  session({
    name: "session-name",
    secret: process.env.SECRET
  })
)

app.use(
  expressjwt({
    name: "session-name",
    secret: process.env.SECRET
  })
)
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis

PREVIEWING: may/unit-testing