Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
trufflehog — البحث عن بيانات الاعتماد المسربة والتحقق منها وتحليلها | Kitploit
أدوات/GitHubGitHub/trufflesecurity/trufflehog
ماسحات الثغرات الأمنيةالتحليل الديناميكي (عزل)تحليل الكودأمن السحابةDevSecOpsكشف الأسراراستخبارات التهديداتأمن سلسلة التوريدالاستجابة للحوادث
GitHubtrufflesecurity/trufflehog

trufflehog

البحث عن بيانات الاعتماد المسربة والتحقق منها وتحليلها

27.4k2.5k2منذ 21 ساعاتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودعالموقع الإلكتروني

شعار GoReleaser

TruffleHog

ابحث عن بيانات الاعتماد المسربة.


Go Report Card License Total Detectors


🔎 المسح حالياً

...والمزيد

لمعرفة المزيد عن TruffleHog وميزاته وقدراته، قم بزيارة صفحة المنتج.

🌐 TruffleHog للمؤسسات

هل أنت مهتم بمراقبة مستمرة لـ Git, Jira, Slack, Confluence, Microsoft Teams, Sharepoint (وغيرها) بحثًا عن بيانات الاعتماد؟ لدينا منتج للمؤسسات يمكن أن يساعد! تعرف على المزيد في https://trufflesecurity.com/trufflehog-enterprise.

نحن نستخدم الإيرادات من منتج المؤسسات لتمويل المزيد من المشاريع مفتوحة المصدر الرائعة التي يمكن للمجتمع بأكمله الاستفادة منها.

ما هو TruffleHog 🐽

TruffleHog هي أقوى أداة لاكتشاف وتصنيف والتحقق من صحة وتحليل الأسرار. في هذا السياق، يشير السر إلى بيانات الاعتماد التي تستخدمها آلة لمصادقة نفسها أمام آلة أخرى. يشمل ذلك مفاتيح API وكلمات مرور قواعد البيانات ومفاتيح التشفير الخاصة والمزيد.

الاكتشاف 🔍

يمكن لـ TruffleHog البحث عن الأسرار في العديد من الأماكن بما في ذلك Git والمحادثات والويكي والسجلات ومنصات اختبار API ومخازن الكائنات وأنظمة الملفات والمزيد.

التصنيف 📁

يقوم TruffleHog بتصنيف أكثر من 800 نوع من الأسرار، وربطها بالهوية المحددة التي تنتمي إليها. هل هو سر AWS؟ سر Stripe؟ سر Cloudflare؟ كلمة مرور Postgres؟ مفتاح SSL خاص؟ أحيانًا يكون من الصعب التمييز بمجرد النظر إليه، لذا يقوم TruffleHog بتصنيف كل ما يجده.

التحقق من الصحة ✅

لكل سر يمكن لـ TruffleHog تصنيفه، يمكنه أيضًا تسجيل الدخول لتأكيد ما إذا كان ذلك السر نشطًا أم لا. هذه الخطوة حاسمة لمعرفة ما إذا كان هناك خطر نشط حالي أم لا.

التحليل 🔬

بالنسبة لحوالي 20 نوعًا من أنواع بيانات الاعتماد الأكثر تسربًا، بدلاً من إرسال طلب واحد للتحقق مما إذا كان السر يمكنه تسجيل الدخول، يمكن لـ TruffleHog إرسال العديد من الطلبات لمعرفة كل شيء عن السر. من الذي أنشأه؟ ما الموارد التي يمكنه الوصول إليها؟ ما الأذونات التي يمتلكها على تلك الموارد؟

📢 انضم إلى مجتمعنا

هل لديك أسئلة؟ ملاحظات؟ انضم إلى Slack أو Discord وتحدث معنا.

انضم إلى مجتمع Slack

انضم إلى Discord لمسح الأسرار

📺 عرض توضيحي

GitHub scanning demo```bash docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=trufflesecurity

root@kitploit:~
# :floppy_disk: التثبيت

عدة خيارات متاحة لك:

### مستخدمو MacOS```bash
brew install trufflehog

Docker:

تأكد من تشغيل محرك Docker قبل تنفيذ الأوامر التالية:

    Unix```bash

docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys

root@kitploit:~
####     موجه أوامر ويندوز```bash
docker run --rm -it -v "%cd:/=\%:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys

    Windows PowerShell```bash

docker run --rm -it -v "${PWD}:/pwd" trufflesecurity/trufflehog github --repo https://github.com/trufflesecurity/test_keys

root@kitploit:~
####     M1 and M2 Mac```bash
docker run --platform linux/arm64 --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys

