Skip to main content

Sensitive information in source code - Credentials


The repository stores sensitive information such as users, passwords, emails, API credentials, among others.


Obtain sensitive information to compromise other resources or services


  • Remove the hardcoded sensitive information and purge git logs
  • Change login credentials that were compromised.
  • Load sensitive data from secure sources such as key vault, encrypted configuration files or environment variables.


External attacker with access to source code.

Expected Remediation Time

⌚ 90 minutes.


Default score using CVSS 3.1. It may change depending on the context of the vulnerability.


  • Attack vector: N
  • Attack complexity: L
  • Privileges required: L
  • User interaction: N
  • Scope: U
  • Confidentiality: L
  • Integrity: N
  • Availability: N


  • Exploit code madurity: P
  • Remediation level: U
  • Report confidence: C


  • Vector string: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N/E:P/RL:U/RC:C
  • Score:
    • Base: 4.3
    • Temporal: 4.1
  • Severity:
    • Base: Medium
    • Temporal: Medium

Code Examples

Compliant code

All credentials are stored as encrypted secrets

const key = Buffer.from(keyString.substring(0, 8), "utf8");

function getInformation(userInput){
const info = fetch("url", key);
//Return information

Non compliant code

The API key is stored in plain text in the source code

const API_KEY = "KEY_inplaneText";

function getInformation(userInput){
const info = fetch("url", API_KEY);
//Return information


free trial

Search for vulnerabilities in your apps for free with our automated security testing! Start your 21-day free trial and discover the benefits of our Continuous Hacking Machine Plan. If you prefer a full service that includes the expertise of our ethical hackers, don't hesitate to contact us for our Continuous Hacking Squad Plan.