Skip to content
This repository has been archived by the owner on Jun 18, 2024. It is now read-only.

Fix: Add secret referencing (Fixes Issue #18) #21

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

ragnarbull
Copy link

@ragnarbull ragnarbull commented Oct 12, 2023

Currently the Node SDK doesn't support secret referencing. This PR fixes Issue #18

NESTED_SECRET_1 = ${NESTED_SECRET_2}
NESTED_SECRET_2 = ${NESTED_SECRET_3}
NESTED_SECRET_3 = DEEPLY_NESTED_SECRET

Each of these secrets should resolve to: "DEEPLY_NESTED_SECRET".

PROTOCOL= "https"
HOSTNAME= "www.infisical.com"
FULL_HOST= ${PROTOCOL}://${HOSTNAME}

The FULL_HOST secret should resolve to: "https://www.infisical.com" (ie. a URL).

In a "db-secrets" folder in the "dev" directory:

USERNAME= "admin2023"
PASSWORD= "Supersecret123"
PORT= "4000"
DB_NAME = "dev"

Then in the "dev" directory:
MONGO_URL = mongodb://${dev.db-secrets.USERNAME}:${dev.db-secrets.PASSWORD}@${HOSTNAME}:${dev.db-secrets.PORT}/${dev.db-secrets.DB_NAME}

The MONGO_URL secret should resolve to: "mongodb://admin2023:[email protected]:4000/dev" (ie. a Mongo DB connection URI).

A development file (dev.js) is included to assist with creating & fetching secret references. Unit tests have been updated & fix applied for one.

TODO:

  • Fix getSecret for secret references (WIP) - issue with caching or expandSecrets setup
  • Fix secret references from other folders & environments (DONE - for getAllSecrets):
  • Fix support for creating secrets in new folders to allow for seamless unit tests (out-of-scope - another PR)

@ragnarbull ragnarbull changed the title Fix: Add secret referencing Fix: Add secret referencing (Fixes Issue #18) Oct 12, 2023
@gitguardian
Copy link

gitguardian bot commented Oct 13, 2023

⚠️ GitGuardian has uncovered 4 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id Secret Commit Filename
- MongoDB Credentials e02898c tests/client/InfisicalClient.test.ts View secret
- MongoDB Credentials b3e0bdd dev.js View secret
- MongoDB Credentials b3e0bdd dev.js View secret
- MongoDB Credentials b3e0bdd dev.js View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

Our GitHub checks need improvements? Share your feedbacks!

@devilmark84
Copy link

Any news about this PR? I would be so nice to have the secret referencing in the node SDK.

@ragnarbull
Copy link
Author

Any news about this PR? I would be so nice to have the secret referencing in the node SDK.

hi @devilmark84 the code I've submitted works well for pulling multiple secrets with nested references (like the examples) - feel free to refactor it if you want to fetch a single secret and edit this PR. but I won't be submitting new code to infisical...

@ragnarbull
Copy link
Author

@dangtony98 can you fix this PR up so it can be merged pls.

@devilmark84
Copy link

Any news about this PR? I would be so nice to have the secret referencing in the node SDK.

hi @devilmark84 the code I've submitted works well for pulling multiple secrets with nested references (like the examples) - feel free to refactor it if you want to fetch a single secret and edit this PR. but I won't be submitting new code to infisical...

Thank you very much for your work on the code! I'd like to understand what's behind this sentence: "I won't be submitting new code to infisical..."

@dangtony98
Copy link
Contributor

Will shoot to review/merge this sometime in the next week folks.

@devilmark84
Copy link

Will shoot to review/merge this sometime in the next week folks.

Any news?

@dangtony98
Copy link
Contributor

@devilmark84 Probably sometime end of week; there's a lot of ongoing development at the moment across the codebase.

@devilmark84
Copy link

@devilmark84 Probably sometime end of week; there's a lot of ongoing development at the moment across the codebase.

Any news? This feature is so important...

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

Successfully merging this pull request may close these issues.

3 participants