الإصدارات الثنائية```bash

Download and unpack from https://github.com/trufflesecurity/trufflehog/releases

root@kitploit:~
### تجميع من المصدر```bash
git clone https://github.com/trufflesecurity/trufflehog.git
cd trufflehog; go install

استخدام سكريبت التثبيت```bash

curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin

root@kitploit:~
### استخدام نص التثبيت، التحقق من توقيع المجموع الاختباري (يتطلب تثبيت cosign)```bash
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -v -b /usr/local/bin

استخدام سكريبت التثبيت لتثبيت إصدار معين```bash

curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin

root@kitploit:~
# :closed_lock_with_key: التحقق من القطع الأثرية

يتم تطبيق المجاميع الاختبارية (checksums) على جميع القطع الأثرية، ويتم توقيع ملف المجموع الاختباري الناتج باستخدام cosign.

تحتاج إلى الأداة التالية للتحقق من التوقيع:

- [Cosign](https://docs.sigstore.dev/cosign/system_config/installation/)

خطوات التحقق هي كما يلي:

1. قم بتنزيل ملفات القطع الأثرية التي تريدها، والملفات التالية من صفحة [الإصدارات](https://github.com/trufflesecurity/trufflehog/releases).

   - trufflehog\_{version}\_checksums.txt
   - trufflehog\_{version}\_checksums.txt.pem
   - trufflehog\_{version}\_checksums.txt.sig

2. تحقق من التوقيع:   ```shell
   cosign verify-blob <path to trufflehog_{version}_checksums.txt> \
   --certificate <path to trufflehog_{version}_checksums.txt.pem> \
   --signature <path to trufflehog_{version}_checksums.txt.sig> \
   --certificate-identity-regexp 'https://github\.com/trufflesecurity/trufflehog/\.github/workflows/.+' \
   --certificate-oidc-issuer "https://token.actions.githubusercontent.com"
  1. بمجرد تأكيد صحة التوقيع، يمكنك المتابعة للتحقق من تطابق مجاميع SHA256 مع الملف الذي تم تنزيله: ```shell sha256sum --ignore-missing -c trufflehog_{version}_checksums.txt
    root@kitploit:~

استبدل {version} بإصدار الملفات التي تم تنزيلها

بدلاً من ذلك، إذا كنت تستخدم برنامج التثبيت، فمرر الخيار -v للتحقق من التوقيع. يتطلب ذلك تثبيت ثنائي Cosign قبل تشغيل برنامج التثبيت.

🚀 بداية سريعة

1: امسح مستودعًا بحثًا عن الأسرار المؤكدة فقط

الأمر:```bash trufflehog git https://github.com/trufflesecurity/test_keys --results=verified

root@kitploit:~
المخرجات المتوقعة:```
🐷🔑🐷  TruffleHog. Unearth your secrets. 🐷🔑🐷

Found verified result 🐷🔑
Detector Type: AWS
Decoder Type: PLAIN
Raw result: AKIAYVP4CIPPERUVIFXG
Line: 4
Commit: fbc14303ffbf8fb1c2c1914e8dda7d0121633aca
File: keys
Email: counter <[email protected]>
Repository: https://github.com/trufflesecurity/test_keys
Timestamp: 2022-06-16 10:17:40 -0700 PDT
...

2: مسح منظمة GitHub للأسرار الموثقة فقط```bash

trufflehog github --org=trufflesecurity --results=verified

root@kitploit:~
## 3: مسح منظمة GitHub باستثناء المستودعات المؤرشفة```bash
trufflehog github --org=trufflesecurity --exclude-archived

4: امسح مستودع GitHub للأسرار المؤكدة فقط واحصل على مخرجات JSON

الأمر:```bash trufflehog git https://github.com/trufflesecurity/test_keys --results=verified --json

root@kitploit:~
المخرجات المتوقعة:```
{"SourceMetadata":{"Data":{"Git":{"commit":"fbc14303ffbf8fb1c2c1914e8dda7d0121633aca","file":"keys","email":"counter \[email protected]\u003e","repository":"https://github.com/trufflesecurity/test_keys","timestamp":"2022-06-16 10:17:40 -0700 PDT","line":4}}},"SourceID":0,"SourceType":16,"SourceName":"trufflehog - git","DetectorType":2,"DetectorName":"AWS","DecoderName":"PLAIN","Verified":true,"Raw":"AKIAYVP4CIPPERUVIFXG","Redacted":"AKIAYVP4CIPPERUVIFXG","ExtraData":{"account":"595918472158","arn":"arn:aws:iam::595918472158:user/canarytokens.com@@mirux23ppyky6hx3l6vclmhnj","user_id":"AIDAYVP4CIPPJ5M54LRCY"},"StructuredData":null}
...

5: مسح مستودع GitHub + مشكلاته وطلبات السحب```bash

trufflehog github --repo=https://github.com/trufflesecurity/test_keys --issue-comments --pr-comments

root@kitploit:~
## 6: مسح S3 bucket للحصول على نتائج عالية الثقة (verified + unknown)```bash
trufflehog s3 --bucket=<bucket name> --results=verified,unknown

7: فحص S3 buckets باستخدام IAM Roles```bash

trufflehog s3 --role-arn=

root@kitploit:~
## 8: فحص مستودع Github باستخدام مصادقة SSH في Docker```bash
docker run --rm -v "$HOME/.ssh:/root/.ssh:ro" trufflesecurity/trufflehog:latest git ssh://github.com/trufflesecurity/test_keys

9: امسح الملفات أو الدلائل الفردية```bash

trufflehog filesystem path/to/file1.txt path/to/file2.txt path/to/dir

root@kitploit:~
## 10: مسح مستودع git محلي

استنساخ مستودع git. على سبيل المثال مستودع [مفاتيح الاختبار](https://github.com/trufflesecurity/trufflehog/blob/HEAD/[email protected]:trufflesecurity/test_keys.git).```bash
git clone [email protected]:trufflesecurity/test_keys.git

قم بتشغيل trufflehog من الدليل الأصلي (خارج مستودع git).```bash trufflehog git file://test_keys --results=verified,unknown

root@kitploit:~
للحماية من إعدادات git الخبيثة في الفحص المحلي (انظر CVE-2025-41390)، يقوم TruffleHog باستنساخ مستودعات git المحلية إلى دليل مؤقت قبل الفحص. يتبع هذا [أفضل ممارسات الأمان في Git](https://git-scm.com/docs/git#_security). إذا كنت ترغب في تحديد مسار مخصص لاستنساخ المستودع إليه (بدلاً من tmp)، يمكنك استخدام العلامة `--clone-path`. إذا كنت تفضل تخطي عملية الاستنساخ المحلية وفحص المستودع مباشرةً (افعل هذا فقط للمستودعات الموثوقة)، يمكنك استخدام العلامة `--trust-local-git-config`.

## 11: امسح دلاء GCS للحصول على الأسرار المُتحقق منها فقط```bash
trufflehog gcs --project-id=<project-ID> --cloud-environment --results=verified

12: مسح صورة Docker للأسرار التي تم التحقق منها فقط

استخدم علامة --image عدة مرات لمسح عدة صور.```bash

to scan from a remote registry

trufflehog docker --image trufflesecurity/secrets --results=verified

to scan from the local docker daemon

trufflehog docker --image docker://new_image:tag --results=verified

to scan from an image saved as a tarball

trufflehog docker --image file://path_to_image.tar --results=verified

root@kitploit:~
## 13: المسح في CI

قم بتعيين العلامة `--since-commit` إلى الفرع الافتراضي الذي يدمج فيه المستخدمون (مثل: "main"). قم بتعيين العلامة `--branch` إلى اسم فرع طلب السحب الخاص بك (مثل: "feature-1"). اعتمادًا على منصة CI/CD التي تستخدمها، يمكن جلب هذه القيمة ديناميكيًا (مثل: [CIRCLE_BRANCH في Circle CI](https://circleci.com/docs/variables/) و [TRAVIS_PULL_REQUEST_BRANCH في Travis CI](https://docs.travis-ci.com/user/environment-variables/)). إذا تم استنساخ المستودع وتم سحب الفرع المستهدف بالفعل أثناء سير عمل CI/CD، فإن `--branch HEAD` يجب أن يكون كافيًا. ستُرجع العلامة `--fail` رمز خطأ 183 إذا تم العثور على بيانات اعتماد صالحة.```bash
trufflehog git file://. --since-commit main --branch feature-1 --results=verified,unknown --fail

١٤: مسح مساحة عمل Postman

استخدم العلامات --workspace-id, --collection-id, --environment عدة مرات لمسح أهداف متعددة.```bash trufflehog postman --token= --workspace-id=

root@kitploit:~
## 15: مسح خادم Jenkins```bash
trufflehog jenkins --url https://jenkins.example.com --username admin --password admin

16: مسح خادم Elasticsearch

مسح مجموعة محلية

هناك طريقتان للمصادقة على مجموعة محلية باستخدام TruffleHog: (1) اسم المستخدم وكلمة المرور، (2) رمز الخدمة.

