Secret Gate
የእውነተኛ ሚስጥሮችዎን የሚያውቅ የመልቀቂያ ገደብ፡ ምንም ነገር እስካልተገኘ ድረስ ምንም አይላክም።
- Linux or macOS
- Python 3.9+
- Git hooks
- CI

ምን ያደርጋል
ሚስጥራዊ መስኮት (Secret Gate) ማንኛውም ነገር ከእጅዎ ለመውጣቱ በፊት፣ ማለትም የመልቀቂያ zip ፋይል፣ የደንበኛ ቅጂ፣ የክፍት ምንጭ ማሳለፊያ ወይም ቀጣዩ commit ሆኖ፣ አንድን ጥያቄ ይመልሳል፡ ይህ የእኔ ሚስጥር ይዟል? ሚስጥሮችዎን ያውቃል፣ ምክንያቱም የሚኖሩበትን ፋይሎች ስለሚያነብ እና አንዱንም አያሳይም፡ የተገኘው ውጤት ፋይሉን፣ መስመሩን እና እሴቱ ከየት እንደመጣ ይገልጻል።
- የእርስዎ ትክክለኛ እሴቶች። በ env ፋይሎችዎ፣ በ JSON እና YAML ቅንብሮችዎ፣ በ
.netrcእና በቁልፍ ፋይሎችዎ ውስጥ ያሉ እያንዳንዱ እሴቶች፣ እንደተጻፉ፣ በ base64 የተመዘገቡ እና በ URL የተመዘገቡ ሆነው ይፈለጋሉ። እንደ ግራጫ ቃል የሚመስል የይለፍ ቃል፣ ወይም የታወቀ ጭማሪ (prefix) የሌለው የውስጥ token፣ እንደ ሌሎች ሁሉ ይገኛል። - በማይሰራባቸው ማሽኖች ላይ ያሉ ሚስጥሮች። በላፕቶፕዎ ላይ የጣት አሻራዎችን ይፍጠሩ፤ የግንባታ ሰርቨሩ እነዚህን እሴቶች ሳይይዙ ያገኛል።
- ሌሎች ማሽኖች ከራሳቸው ሚስጥሮች ጋር ያረጋግጣሉ። ፋይሎቹ በ SSH በኩል ወደ እያንዳንዱ ማሽን ይሄዳሉ፣ በዚያ ይቃኛሉ እና ይሰረዛሉ። ሚስጥሮቹ ፈጽሞ አይንቀሳቀሱ፣ እና መልስ ለመስጠት የማይችል ማሽን የመልቀቂያውን ይከለክላል።
- ቅርጾች፣ ስሞች እና ጫጫታም። 25 የ token ቅርጾች፣ ስሞችዎ፣ ማስተናጋጃዎች (hosts)፣ ዶሜኖች እና የመለያ መታወቂያዎች (account ids)፣ የግል IP አድራሻዎች፣ የግል ኢሜይል አድራሻዎች፣ ስልክ ቁጥሮች፣ IBANs፣ የቤት-አቃፊ (home-folder) መንገዶች፣ እና ሚስጥር-መሰል ስሞች አጠገብ ያሉ ዘፈቀደ ገመዶች።
- በየጊዜው ራሱን ያረጋግጣል። እያንዳንዱ ቃኘው በእያንዳንዱ ዓይነት የጠባቂ ወፎችን (canaries) በመትከል ይጀምራል፤ ማንኛውም ምርመራ የጠባቂ ወፉን ካላገኘ፣ ቃኘው አይሰራም።
- አስቀድመው በሚሰሩበት ቦታ። አቃፊዎች፣ zip እና tar ማህደሮች፣ የ git pre-commit ወይም pre-push hook፣ ለ CI የመውጫ ኮዶች፣ እና የ JSON ሪፖርት።
የምናቀርበውን በመጠቀም የተፈተነ
- የምንሸጣቸው ሁሉም ሶፍትዌር ጥቅሎች፡ የተለቀቁት 8 ማህደሮች በግንባታ ማሽኖቻችን ላይ ካሉ 133 የሚስጥር እሴቶች እና ከላፕቶፕዎቻችን ከተወሰዱ 16,259 የጣት አሻራዎች ጋር ተቃኝተዋል። ሁሉም በአጠቃላይ በ 5.4 ሰከንድ አልፈዋል።
- በመልቀቂያ ቅጂ ውስጥ የተተከለ ትክክለኛ ሚስጥር በግልጽ እና በ base64 የተመዘገበ ሆኖ ተይዟል፣ እያንዳንዱ ጊዜ የመጣበት ፋይል በስሙ ተገልጿል። እሴቱ በውጤቱ ወይም በሪፖርቱ ውስጥ ምንም ቦታ አልታየም።
- በ SSH የተደረገ ርቀት ቃኘው መልቀቂያውን ከሁለተኛው ማሽን 499 የሚስጥር እሴቶች ጋር በ 1.4 ሰከንድ አረጋግጧል፣ እና በዚያ ማሽን ላይ ብቻ በነበረ ቅጂ ውስጥ የተተከለ token አግኝቷል።
ውስጡ ምን አለ?
መስኮቱ
አራቱ ምርመራዎች፣ የራስ-ፈተናው፣ የማህደር እና የ git-staged ቃኘው፣ የሚነበብ ሪፖርት እና የ JSON ሪፖርት።
የጣት አሻራዎች
እሴቶቹ ሳይኖሩ በሌላ ማሽን ላይ ለቃኘው የሚያገለግሉ የአንድ ማሽን ሚስጥሮች የጣት አሻራዎች።
የርቀት ምርመራዎች
ሚስጥሮችን የያዙ በእያንዳንዱ ማሽን ላይ ተመሳሳይ ፋይሎችን ይመረምራሉ፣ የፕሮጀክትዎን ደንቦች አብረው ይልካሉ።
ማዋቀር እና CI
ሚስጥራዊ ፋይሎችዎን የሚያገኝ መሣሪያ፣ git hooks እና ለልቀት ማህደሮች የ GitHub Actions የሥራ ፍሰት።
ድንጋጌዎች
- Linux ወይም macOS ከ Python 3.9 ወይም ከዚያ በላይ፤ ከ pip ምንም ማስገባት የለበትም።
- Hooks ለ git፣ የርቀት ምርመራዎች ለ SSH።
መገደብ ያለባቸው ነገሮች
- ፋይሎችን እንዳሉ ያነባል። በ git ታሪክዎ ውስጥ ወደፊት የነበረ ሚስጥር በዚያው ይቆያል፡ ይቀይሩት።
- በተመረመረ ፎልደር ውስጥ ያሉ archives አይከፈቱም፤ እያንዳንዱን archive ይመርምሩ።
- የጣት ማረጋገጫ ፋይሎችን እንደ ሚስጥሮችዎ ግላዊ ያድርጉ፡ እነሱ ከ16 ቁምፊዎች ወይም ከዚያ በላይ ከሆኑ እሴቶች የመጀመሪያዎቹን 4 ቁምፊዎች ይይዛሉ።
ከመስክ ማስታወሻዎቻችን
ካናሪዎች ማግኘት ያልቻሉት በሚስጥር ስካነራችን ውስጥ የነበረው ችግር
የእኛ የመልቀቂያ ማረጋገጫ ከእያንዳንዱ ስካን በፊት ካናሪዎችን ይተክላል፣ እነሱም ሁልጊዜ ያልፉ ነበር። ችግሩ ከአንድ ደረጃ በፊት ነበር፡ ከአንድ አስተያየት ጋር የተከተለ የተጠቀሰ ሚስጥር ከጥቅሶቹ ጋር ተነብቷል። እንዴት እንዳገኘነው፣ ካናሪዎች ይህን ዓይነት ችግር ለምን እንደሚያመልፏቸው፣ እና አሁን ምን ሙከራዎች እንደሚያደርጉ።
ከሚሰራ ማሽነሪ ስብስብ የላኪ ሰንሰለት ማውጣት፣ ሚስጥሮቹን ሳይላኩ
የምንሸጣቸው ሶፍትዌር ጥቅሎች በሦስት ማሽኖች ላይ የሚስጥር ስካን ተደርጎባቸው ነው የሚጠቃለሉት። የሚፈልጉት ነገር፣ እና ከጣም ብዙ የተማርንበት የሐሰት ማንቂያዎች።
ጥያቄዎች
ከ gitleaks ወይም TruffleHog ምን ይለያል?
እነሱ ሚስጥሮች በተለምዶ እንዴት እንደሚመስሉ ይፈልጋሉ፣ በዚህም ጥሩ ናቸው። Secret Gate ሚስጥሮችዎ በእውነት ምን እንደሆኑ ያውቃል፡ የራስዎን የሚስጥር ፋይሎች ያነባል እና እነዚያን ትክክለኛ እሴቶች ይፈልጋል፣ ስለዚህ ማንኛውንም ሊታወቅ የሚችል ቅርጽ ያልሆነ የዳታቤዝ የይለፍ ቃል ወይም የውስጥ token ይያዛል። ለአንድ ቅጽበት፣ ነገር ከመላኩ በፊት፣ ተዘግቶ እንዲወድቅ (fails closed) ተደርጎ ተገንብቷል።
ሚስጥሮቼን ወደ ሌላ ቦታ ይልካል?
አይ። እሴቶች ለምርመራው ከፋይሎችዎ ወደ ማሽነሻ ማህደረ ትውስታ (memory) ይነበባሉ እና ፈጽሞ አይታተሙ፣ አይጻፉ ወይም አይላኩም፤ የጣት ማረጋገጫ ፋይል ከሰሩ፣ ሃሽ እና የእያንዳንዱን እሴት የመጀመሪያዎቹን 4 ቁምፊዎች ይይዛል። የርቀት ምርመራዎች ለመላክ የሚገቡዋቸውን ፋይሎች ወደ ራስዎ ማሽን ይልካሉ፤ የዚያ ማሽን ሚስጥሮች በዚያው ይቆያሉ።
ስለ ግራ የሚያጋቡ ማስጠንቀቂያዎችስ?
አገኝነት ማለት "ይህንን ይመልከቱ" ማለት ነው። ችግር ከሌለበት፣ ለዚያ ዓይነት አገኝነት በፕሮጀክቱ ውስጥ ገደብ ያለው የመፍቀድ ደንብ ይጨምሩ፣ ለምሳሌ የራስዎን የድጋፍ አድራሻ። ምርመራውን የሚያጠፋ ቁልፍ የለም።
የ git ታሪኬን መመርመር ይችላል?
አይ። ለመላክ የሚገቡዋቸውን ነገሮች ይመረምራል፡ ፎልደር፣ archive፣ ወይም ቀጣዩን commit። በታሪክ ውስጥ ለአስቀድሞ ያለ ሚስጥር፣ ሚስጥሩን ይቀይሩ።
ተሻሽሏል: