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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
whispers — تحديد الأسرار المضمنة بشكل ثابت في النصوص المنظمة الثابتة | Kitploit
أدوات/GitHubGitHub/skyscanner/whispers
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودتدقيق التكوينDevSecOpsكشف الأسرارأمن سلسلة التوريدArchived
GitHubskyscanner/whispers

whispers

تحديد الأسرار المضمنة بشكل ثابت في النصوص المنظمة الثابتة

عرض المستودع
50670منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Whispers Whispers

"طيوري الصغيرة في كل مكان، حتى في الشمال، يهمسون لي بأغرب القصص." - لورد فايرس

Whispers هي أداة تحليل كود ثابتة مصممة لتحليل صيغ بيانات شائعة متنوعة بحثًا عن بيانات اعتماد مكتوبة بشكل ثابت ووظائف خطرة. يمكن تشغيل Whispers من واجهة سطر الأوامر أو دمجها في خط أنابيب CI/CD الخاص بك.

يكتشف

  • كلمات المرور
  • رموز API
  • مفاتيح AWS
  • المفاتيح الخاصة
  • بيانات اعتماد مموهة
  • رموز المصادقة
  • الوظائف الخطرة
  • الملفات الحساسة

الصيغ المدعومة

تم تصميم Whispers ليكون محلل نص منظم، وليس محلل كود.

الصيغ الشائعة التالية مدعومة حاليًا:

  • YAML
  • JSON
  • XML
  • .npmrc
  • .pypirc
  • .htpasswd
  • .properties
  • pip.conf
  • conf / ini
  • Dockerfile
  • Dockercfg
  • نصوص شل
  • Python3

يتم تحليل ملفات Python3 كأشجار AST بسبب دعم اللغة الأصلي.

صيغ التصريح والإسناد

يتم تحليل ملفات اللغات التالية كنص، والتحقق من أنماط تصريح وإسناد المتغيرات الشائعة:

  • JavaScript
  • Java
  • Go
  • PHP

الصيغ الخاصة

  • ملفات بيانات اعتماد AWS
  • سلاسل اتصال JDBC
  • ملفات تكوين Jenkins
  • ملفات تكوين SpringFramework Beans
  • ملفات خصائص Java
  • ملفات مصادقة السجل الخاص Dockercfg
  • رموز GitHub

التثبيت

من PyPI

root@kitploit:~
pip3 install whispers

من GitHub

root@kitploit:~
git clone https://github.com/Skyscanner/whispers
cd whispers
make install

الاستخدام

CLI

root@kitploit:~
whispers --help
whispers --info
whispers source/code/fileOrDir
whispers --config config.yml source/code/fileOrDir
whispers --output /tmp/secrets.yml source/code/fileOrDir
whispers --rules aws-id,aws-secret source/code/fileOrDir
whispers --severity BLOCKER,CRITICAL source/code/fileOrDir
whispers --exitcode 7 source/code/fileOrDir

Python

root@kitploit:~
from whispers.cli import parse_args
from whispers.core import run

src = "tests/fixtures"
configfile = "whispers/config.yml"
args = parse_args(["-c", configfile, src])
for secret in run(args):
  print(secret)

الإعدادات

هناك العديد من خيارات التكوين المتاحة في Whispers. من الممكن تضمين/استبعاد النتائج بناءً على مسار الملف أو المفتاح أو القيمة. يتم تفسير مواصفات مسار الملف كـ globs. تقبل المفاتيح والقيم التعبيرات العادية وعدة معاملات أخرى. يوجد ملف تكوين افتراضي مدمج سيتم استخدامه إذا لم تقدم ملفًا مخصصًا.

يجب أن يكون config.yml بالهيكل التالي:

root@kitploit:~
include:
  files:
    - "**/*.yml"

exclude:
  files:
    - "**/test/**/*"
    - "**/tests/**/*"
  keys:
    - ^foo
  values:
    - bar$

rules:
  starks:
    message: Whispers from the North
    severity: CRITICAL
    value:
      regex: (Aria|Ned) Stark
      ignorecase: True

أسرع طريقة لضبط الاكتشاف (أي: إزالة الإيجابيات الكاذبة والنتائج غير المرغوب فيها) هي نسخ ملف config.yml الافتراضي إلى ملف جديد، وتكييفه، ثم تمريره كوسيطة إلى Whispers.

whispers --config config.yml --rules starks src/file/or/dir

القواعد المخصصة

تحدد القواعد الأشياء الفعلية التي يجب استخراجها من أزواج المفتاح-القيمة. هناك العديد من القواعد الشائعة المضمنة، مثل مفاتيح AWS وكلمات المرور، ولكن الأداة مصممة بحيث يمكن توسيعها بسهولة بقواعد جديدة.

  • يمكن تعريف القواعد المخصصة في ملف التكوين الرئيسي تحت rules:
  • يمكن إضافة القواعد المخصصة إلى whispers/rules
root@kitploit:~
rule-id:  # اسم قاعدة فريد
  description: قيم منسقة مثل رمز جلسة AWS
  message: رمز جلسة AWS  # سيظهر هذا التقرير هذه الرسالة
  severity: BLOCKER           # واحد من BLOCKER, CRITICAL, MAJOR, MINOR, INFO

  key:        # تحديد تنسيق المفتاح
    regex: (aws.?session.?token)?
    ignorecase: True   # مطابقة غير حساسة لحالة الأحرف

  value:      # تحديد تنسيق القيمة
    regex: ^(?=.*[a-z])(?=.*[A-Z])[A-Za-z0-9\+\/]{270,450}$
    ignorecase: False  # مطابقة حساسة لحالة الأحرف
    minlen: 270        # القيمة على الأقل بهذا الطول
    isBase64: True     # القيمة مشفرة بـ base64
    isAscii: False     # القيمة هي بيانات ثنائية عند فك التشفير
    isUri: False       # القيمة ليست منسقة مثل URI

  similar: 0.35        # أقصى تشابه مسموح به بين المفتاح والقيمة 
                       # (1.0 يعني متطابق تمامًا)

الإضافات

يتم تنفيذ جميع وظائف التحليل عبر الإضافات. كل إضافة تطبق فئة بطريقة pairs() التي تمر عبر الملفات وتعيد أزواج المفتاح-القيمة التي سيتم فحصها بالقواعد.

root@kitploit:~
class PluginName:
    def pairs(self, file):
        yield "key", "value"
تنزيل الأداة