الاتصال بمجموعة محلية باستخدام اسم المستخدم وكلمة المرور```bash

trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --username truffle --password hog

root@kitploit:~
#### الاتصال بمجموعة محلية باستخدام رمز خدمة```bash
trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --service-token ‘AAEWVaWM...Rva2VuaSDZ’

مسح مجموعة Elastic Cloud

لمسح مجموعة على Elastic Cloud، ستحتاج إلى Cloud ID و API key.```bash trufflehog elasticsearch
--cloud-id 'search-prod:dXMtY2Vx...YjM1ODNlOWFiZGRlNjI0NA=='
--api-key 'MlVtVjBZ...ZSYlduYnF1djh3NG5FQQ=='

root@kitploit:~
## 17. امسح مستودع GitHub بحثًا عن Cross Fork Object References والالتزامات المحذوفة

سيعمل الأمر التالي على تعداد الالتزامات المحذوفة والمخفية في مستودع GitHub ثم يقوم بمسحها بحثًا عن الأسرار. هذه ميزة في إصدار ألفا.```bash
trufflehog github-experimental --repo https://github.com/<USER>/<REPO>.git --object-discovery

بالإضافة إلى إخراج TruffleHog العادي، يقوم العلم --object-discovery بإنشاء ملفين في دليل جديد $HOME/.trufflehog: valid_hidden.txt وinvalid.txt. تُستخدم هذه لتتبع الحالة أثناء تعداد الالتزامات، وكذلك لتزويد المستخدمين بقائمة كاملة بجميع الالتزامات المخفية والمحذوفة (valid_hidden.txt). إذا كنت ترغب في إزالة هذه الملفات تلقائيًا بعد الفحص، فيرجى إضافة العلم --delete-cached-data.

ملاحظة: يستغرق تعداد جميع الالتزامات الصالحة في مستودع باستخدام هذه الطريقة ما بين 20 دقيقة وعدة ساعات، اعتمادًا على حجم مستودعك. أضفنا شريط تقدم لإطلاعك على المدة التي سيستغرقها التعداد. عملية فحص الأسرار الفعلية سريعة جدًا.

لمزيد من المعلومات حول مراجع الكائنات عبر التشعبات، يرجى قراءة مقالنا على المدونة.

18. فحص Hugging Face

فحص نموذج، مجموعة بيانات، مساحة أو حاوية Hugging Face```bash

trufflehog huggingface
--model <model_id>
--dataset <dataset_id>
--space <space_id>
--bucket <bucket_id>

root@kitploit:~
### امسح جميع Models و Datasets و Spaces و Buckets التابعة لمنظمة أو مستخدم Hugging Face```bash
trufflehog huggingface --org <orgname> --user <username>

(اختياريًا) عند مسح مؤسسة أو مستخدم، يمكنك تخطي فئة كاملة من الموارد باستخدام --skip-all-models, --skip-all-datasets, --skip-all-spaces, --skip-all-buckets أو مورد معين باستخدام --ignore-models <model_id>, --ignore-datasets <dataset_id>, --ignore-spaces <space_id>, --ignore-buckets <bucket_id>.

مسح التعليقات في المناقشات وطلبات السحب (PR)```bash

trufflehog huggingface --model <model_id> --include-discussions --include-prs

root@kitploit:~
## 19. مسح إدخال stdin```bash
aws s3 cp s3://example/gzipped/data.gz - | gunzip -c | trufflehog stdin

❓ الأسئلة الشائعة

  • كل ما أراه هو 🐷🔑🐷 TruffleHog. Unearth your secrets. 🐷🔑🐷 ويخرج البرنامج، ما الأمر؟
    • هذا يعني أنه لم يتم اكتشاف أي أسرار
  • لماذا تستغرق الفحص وقتًا طويلاً عند فحص مؤسسة GitHub؟
    • فحوصات GitHub غير المصادق عليها لها حدود للمعدل. لتحسين حدود المعدل، قم بتضمين العلم --token مع رمز وصول شخصي
  • تقول إنه تم التحقق من مفتاح خاص، ماذا يعني ذلك؟
    • النتيجة المؤكدة تعني أن TruffleHog أكد أن بيانات الاعتماد صالحة عن طريق اختبارها ضد واجهة برمجة التطبيقات الخاصة بالخدمة. بالنسبة للمفاتيح الخاصة، أكدنا أنه يمكن استخدام المفتاح مباشرة لمصادقة SSH أو SSL. اطلع على منشور مدونتنا Driftwood لمعرفة المزيد منشور المدونة
  • هل هناك طريقة سهلة لتجاهل أسرار معينة؟
    • إذا كان المصدر الممسوح يدعم أرقام الأسطر، فيمكنك إضافة تعليق trufflehog:ignore على السطر الذي يحتوي على السر لتجاهل هذا السر.

