Secret Gate
ನಿಮ್ಮ ನಿಜವಾದ ಗುಪ್ತ ಮಾಹಿತಿಗಳನ್ನು ತಿಳಿದಿರುವ ರಿಲೀಸ್ ಗೇಟ್: ಏನೂ ಇಲ್ಲ ಎಂದು ಕಂಡುಹಿಡಿಯುವವರೆಗೆ ಏನೂ ಶಿಪ್ ಆಗುವುದಿಲ್ಲ.
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

ಇದು ಏನು ಮಾಡುತ್ತದೆ
ಸೆಕ್ರೆಟ್ ಗೇಟ್ ನಿಮ್ಮ ಕೈಯಿಂದ ಏನಾದರೂ ಹೊರಹೋಗುವ ಮೊದಲು ಒಂದೇ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ: ಇದು ನನ್ನ ಗುಪ್ತ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿದೆಯೇ? ರಿಲೀಸ್ ಜಿಪ್, ಗ್ರಾಹಕರ ಪ್ರತಿ, ಓಪನ್-ಸೋರ್ಸ್ ಪುಶ್ ಅಥವಾ ಮುಂದಿನ ಕಮಿಟ್ ಆಗಿರಲಿ. ನಿಮ್ಮ ಗುಪ್ತ ಮಾಹಿತಿ ಎಲ್ಲಿ ಇರುತ್ತದೆಯೋ ಆ ಫೈಲ್ಗಳನ್ನು ಅದು ಓದುವುದರಿಂದ, ನಿಮ್ಮ ಗುಪ್ತ ಮಾಹಿತಿ ಏನು ಎಂಬುದನ್ನು ಅದು ತಿಳಿದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಎಂದಿಗೂ ತೋರಿಸುವುದಿಲ್ಲ: ಒಂದು ಪತ್ತೆ ಫೈಲ್, ಸಾಲು ಮತ್ತು ಮೌಲ್ಯ ಎಲ್ಲಿಂದ ಬಂತು ಎಂಬುದನ್ನು ಹೆಸರಿಸುತ್ತದೆ.
- ನಿಮ್ಮ ನಿಖರವಾದ ಮೌಲ್ಯಗಳು. ನಿಮ್ಮ env ಫೈಲ್ಗಳು, JSON ಮತ್ತು YAML ಕಾನ್ಫಿಗ್ಗಳು,
.netrcಮತ್ತು ಕೀ ಫೈಲ್ಗಳಲ್ಲಿರುವ ಪ್ರತಿ ಮೌಲ್ಯವನ್ನು, ಬರೆಯಲಾದ ರೀತಿಯಲ್ಲಿ, base64-ಎನ್ಕೋಡ್ ಮಾಡಲಾದ ಮತ್ತು URL-ಎನ್ಕೋಡ್ ಮಾಡಲಾದ ರೂಪಗಳಲ್ಲಿ ಹುಡುಕಲಾಗುತ್ತದೆ. ಸಾಮಾನ್ಯ ಪದದಂತೆ ಕಾಣುವ ಪಾಸ್ವರ್ಡ್ ಅಥವಾ ತಿಳಿದಿರುವ ಪೂರ್ವಪ್ರತ್ಯಯವಿಲ್ಲದ ಆಂತರಿಕ ಟೋಕನ್ ಅನ್ನು ಇತರ ಎಲ್ಲದರಂತೆ ಪತ್ತೆ ಮಾಡಲಾಗುತ್ತದೆ. - ಅದು ಚಲಿಸದ ಯಂತ್ರಗಳಿಂದ ಗುಪ್ತ ಮಾಹಿತಿ. ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳನ್ನು ರಚಿಸಿ; ಬಿಲ್ಡ್ ಸರ್ವರ್ ಆ ಮೌಲ್ಯಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳದೆ ಅವುಗಳನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ.
- ಇತರ ಯಂತ್ರಗಳು ತಮ್ಮದೇ ಆದ ಗುಪ್ತ ಮಾಹಿತಿಗೆ ವಿರುದ್ಧ ಪರಿಶೀಲಿಸುತ್ತವೆ. ಫೈಲ್ಗಳು SSH ಮೂಲಕ ಪ್ರತಿ ಯಂತ್ರಕ್ಕೆ ಹೋಗುತ್ತವೆ, ಅಲ್ಲಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಲ್ಪಟ್ಟು ಅಳಿಸಲ್ಪಡುತ್ತವೆ. ಗುಪ್ತ ಮಾಹಿತಿ ಎಂದಿಗೂ ಚಲಿಸುವುದಿಲ್ಲ, ಮತ್ತು ಉತ್ತರಿಸಲಾಗದ ಯಂತ್ರ ರಿಲೀಸ್ ಅನ್ನು ತಡೆಯುತ್ತದೆ.
- ಆಕಾರಗಳು, ಹೆಸರುಗಳು ಮತ್ತು ಶಬ್ದವೂ ಸಹ. 25 ಟೋಕನ್ ಫಾರ್ಮ್ಯಾಟ್ಗಳು, ನಿಮ್ಮ ಹೆಸರುಗಳು, ಹೋಸ್ಟ್ಗಳು, ಡೊಮೇನ್ಗಳು ಮತ್ತು ಖಾತೆ ಐಡಿಗಳು, ಖಾಸಗಿ IP ವಿಳಾಸಗಳು, ವೈಯಕ್ತಿಕ ಇಮೇಲ್ ವಿಳಾಸಗಳು, ಫೋನ್ ಸಂಖ್ಯೆಗಳು, IBANಗಳು, ಹೋಮ್-ಫೋಲ್ಡರ್ ಪಾತ್ಗಳು, ಮತ್ತು ಗುಪ್ತ-ತರಹದ ಹೆಸರುಗಳ ಪಕ್ಕದಲ್ಲಿದ್ದ ಯಾದೃಚ್ಛಿಕ ಸ್ಟ್ರಿಂಗ್ಗಳು.
- ಅದು ಪ್ರತಿ ಬಾರಿಯೂ ತನ್ನನ್ನು ತಾನೇ ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಪ್ರತಿ ಸ್ಕ್ಯಾನ್ ಪ್ರಾರಂಭವು ಎಲ್ಲಾ ರೀತಿಯ ಕ್ಯಾನರಿಗಳನ್ನು ನೆಡುವ ಮೂಲಕ ಆರಂಭವಾಗುತ್ತದೆ; ಯಾವುದೇ ಪರಿಶೀಲನೆ ತನ್ನ ಕ್ಯಾನರಿಯನ್ನು ತಪ್ಪಿಸಿಕೊಂಡರೆ, ಸ್ಕ್ಯಾನ್ ನಡೆಯುವುದಿಲ್ಲ.
- ನೀವು ಈಗಾಗಲೇ ಕೆಲಸ ಮಾಡುವ ಜಾಗದಲ್ಲಿ. ಫೋಲ್ಡರ್ಗಳು, zip ಮತ್ತು tar ಆರ್ಕೈವ್ಗಳು, git pre-commit ಅಥವಾ pre-push hook, CI ಗಾಗಿ exit codes, JSON ವರದಿ.
ನಾವು ನೀಡುವದರ ಮೇಲೆ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ
- ನಾವು ಮಾರಾಟ ಮಾಡುವ ಪ್ರತಿ ಸಾಫ್ಟ್ವೇರ್ ಕಿಟ್: 8 ಬಿಡುಗಡೆ ಮಾಡಲಾದ ಆರ್ಕೈವ್ಗಳನ್ನು ನಮ್ಮ ಬಿಲ್ಡ್ ಯಂತ್ರದಲ್ಲಿರುವ 133 ಗುಪ್ತ ಮೌಲ್ಯಗಳು ಮತ್ತು ನಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ನಿಂದ 16,259 ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳ ವಿರುದ್ಧ ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗಿದೆ. ಎಲ್ಲವೂ ಒಟ್ಟಿಗೆ 5.4 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಉತ್ತೀರ್ಣವಾದವು.
- ರಿಲೀಸ್ ಪ್ರತಿಯಲ್ಲಿ ನೆಡಲಾದ ನಿಜವಾದ ಗುಪ್ತ ಮಾಹಿತಿ ಸರಳ ಮತ್ತು base64-ಎನ್ಕೋಡ್ ರೂಪದಲ್ಲಿ ಪತ್ತೆಯಾಯಿತು, ಪ್ರತಿ ಬಾರಿಯೂ ಅದು ಬಂದ ಫೈಲ್ ಅನ್ನು ಹೆಸರಿಸಲಾಯಿತು. ಮೌಲ್ಯವು ಔಟ್ಪುಟ್ ಅಥವಾ ವರದಿಯಲ್ಲಿ ಎಲ್ಲೂ ಕಾಣಿಸಿಕೊಳ್ಳಲಿಲ್ಲ.
- SSH ಮೂಲಕದ ದೂರದ ಸ್ಕ್ಯಾನ್ ಎರಡನೇ ಯಂತ್ರದ 499 ಗುಪ್ತ ಮೌಲ್ಯಗಳ ವಿರುದ್ಧ ರಿಲೀಸ್ ಅನ್ನು 1.4 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಪರಿಶೀಲಿಸಿತು, ಮತ್ತು ಆ ಯಂತ್ರದಲ್ಲಿ ಮಾತ್ರ ಇದ್ದ ಪ್ರತಿಯಲ್ಲಿ ನೆಡಲಾದ ಟೋಕನ್ ಅನ್ನು ಪತ್ತೆ ಮಾಡಿತು.
ಒಳಗೆ ಏನಿದೆ
ಗೇಟ್
ನಾಲ್ಕು ಪರಿಶೀಲನೆಗಳು, ಸ್ವಯಂ-ಪರೀಕ್ಷೆ, ಆರ್ಕೈವ್ ಮತ್ತು git-staged ಸ್ಕ್ಯಾನಿಂಗ್, ಓದಬಹುದಾದ ವರದಿ ಮತ್ತು JSON ವರದಿ.
ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳು
ಮೌಲ್ಯಗಳಿಲ್ಲದೆ, ಇನ್ನೊಂದು ಯಂತ್ರದಲ್ಲಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಒಂದು ಯಂತ್ರದ ಗುಪ್ತ ಮಾಹಿತಿಯ ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳು.
ದೂರದ ಸ್ಕ್ಯಾನ್ಗಳು
ರಹಸ್ಯಗಳನ್ನು ಹೊಂದಿರುವ ಪ್ರತಿ ಯಂತ್ರದ ಮೇಲೆ ಅದೇ ಫೈಲ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ನ ನಿಯಮಗಳೊಂದಿಗೆ ಕಳುಹಿಸಿ.
ಸೆಟಪ್ ಮತ್ತು CI
ನಿಮ್ಮ ರಹಸ್ಯ ಫೈಲ್ಗಳಿಗಾಗಿ ಒಂದು ಫೈಂಡರ್, git hooks ಮತ್ತು ರಿಲೀಸ್ ಆರ್ಕೈವ್ಗಳಿಗಾಗಿ GitHub Actions workflow.
ಅಗತ್ಯತೆಗಳು
- Linux ಅಥವಾ macOS, Python 3.9 ಅಥವಾ ಹೊಸ ಆವೃತ್ತಿ; pip ನಿಂದ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಬೇಕಾದದ್ದು ಏನೂ ಇಲ್ಲ.
- hooks ಗಾಗಿ Git, ದೂರದ ಸ್ಕ್ಯಾನ್ಗಳಿಗಾಗಿ SSH.
ಗೊಂಡಿರಬೇಕಾದ ವಿಷಯಗಳು
- ಅದು ಫೈಲ್ಗಳನ್ನು ಈಗ ಇರುವಂತೆಯೇ ಓದುತ್ತದೆ. ನಿಮ್ಮ git ಇತಿಹಾಸದಲ್ಲಿ ಈಗಾಗಲೇ ಇರುವ ರಹಸ್ಯ ಅಲ್ಲಿಯೇ ಉಳಿಯುತ್ತದೆ: ಅದನ್ನು rotate ಮಾಡಿ.
- ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾದ ಫೋಲ್ಡರ್ನಲ್ಲಿರುವ ಆರ್ಕೈವ್ಗಳನ್ನು ತೆರೆಯಲಾಗುವುದಿಲ್ಲ; ಪ್ರತಿ ಆರ್ಕೈವ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ.
- ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಫೈಲ್ಗಳನ್ನು ರಹಸ್ಯಗಳಷ್ಟೇ ಗೌಪ್ಯವಾಗಿ ಇಟ್ಟುಕೊಳ್ಳಿ: 16 ಅಕ್ಷರಗಳು ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಪ್ರತಿ ಮೌಲ್ಯದ ಮೊದಲ 4 ಅಕ್ಷರಗಳನ್ನು ಅವು ಹೊಂದಿರುತ್ತವೆ.
ಪ್ರಶ್ನೆಗಳು
ಇದು gitleaks ಅಥವಾ TruffleHog ಗಿಂತ ಹೇಗೆ ಭಿನ್ನವಾಗಿದೆ?
ಅವು ರಹಸ್ಯಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಹೇಗೆ ಕಾಣುತ್ತವೆ ಎಂಬುದನ್ನು ಹುಡುಕುತ್ತವೆ, ಮತ್ತು ಅವು ಅದರಲ್ಲಿ ಉತ್ತಮವಾಗಿವೆ. Secret Gate ನಿಮ್ಮ ರಹಸ್ಯಗಳು ನಿಜವಾಗಿಯೂ ಏನು ಎಂಬುದನ್ನೂ ತಿಳಿದಿದೆ: ಅದು ನಿಮ್ಮ ಸ್ವಂತ ರಹಸ್ಯ ಫೈಲ್ಗಳನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಆ ನಿಖರವಾದ ಮೌಲ್ಯಗಳನ್ನು ಹುಡುಕುತ್ತದೆ, ಆದ್ದರಿಂದ ಗುರುತಿಸಬಹುದಾದ ಆಕಾರವಿಲ್ಲದ ಡೇಟಾಬೇಸ್ ಪಾಸ್ವರ್ಡ್ ಅಥವಾ ಆಂತರಿಕ ಟೋಕನ್ ಕೂಡ ಸಿಗುತ್ತದೆ. ಏನಾದರೂ ಶಿಪ್ ಆಗುವ ಮೊದಲು ಎಂಬ ಒಂದೇ ಕ್ಷಣಕ್ಕಾಗಿ ಇದನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆ ಮತ್ತು ಇದು ಫೇಲ್ ಕ್ಲೋಸ್ಡ್ ಆಗುತ್ತದೆ.
ಇದು ನನ್ನ ರಹಸ್ಯಗಳನ್ನು ಎಲ್ಲಾದರೂ ಕಳುಹಿಸುತ್ತದೆಯೇ?
ಇಲ್ಲ. ಮೌಲ್ಯಗಳನ್ನು ಸ್ಕ್ಯಾನ್ಗಾಗಿ ನಿಮ್ಮ ಫೈಲ್ಗಳಿಂದ ಮೆಮೊರಿಗೆ ಓದಲಾಗುತ್ತದೆ ಮತ್ತು ಎಂದಿಗೂ ಪ್ರಿಂಟ್, ಬರೆಯಲ್ಪಡುವುದಿಲ್ಲ ಅಥವಾ ಕಳುಹಿಸಲ್ಪಡುವುದಿಲ್ಲ; ನೀವು ಒಂದು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಫೈಲ್ ರಚಿಸಿದರೆ, ಅದು ಪ್ರತಿ ಮೌಲ್ಯದ ಹ್ಯಾಶ್ ಮತ್ತು ಮೊದಲ 4 ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ. ದೂರದ ಸ್ಕ್ಯಾನ್ಗಳು ನೀವು ಶಿಪ್ ಮಾಡಲಿರುವ ಫೈಲ್ಗಳನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಯಂತ್ರಕ್ಕೆ ಕಳುಹಿಸುತ್ತವೆ; ಆ ಯಂತ್ರದ ರಹಸ್ಯಗಳು ಅದರ ಮೇಲೆಯೇ ಉಳಿಯುತ್ತವೆ.
ತಪ್ಪು ಎಚ್ಚರಿಕೆಗಳ ಬಗ್ಗೆ ಏನು?
ಒಂದು ಕಂಡುಹಿಡಿಯುವಿಕೆ ಎಂದರೆ "ಇದನ್ನು ನೋಡಿ" ಎಂದರ್ಥ. ಅದು ಸರಿ ಇದ್ದರೆ, ಪ್ರಾಜೆಕ್ಟ್ನ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ಆ ರೀತಿಯ ಕಂಡುಹಿಡಿಯುವಿಕೆಗಾಗಿ ಒಂದು ಸಂಕುಚಿತ allow rule ಸೇರಿಸಿ, ಉದಾಹರಣೆಗೆ ನಿಮ್ಮ ಸ್ವಂತ ಸಪೋರ್ಟ್ ವಿಳಾಸ. ಒಂದು ಚೆಕ್ ಅನ್ನು ಆಫ್ ಮಾಡುವ ಸ್ವಿಚ್ ಇಲ್ಲ.
ಇದು ನನ್ನ git ಇತಿಹಾಸವನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಬಹುದೇ?
ಇಲ್ಲ. ನೀವು ಶಿಪ್ ಮಾಡಲಿರುವುದನ್ನು ಅದು ಪರಿಶೀಲಿಸುತ್ತದೆ: ಒಂದು ಫೋಲ್ಡರ್, ಒಂದು ಆರ್ಕೈವ್, ಅಥವಾ ಮುಂದಿನ commit. ಈಗಾಗಲೇ ಇತಿಹಾಸದಲ್ಲಿರುವ ರಹಸ್ಯಕ್ಕಾಗಿ, ರಹಸ್ಯವನ್ನು rotate ಮಾಡಿ.
ನವೀಕರಿಸಲಾಗಿದೆ: