
مختبر أبحاث أمني يعيد إنتاج CVE-2026-41414 (ثغرة pull_request_target في .github/workflows/pr.yml) — لقطة من skim-rs/skim @ ca986f4، وليست نسخة متفرعة.
أداة بحث آلية — ليست المشروع الأصلي.
هذا المستودع عبارة عن بيئة مختبرية مؤقتة أُنشئت بواسطة نظام آلي لأطروحة ماجستير في جامعة لافال حول إعادة إنتاج ثغرات سير عمل GitHub Actions المنشورة. وهو لقطة حرفية من
skim-rs/skimعند الالتزامca986f444c37d2c1dc15ce1fad2fe101776af8d9(2026-04-14)، مُعاد توزيعه بموجب ترخيص المشروع نفسه، الذي يُرفق ملفه دون تغيير في هذه اللقطة.المشروع الأصلي ليس طرفًا فيه، ولا يُستهدف أبدًا، والثغرة المدروسة هنا معلنة بالفعل. كل سر ومتغير في هذا المستودع هو قيمة وهمية مولّدة عشوائيًا — لا توجد أي بيانات اعتماد حقيقية. مراجع الإجراءات وصور المشغّل مثبتة على ما حُلّت إليه في 2026-04-14؛ راجع
pinning.mdفي مخرجات النظام الآلي لمعرفة كل تغيير أُجري على اللقطة.الأسئلة أو الاعتراضات: [email protected]
الحياة قصيرة، استخدم Skim!
نقضي الكثير من وقتنا في التنقل بين الملفات والأسطر والأوامر. وهنا يأتي دور Skim! إنه أداة بحث ضبابي قوية مصممة لجعل سير عملك أسرع وأكثر كفاءة.
يوفر Skim ملفًا تنفيذيًا واحدًا يُسمى sk. اعتبره بديلًا أذكى لأدوات مثل
grep — بمجرد أن تجربه، ستتساءل كيف عشت بدونه!
skim
يحتوي مشروع skim على عدة مكونات:
sk التنفيذي — البرنامج الأساسيsk داخل Vim/Nvim. راجع skim.vim لدعم Vim.| نظام التشغيل | مدير الحزم | الأمر |
|---|---|---|
| macOS | Homebrew | brew install sk |
| macOS | MacPorts | sudo port install skim |
| Alpine | apk | apk add skim |
| Arch | pacman | pacman -S skim |
| Fedora | COPR | انظر أدناه |
| Gentoo | Portage | emerge --ask app-misc/skim |
| Guix | guix | guix install skim |
| Void | XBPS | xbps-install -S skim |
تُوفَّر حزم Fedora المحدّثة عبر مستودع COPR غير رسمي يُصان بواسطة المجتمع.```bash sudo dnf copr enable sisyphus1813/skim sudo dnf install skim
## يدويًا
ينطبق أي مما يلي:
- استخدام سكربت التثبيت:
```sh
# تحقق دائمًا من محتوى السكربت قبل تشغيله!
$ curl --proto '=https' --tlsv1.2 -LsSf https://github.com/skim-rs/skim/releases/latest/download/skim-installer.sh | sh
```
- استخدام الملف الثنائي: ببساطة [قم بتنزيل ملف sk القابل للتنفيذ](https://github.com/skim-rs/skim/releases) مباشرة.
- التثبيت من [crates.io](https://crates.io/): `cargo install skim`
- البناء يدويًا:
```sh
$ git clone --depth 1 [email protected]:skim-rs/skim.git ~/.skim
$ cd ~/.skim
$ cargo build --release
$ # أضف الملف القابل للتنفيذ الناتج `target/release/sk` إلى PATH الخاص بك
```
ستتمكن بعد ذلك من الوصول إلى:
- صفحة الدليل (man page)، والتي يمكنك إما كتابتها إلى المسار الصحيح أو تشغيل `man --local-file <(sk --man)`
- إكمالات الصدفة (والاختصارات الاختيارية)، باستخدام `source <(sk --shell \<shell> \[--shell-bindings])`، انظر أدناه للتفاصيل
# الاستخدام
يمكن استخدام Skim إما كمرشح عام (مشابه لـ `grep`) أو كواجهة
تفاعلية لتشغيل الأوامر.
## كإضافة Vim (على neovim، راجع [fzf-lua](https://github.com/ibhagwan/fzf-lua) مع ملف تعريف skim)
عبر vim-plug (موصى به):
قم بتثبيت skim، ثم:```vim
Plug 'skim-rs/skim'
فيما يلي بعض الأمثلة لتبدأ بها:```bash
sk
vim $(find . -name "*.rs" | sk -m)
يتيح لك هذا الأمر الأخير تحديد الملفات ذات الامتداد ".rs" ويفتح
تحديداتك في Vim - وهو توفير كبير للوقت للمطورين!
## كواجهة تفاعلية
يمكن لـ `skim` استدعاء أوامر أخرى ديناميكيًا. عادةً ما سترغب في
دمجه مع [grep](https://www.gnu.org/software/grep/) أو
[ack](https://github.com/petdance/ack2) أو
[ag](https://github.com/ggreer/the_silver_searcher) أو
[rg](https://github.com/BurntSushi/ripgrep) للبحث عن المحتويات في
دليل المشروع:```sh
# works with grep
sk --ansi -i -c 'grep -rI --color=always --line-number {q} .'
# works with ack
sk --ansi -i -c 'ack --color {q}'
# works with ag
sk --ansi -i -c 'ag --color {q}'
# works with rg
sk --ansi -i -c 'rg --color=always --line-number {q}'
ملاحظة: في هذه الأمثلة، سيتم توسيع
{q}حرفيًا إلى استعلام الإدخال الحالي (مُحاطًا بعلامات اقتباس مفردة). هذا يعني أن هذه الأمثلة ستبحث عن سلسلة الاستعلام الدقيقة، وليس بشكل تقريبي. للبحث التقريبي، قم بتوجيه مخرجات الأمر إلىskدون استخدام الوضع التفاعلي.