📰 ما الجديد في الإصدار 3؟

TruffleHog v3 هي إعادة كتابة كاملة بلغة Go مع العديد من الميزات الجديدة والقوية.

  • لقد أضفنا أكثر من 700 كاشف لبيانات الاعتماد تدعم التحقق النشط ضد واجهات برمجة التطبيقات الخاصة بها.
  • لقد أضفنا أيضًا دعمًا أصليًا لمسح GitHub و GitLab و Docker وأنظمة الملفات و S3 و GCS و Circle CI و Travis CI.
  • تحقق فوريًا من المفاتيح الخاصة مقابل ملايين مستخدمي GitHub ومليارات شهادات TLS باستخدام تقنيتنا Driftwood.
  • مسح الملفات الثنائية والمستندات وتنسيقات الملفات الأخرى
  • متاح كإجراء GitHub وخطاف pre-commit

ما هو التحقق من بيانات الاعتماد؟

لكل بيانات اعتماد محتملة يتم اكتشافها، قمنا بتنفيذ التحقق البرمجي بعناية ضد واجهة برمجة التطبيقات التي نعتقد أنها تنتمي إليها. التحقق يزيل النتائج الإيجابية الكاذبة ويوفر ثلاث حالات للنتيجة:

  • تم التحقق: تم تأكيد صلاحية بيانات الاعتماد ونشاطها عن طريق اختبار واجهة برمجة التطبيقات
  • غير مؤكد: تم اكتشاف بيانات الاعتماد ولكن لم يتم تأكيد صلاحيتها (قد تكون غير صالحة أو منتهية الصلاحية أو تم تعطيل التحقق)
  • غير معروف: تمت محاولة التحقق ولكن فشلت بسبب أخطاء، مثل فشل الشبكة أو واجهة برمجة التطبيقات

على سبيل المثال، يقوم كاشف بيانات اعتماد AWS بإجراء استدعاء لواجهة برمجة التطبيقات GetCallerIdentity ضد واجهة برمجة تطبيقات AWS للتحقق مما إذا كانت بيانات اعتماد AWS نشطة.

📝 الاستخدام

لدى TruffleHog أمر فرعي لكل مصدر بيانات قد ترغب في مسحه:

  • git
  • github
  • gitlab
  • huggingface
  • docker
  • s3
  • filesystem (الملفات والدلائل)
  • syslog
  • circleci
  • travisci
  • gcs (تخزين Google السحابي)
  • postman
  • jenkins
  • elasticsearch
  • stdin
  • multi-scan

