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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
packj — أداة تحليل ثابتة وديناميكية تقوم بتدقيق الحزم مفتوحة المصدر بحثًا عن السمات الخبيثة والضعيفة والخطيرة، مع تثبيت في وضع الحماية لمنع هجمات سلسلة التوريد. | Kitploit
أدوات/GitHubGitHub/ossillate-inc/packj
التحليل الثابتماسحات الثغرات الأمنيةالتحليل الديناميكي (عزل)تحليل البرمجيات الخبيثةDevSecOpsأمن سلسلة التوريد
GitHubossillate-inc/packj

packj

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

عرض المستودع
6913731منذ 13 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

  Packj يُعلّم عن الحزم مفتوحة المصدر الخبيثة/الخطيرة

Packj (تُنطق package) هي أداة للمساعدة في تخفيف هجمات سلسلة توريد البرمجيات. يمكنها اكتشاف الحزم الخبيثة، الضعيفة، المهجورة، ذات الأسماء المتشابهة (typo-squatting)، وغيرها من الحزم "الخطيرة" من سجلات الحزم مفتوحة المصدر الشهيرة، مثل NPM وRubyGems وPyPI. يمكن تخصيصها بسهولة لتقليل الضوضاء. بدأ Packj كمشروع بحث دكتوراه ويتم تطويره حاليًا بموجب منح حكومية متنوعة.

GitHub Stars Prs Welcome Github Commit Activity Discord License: AGPL v3 Docker

ملاحظة خادم Packj المستضاف ذاتيًا والعديد من عمليات التكامل قادمة في وقت لاحق من هذا الشهر 👊 تابع هذا المستودع للبقاء على اطلاع.

demo video

المحتويات

  • ابدأ - متاح كصورة Docker وإجراء GitHub وحزم
  • الوظائف - تحليل عميق للكود الثابت/الديناميكي والعزل
  • الأنظمة البيئية المدعومة - NPM، PyPI، Rubygems، PHP، Rust
  • قصتنا - بدأ كمشروع بحث دكتوراه ومدعوم بمنح حكومية
  • لماذا Packj - ماسحات CVE الحالية تفترض أن الكود غير ضار ولا تحلل سلوكه
  • التخصيص - إيقاف التنبيهات وفقًا لنموذج التهديد الخاص بك لتقليل الضوضاء
  • البرامج الضارة التي تم العثور عليها - تم الإبلاغ عن أكثر من 70 حزمة خبيثة من PyPI وRubyGems
  • محادثات وفيديوهات - عروض تقديمية من PyCon وOpenSourceSummit وBlackHAT
  • خريطة الطريق للمشروع - عرض أو اقتراح ميزات جديدة؛ انضم إلى قناة الديسكورد
  • الفريق والتعاون - بقيادة باحثين في الأمن السيبراني من الأوساط الأكاديمية/الصناعية
  • الأسئلة الشائعة - مديري الحزم المدعومين، أسئلة شائعة حول التقنيات، والمزيد

ابدأ

نحن ندعم عدة نماذج للنشر:

1. مشغل GitHub

استخدم Packj لتدقيق التبعيات في طلبات السحب.```yaml

  • name: Packj Security Audit uses: ossillate-inc/packj-[email protected] with:

    TODO: replace with your dependency files in the repo

    DEPENDENCY_FILES: pypi:requirements.txt,npm:package.json,rubygems:Gemfile REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
عرض على GitHub [marketplace](https://github.com/marketplace/actions/packj-security-audit). مثال [تشغيل PR](https://github.com/ossillate-inc/packj-github-action-demo/pull/3#issuecomment-1274797138).

### 2. صورة Docker (موصى به)

أسرع طريقة لتجربة/اختبار Packj هي باستخدام Docker. كما أن Podman مدعوم للتشغيل المعزول (باستخدام الحاويات).```
docker run -v /tmp:/tmp/packj -it ossillate/packj:latest --help

3. المستودع المصدر

استنساخ هذا المستودع،``` git clone https://github.com/ossillate-inc/packj.git && cd packj

تثبيت التبعيات```
bundle install && pip3 install -r requirements.txt

ابدأ بالمساعدة:``` python3 main.py --help

# الأنظمة البيئية المدعومة #

يمكن لـ Packj مراجعة الحزم المنشورة من سجلات NPM و PyPI و Rust و PHP و Rubygems. دعم Rust و PHP قيد التطوير. نحن نضيف الدعم بنشاط للسجلات.
كما يدعم مراجعة الحزم المحلية (غير المنشورة) لـ NPM و PyPI.

| السجل       | النظام البيئي  | مدعوم            |
| ---------   | ----------   | ----------------- |
| NPM         | JavaScript   | :white_check_mark: |
| PyPI        | Python       | :white_check_mark: |
| Cargo       | Rust         | :white_check_mark: |
| Rubygems    | Ruby         | :white_check_mark: |
| Packagist   | PHP          | :white_check_mark: |
| Docker      | Docker       | :x: |
| Nuget       | .NET         | :white_check_mark: |
| Maven       | Java         | :white_check_mark: |
| Cocoapods   | Swift        | :x: |

# الوظائف #

يقدم Packj الأدوات التالية:

* [التدقيق](#auditing-a-package) - لمراجعة الحزمة بحثًا عن سمات "خطرة".
* [بيئة معزولة](#sandboxed-package-installation) - لتثبيت آمن للحزمة.

## تدقيق الحزمة ##

يقوم Packj بتدقيق حزم البرامج مفتوحة المصدر بحثًا عن سمات "خطرة" تجعلها عرضة لهجمات سلسلة التوريد. على سبيل المثال، الحزم ذات نطاقات البريد الإلكتروني منتهية الصلاحية (تفتقر إلى التحقق بخطوتين)، وفجوة زمنية كبيرة في الإصدار، وواجهات برمجة تطبيقات حساسة أو أذونات وصول، وما إلى ذلك، يتم وضع علامة عليها كخطرة.

يتم دعم تدقيق ما يلي:

- حزم متعددة: `python3 main.py audit -p pypi:requests rubygems:overcommit`
- ملفات التبعيات: `python3 main.py audit -f npm:package.json pypi:requirements.txt`

افتراضيًا، يقوم `audit` فقط بإجراء تحليل ثابت للكود للكشف عن الكود الخطير. يمكنك تمرير العلم `-t` أو `--trace` لإجراء تحليل ديناميكي للكود أيضًا، والذي سيقوم بتثبيت جميع الحزم المطلوبة تحت strace ومراقبة سلوك وقت التثبيت للحزم. يرجى الاطلاع على مثال الإخراج أدناه.

<details>
    <summary><h4>عرض مثال للتشغيل/الإخراج</h4></summary>

    $ docker run -v /tmp:/tmp/packj -it ossillate/packj:latest audit --trace -p npm:browserify

    [+] Fetching 'browserify' from npm..........PASS [ver 17.0.0]
    [+]    Checking package description.........PASS [browser-side require() the node way]
    [+]    Checking release history.............PASS [484 version(s)]
    [+] Checking version........................RISK [702 days old]
    [+]    Checking release time gap............PASS [68 days since last release]
    [+] Checking author.........................PASS [[email protected]]
    [+]    Checking email/domain validity.......RISK [expired author email domain]
    [+] Checking readme.........................PASS [26838 bytes]
    [+] Checking homepage.......................PASS [https://github.com/browserify/browserify#readme]
    [+] Checking downloads......................PASS [2M weekly]
    [+] Checking repo URL.......................PASS [https://github.com/browserify/browserify]
    [+]    Checking repo data...................PASS [stars: 14189, forks: 1244]
    [+]    Checking if repo is a forked copy....PASS [original, not forked]
    [+]    Checking repo description............PASS [browser-side require() the node.js way]
    [+]    Checking repo activity...............PASS [commits: 2290, contributors: 207, tags: 413]
    [+] Checking for CVEs.......................PASS [none found]
    [+] Checking dependencies...................RISK [48 found]
    [+] Downloading package from npm............PASS [163.83 KB]
    [+] Analyzing code..........................RISK [needs 3 perm(s): decode,codegen,file]
    [+] Checking files/funcs....................PASS [429 files (383 .js), 744 funcs, LoC: 9.7K]
    [+] Installing package and tracing code.....PASS [found 5 process,1130 files,22 network syscalls]
    =============================================
    [+] 5 risk(s) found, package is undesirable!
    => Complete report: /tmp/packj_54rbjhgm/report_npm-browserify-17.0.0_hlr1rhcz.json
    {
        "undesirable": [
            "old package: 702 days old",
            "invalid or no author email: expired author email domain",
            "generates new code at runtime",
            "reads files and dirs",
            "forks or exits OS processes",
        ]
    }
</details>

> تحذير: نظرًا لأن الحزم قد تنفذ كودًا خبيثًا أثناء التثبيت، فمن المستحسن استخدام `-t` أو `--trace` فقط عند التشغيل داخل حاوية Docker أو جهاز افتراضي.
تنزيل الأداة