يمكن أن يحتوي كل أمر فرعي على خيارات يمكنك رؤيتها باستخدام العلم --help المقدم للأمر الفرعي:``` $ trufflehog git --help usage: TruffleHog [] [ ...]

TruffleHog is a tool for finding credentials.

Flags: -h, --[no-]help Show context-sensitive help (also try --help-long and --help-man). --log-level=0 Logging verbosity on a scale of 0 (info) to 5 (trace). Can be disabled with "-1". --[no-]profile Enables profiling and sets a pprof and fgprof server on :18066. -j, --[no-]json Output in JSON format. --[no-]json-legacy Use the pre-v3.0 JSON format. Only works with git, gitlab, and github sources. --[no-]github-actions Output in GitHub Actions format. --concurrency=12 Number of concurrent workers. --[no-]no-verification Don't verify the results. --results=RESULTS Specifies which type(s) of results to output: verified (confirmed valid by API), unknown (verification failed due to error), unverified (detected but not verified), filtered_unverified (unverified but would have been filtered out). Defaults to verified,unverified,unknown. --[no-]no-color Disable colorized output --[no-]allow-verification-overlap Allow verification of similar credentials across detectors --[no-]filter-unverified Only output first unverified result per chunk per detector if there are more than one results. --filter-entropy=FILTER-ENTROPY Filter unverified results with Shannon entropy. Start with 3.0. --config=CONFIG Path to configuration file. --[no-]print-avg-detector-time Print the average time spent on each detector. --[no-]no-update Don't check for updates. --[no-]fail Exit with code 183 if results are found. --[no-]fail-on-scan-errors Exit with non-zero error code if an error occurs during the scan. --verifier=VERIFIER ... Set custom verification endpoints. --[no-]custom-verifiers-only Only use custom verification endpoints. --detector-timeout=DETECTOR-TIMEOUT Maximum time to spend scanning chunks per detector (e.g., 30s). --archive-max-size=ARCHIVE-MAX-SIZE Maximum size of archive to scan. (Byte units eg. 512B, 2KB, 4MB) --archive-max-depth=ARCHIVE-MAX-DEPTH Maximum depth of archive to scan. --archive-timeout=ARCHIVE-TIMEOUT Maximum time to spend extracting an archive. --include-detectors="all" Comma separated list of detector types to include. Protobuf name or IDs may be used, as well as ranges. --exclude-detectors=EXCLUDE-DETECTORS Comma separated list of detector types to exclude. Protobuf name or IDs may be used, as well as ranges. IDs defined here take precedence over the include list. --[no-]no-verification-cache Disable verification caching --[no-]force-skip-binaries Force skipping binaries. --[no-]force-skip-archives Force skipping archives. --[no-]skip-additional-refs Skip additional references. --user-agent-suffix=USER-AGENT-SUFFIX Suffix to add to User-Agent. --[no-]version Show application version.

Commands: help [...] Show help.

git []

root@kitploit:~
Find credentials in git repositories.

github [] Find credentials in GitHub repositories.

github-experimental --repo=REPO [] Run an experimental GitHub scan. Must specify at least one experimental sub-module to run: object-discovery.

gitlab --token=TOKEN [] Find credentials in GitLab repositories.

filesystem [] [...] Find credentials in a filesystem.

s3 [] Find credentials in S3 buckets.

gcs [] Find credentials in GCS buckets.

syslog --format=FORMAT [] Scan syslog

circleci --token=TOKEN Scan CircleCI

docker [] Scan Docker Image

travisci --token=TOKEN Scan TravisCI

postman [] Scan Postman

elasticsearch [] Scan Elasticsearch

jenkins --url=URL [] Scan Jenkins

huggingface [] Find credentials in HuggingFace datasets, models and spaces.

stdin Find credentials from stdin.

multi-scan Find credentials in multiple sources defined in configuration.

json-enumerator [...] Find credentials from a JSON enumerator input.

analyze Analyze API keys for fine-grained permissions information.

root@kitploit:~
على سبيل المثال، لمسح مستودع `git`، ابدأ بـ```
trufflehog git https://github.com/trufflesecurity/trufflehog.git

الإعدادات

يدعم TruffleHog تعريف كاشفات regex مخصصة ومصادر متعددة في ملف إعدادات يتم توفيره عبر العلم --config. يمكن استخدام كاشفات regex مع أي أمر فرعي، بينما المصادر المعرفة في الإعدادات مخصصة فقط للأمر الفرعي multi-scan.

يمكن العثور على تنسيق الإعدادات للمصادر في صفحة وثائق تكوين المصادر الخاصة بـ Truffle Security.

مثال على تكوين مصدر GitHub و مرجع الخيارات:```yaml sources:

  • connection: '@type': type.googleapis.com/sources.GitHub repositories:
    • https://github.com/trufflesecurity/test_keys.git unauthenticated: {} name: example config scan type: SOURCE_TYPE_GITHUB verify: true
root@kitploit:~
يمكنك تعريف عدة اتصالات تحت مفتاح `sources` (انظر أعلاه)، وسيقوم TruffleHog بمسح جميع المصادر بالتزامن.

## S3

يدعم مصدر S3 افتراض أدوار IAM للمسح بالإضافة إلى مستخدمي IAM. وهذا يسهل على المستخدمين مسح حسابات AWS متعددة دون الحاجة إلى الاعتماد على بيانات اعتماد مشفرة ثابتة لكل حساب.

الهوية IAM التي يستخدمها TruffleHog في البداية ستحتاج إلى صلاحيات `AssumeRole` كمدير أساسي في [سياسة الثقة](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/) لكل دور IAM يتم افتراضه.

لمسح حاوية محددة باستخدام بيانات اعتماد محلية أو بيانات تعريف المثيل إذا كنت على مثيل EC2:```bash
trufflehog s3 --bucket=<bucket-name>

لمسح دلو معين باستخدام دور مفترض:```bash trufflehog s3 --bucket= --role-arn=

root@kitploit:~
يمكن تمرير أدوار متعددة كوسائط منفصلة. سيحاول الأمر التالي مسح كل bucket يمتلك كل دور أذونات لسرده في S3 API:```bash
trufflehog s3 --role-arn=<iam-role-arn-1> --role-arn=<iam-role-arn-2>

رموز الخروج:

  • 0: لم يتم العثور على أخطاء ولا نتائج.
  • 1: تم العثور على خطأ. قد لا تكون المصادر قد أكملت الفحص.
  • 183: لم يتم العثور على أخطاء، ولكن تم العثور على نتائج. سيتم إرجاعه فقط إذا تم استخدام العلم --fail.

:octocat: إجراء TruffleHog على GitHub

الاستخدام العام```

on: push: branches: - main pull_request:

jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Secret Scanning uses: trufflesecurity/trufflehog@main with: extra_args: --results=verified,unknown

root@kitploit:~
في مثال التكوين أعلاه، نقوم بمسح الأسرار الحية في جميع طلبات السحب (PRs) والدفعات (Pushes) إلى `main`. يتم مسح تغييرات الكود فقط في المراجع المذكورة. إذا كنت ترغب في مسح فرع كامل، يُرجى الاطلاع على قسم "الاستخدام المتقدم" أدناه.

### الاستنساخ الضحل

إذا كنت تقوم بدمج TruffleHog في سير عمل مستقل ولا تقوم بتشغيل أي أدوات CI/CD أخرى إلى جانب TruffleHog، فإننا نوصي باستخدام [الاستنساخ الضحل](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt) لتسريع سير العمل. إليك مثال على كيفية القيام بذلك:```
...
      - shell: bash
        run: |
          if [ "${{ github.event_name }}" == "push" ]; then
            echo "depth=$(($(jq length <<< '${{ toJson(github.event.commits) }}') + 2))" >> $GITHUB_ENV
            echo "branch=${{ github.ref_name }}" >> $GITHUB_ENV
          fi
          if [ "${{ github.event_name }}" == "pull_request" ]; then
            echo "depth=$((${{ github.event.pull_request.commits }}+2))" >> $GITHUB_ENV
            echo "branch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV
          fi
      - uses: actions/checkout@v3
        with:
          ref: ${{env.branch}}
          fetch-depth: ${{env.depth}}
      - uses: trufflesecurity/trufflehog@main
        with:
          extra_args: --results=verified,unknown
...

اعتمادًا على نوع الحدث (push أو PR)، نقوم بحساب عدد الالتزامات الموجودة. ثم نضيف 2، لنتمكن من الرجوع إلى التزام أساسي قبل تغييرات الكود الخاصة بنا. نمرر هذه القيمة الصحيحة إلى علامة fetch-depth في إجراء checkout بالإضافة إلى الفرع ذي الصلة. الآن يجب أن تكون عملية checkout أقصر بكثير.

الكشف عن الكناري

يكتشف TruffleHog بشكل ثابت https://canarytokens.org/.

image

الاستخدام المتقدم```yaml

  • name: TruffleHog uses: trufflesecurity/trufflehog@main with:

    Repository path

    path:

    Start scanning from here (usually main branch).

    base:

    Scan commits until here (usually dev branch).

    head: # optional

    Extra args to be passed to the trufflehog cli.

    extra_args: --log-level=2 --results=verified,unknown

    Scan with a specific TruffleHog version (default: latest).

    version:

    Docker image to pull. Override to use a registry mirror (default: ghcr.io/trufflesecurity/trufflehog).

    image:
root@kitploit:~
إذا كنت ترغب في تحديد مراجع `base` و `head` محددة، يمكنك استخدام الوسيط `base` (علامة `--since-commit` في سطر أوامر TruffleHog) والوسيط `head` (علامة `--branch` في سطر أوامر TruffleHog). نوصي فقط باستخدام هذه الوسائط لحالات استخدام محددة جدًا، حيث لا يعمل السلوك الافتراضي.

#### الاستخدام المتقدم: مسح الفرع بالكامل```
- name: scan-push
        uses: trufflesecurity/trufflehog@main
        with:
          base: ""
          head: ${{ github.ref_name }}
          extra_args: --results=verified,unknown

TruffleHog GitLab CI

مثال الاستخدام```yaml

stages:

  • security

security-secrets: stage: security allow_failure: false image: alpine:latest variables: SCAN_PATH: "." # Set the relative path in the repo to scan before_script: - apk add --no-cache git curl jq - curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin script: - trufflehog filesystem "$SCAN_PATH" --results=verified,unknown --fail --json | jq rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'

root@kitploit:~
في مثال المسار أعلاه، نقوم بفحص الأسرار الحية في جميع أدلة وملفات المستودع. هذه المهمة تعمل فقط عندما يكون مصدر المسار حدث طلب دمج، مما يعني أنه يتم تشغيلها عند إنشاء طلب دمج جديد.

## Pre-commit Hook

يمكن استخدام TruffleHog في خطاف ما قبل الالتزام لمنع تسرب بيانات الاعتماد قبل أن تغادر جهازك على الإطلاق.

راجع [وثائق خطاف ما قبل الالتزام](https://github.com/trufflesecurity/trufflehog/blob/HEAD/PreCommit.md) لمزيد من المعلومات.

## كاشف التعبير العادي المخصص (alpha)

يدعم TruffleHog كشف والتحقق من التعبيرات العادية المخصصة. للكشف، يلزم وجود **تعبير عادي** واحد على الأقل و**كلمة مفتاحية**. **الكلمة المفتاحية** هي معرف سلسلة نصية ثابتة يظهر في التعبير العادي أو حوله ليتم كشفه. للسماح بأقصى قدر من المرونة للتحقق، يتم استخدام webhook يحتوي على نتائج التطابق للتعبير العادي.

سيرسل TruffleHog طلب POST بصيغة JSON يحتوي على نتائج التطابق للتعبير العادي إلى نقطة نهاية webhook مهيأة. إذا استجابت نقطة النهاية برمز حالة استجابة `200 OK`، فإن السر يعتبر موثوقًا. إذا فشل التحقق بسبب أخطاء الشبكة/API، يتم وضع علامة على النتيجة بأنها غير معروفة.

تدعم الكاشفات المخصصة عددًا من آليات التصفية المختلفة: الإنتروبيا، التعبير العادي المستهدف للمطابقة بأكملها، التعبير العادي المستهدف للسر الملتقط، وقوائم الكلمات المستبعدة التي يتم التحقق منها مقابل السر (المجموعة الملتقطة إن وجدت، المطابقة بأكملها إذا لم تكن مجموعة الالتقاط موجودة). لاحظ أنه إذا كان الكاشف المخصص الخاص بك يحتوي على عدة `regex` (في هذا المثال `hogID` و `hogToken`)، فسيتم تطبيق المرشحات على كل تعبير عادي. [هنا](https://github.com/trufflesecurity/trufflehog/blob/HEAD/examples/generic_with_filters.yml) مثال على كاشف مخصص يستخدم هذه المرشحات.

**ملاحظة:** هذه الميزة في مرحلة ألفا وقابلة للتغيير.

### مثال على كاشف التعبير العادي
[هنا](https://github.com/trufflesecurity/trufflehog/blob/HEAD/pkg/custom_detectors/CUSTOM_DETECTORS.md) كيفية إعداد كاشف تعبير عادي مخصص مع خادم تحقق.

## كشف JWT العام

يدعم TruffleHog كشف والتحقق من مجموعة فرعية من JWTs العامة التي يجدها. على وجه التحديد، إذا كان JWT يستخدم تشفير المفتاح العام بدلاً من HMAC ويمكن الحصول على المفتاح العام، فيمكن لـ TruffleHog تحديد ما إذا كان JWT حيًا أم لا.

## :mag: تحليل

يدعم TruffleHog تشغيل تحليل أعمق لبيانات الاعتماد لعرض صلاحياتها والموارد التي يمكنها الوصول إليها.```bash
trufflehog analyze

❤️ المساهمون

هذا المشروع موجود بفضل جميع الأشخاص الذين يساهمون. [ساهم].

💻 المساهمة

المساهمات مرحب بها جداً! يرجى الاطلاع على إرشادات المساهمة أولاً.

لم نعد نقبل المساهمات في TruffleHog v2، لكن هذا الكود متاح في فرع v2.

إضافة كاشفات أسرار جديدة

لقد نشرنا بعض الوثائق والأدوات للبدء في إضافة كاشفات أسرار جديدة. دعنا نحسن الكشف معاً!

الاستخدام كمكتبة

حالياً، trufflehog في مرحلة تطوير مكثف ولا يمكن تقديم أي ضمانات بشأن استقرار واجهات برمجة التطبيقات العامة في هذا الوقت.

تغيير الترخيص

منذ v3.0، تم إصدار TruffleHog بموجب ترخيص AGPL 3، المضمن في LICENSE. لا يستخدم TruffleHog v3.0 أيًا من قاعدة الكود السابقة، ولكن تم أخذ الحرص للحفاظ على التوافق العكسي في واجهة سطر الأوامر. العمل السابق لهذا الإصدار لا يزال متاحًا بموجب ترخيص GPL 2.0 في تاريخ هذا المستودع والإصدارات والعلامات السابقة للحزمة. مطلوب اتفاقية ترخيص مساهم (CLA) مكتملة لقبول المساهمات مستقبلاً.

تنزيل الأداة