Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions apps/site/pages/ar/about/security-reporting.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
title: الإبلاغ الأمني
layout: about
---

# الإبلاغ الأمني

لمزيد من التفاصيل حول سياسات الأمان، راجع [هذه الصفحة](https://github.com/nodejs/node/security/policy).

## الإبلاغ عن ثغرة أمنية في Node.js

أبلغ عن الثغرات الأمنية في Node.js عبر [HackerOne](https://hackerone.com/nodejs).

> **ملاحظة:** إرسال بلاغ عبر HackerOne يتطلب حدًا أدنى من
> [Signal](https://docs.hackerone.com/en/articles/8369891-signal-impact) score قدره **1.0**.
> إذا كانت درجة Signal لديك أقل من هذا الحد، فتواصل بدلًا من ذلك مباشرة مع مشرفي إصدارات الأمان في Node.js
> عبر [OpenJS Foundation Slack](https://slack-invite.openjsf.org/).

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

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

### برنامَج مكافآت الثغرات الأمنية في Node.js

يشارك مشروع Node.js في برنامج مكافآت الثغرات (bug bounty program) رسمي مخصص للباحثين الأمنيين والإفصاح العام المسؤول.
تتم إدارة البرنامج عبر منصة HackerOne. راجع [https://hackerone.com/nodejs](https://hackerone.com/nodejs)
لمزيد من التفاصيل.

## الإبلاغ عن bug في module من جهة خارجية

يجب الإبلاغ عن الثغرات الأمنية في third party modules إلى المسؤولين عن صيانتها (maintainers).

## سياسة الإفصاح

هذه هي سياسة الإفصاح الأمني الخاصة بـ Node.js:

- يتم استلام البلاغ الأمني وتعيين مسؤول أساسي للتعامل معه. ينسق هذا الشخص عملية الإصلاح والإصدار.
يتم التحقق من المشكلة على جميع إصدارات Node.js المدعومة. بعد تأكيدها، يتم تحديد قائمة بكل الإصدارات المتأثرة.
تتم مراجعة الكود للبحث عن أي مشاكل مشابهة محتملة. ثم تُجهز الإصلاحات لكل الإصدارات المدعومة.
لا تُرسل هذه الإصلاحات إلى المستودع العام (public repository) مباشرة، بل تبقى محليًا إلى حين الإعلان.

- يتم اختيار تاريخ حظر نشر (embargo) مقترح لهذه الثغرة، ويتم طلب CVE
(Common Vulnerabilities and Exposures (CVE®)) لها.

- في تاريخ حظر النشر (embargo)، تُرسل نسخة من الإعلان إلى القائمة البريدية الأمنية (security mailing list) الخاصة بـ Node.js.
تُدفع التغييرات إلى المستودع العام (public repository)، ويتم نشر builds جديدة على nodejs.org.
خلال 6 ساعات من إشعار القائمة البريدية (mailing list)، تُنشر نسخة من التنبيه الأمني (advisory) على مدونة Node.js.

- عادةً يتم تحديد تاريخ حظر النشر (embargo) بعد 72 ساعة من وقت إصدار CVE. لكن قد يختلف ذلك حسب خطورة bug
أو صعوبة تطبيق الإصلاح.

- قد تستغرق هذه العملية بعض الوقت، خاصة عندما نحتاج إلى التنسيق مع المسؤولين عن صيانة مشاريع أخرى (maintainers).
سنحاول التعامل مع bug بأسرع ما يمكن، لكن يجب علينا اتباع عملية الإصدار (release process) الموضحة أعلاه
لضمان التعامل مع الإفصاح بطريقة متسقة.

## تلقي تحديثات الأمان

سيتم توزيع إشعارات الأمان عبر الطرق التالية:

- [Google Group](https://groups.google.com/group/nodejs-sec)
- [مدونة Node.js](/blog)

## التعليقات على هذه السياسة

إذا كانت لديك اقتراحات لتحسين هذه العملية، فيرجى زيارة مستودع
[nodejs/security-wg](https://github.com/nodejs/security-wg).

## أفضل ممارسات OpenSSF

<a href="https://bestpractices.coreinfrastructure.org/projects/29" style={{ display: 'inline-flex' }}>

<img alt="شارة OpenSSF" src="https://bestpractices.coreinfrastructure.org/projects/29/badge" style={{ display: 'inline' }} />
</a>

تعد شارة [Best Practices](https://github.com/coreinfrastructure/best-practices-badge) من Open Source Security Foundation (OpenSSF)
طريقة تتيح لمشاريع Free/Libre and Open Source Software (FLOSS) إظهار أنها تتبع أفضل الممارسات.
يمكن للمشاريع أن تمنح نفسها هذا التصديق طوعًا من خلال توضيح كيفية اتباعها لكل ممارسة.
ويستطيع مستخدمو الشارة تقييم مشاريع FLOSS التي تتبع أفضل الممارسات بسرعة، مما يزيد احتمال إنتاجها
لبرمجيات آمنة وذات جودة أعلى.
5 changes: 5 additions & 0 deletions apps/site/snippets/ar/download/brew.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# تحميل و تثبيت Homebrew
curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash

# تحميل و تثبيت Node.js:
brew install node@${props.release.major}
5 changes: 5 additions & 0 deletions apps/site/snippets/ar/download/choco.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# تحميل و تثبيت Chocolatey:
powershell -c "irm https://community.chocolatey.org/install.ps1|iex"

# تحميل و تثبيت Node.js:
choco install nodejs --version="${props.release.version}"
2 changes: 2 additions & 0 deletions apps/site/snippets/ar/download/corepack.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# تحميل Corepack:
npm install -g corepack
8 changes: 8 additions & 0 deletions apps/site/snippets/ar/download/docker.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# لدى Docker تعليمات تثبيت محددة لكل نظام تشغيل.
# يرجى الرجوع إلى الوثائق الرسمية في https://docker.com/get-started/

# جلب صورة Node.js الخاصة بـ Docker:
docker pull node:${props.release.major}-slim

# أنشئ حاوية Node.js ثم فتح جلسة Shell داخلها
docker run -it --rm --entrypoint sh node:${props.release.major}-slim
8 changes: 8 additions & 0 deletions apps/site/snippets/ar/download/fnm.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# تحميل و تثبيت fnm:
${props.os === 'WIN' ?
'winget install Schniz.fnm' :
'curl -o- https://fnm.vercel.app/install | bash'
{

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arabic fnm snippet brace typo

High Severity

The Arabic fnm install snippet closes the ${props.os === 'WIN' ? … : …} block with { instead of }, so the combined download instructions no longer form valid template syntax when ReleaseCodeBox parses snippets for Arabic users choosing fnm.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3c4f454. Configure here.

# تحميل و تثبيت Node.js:
fnm install ${props.release.major}
2 changes: 1 addition & 1 deletion apps/site/snippets/ar/download/n.bash
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
تحميل وتثبيت n و Node.js:
# تحميل وتثبيت n و Node.js:
curl -fsSL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s ${props.release.major}

# يتم تثبيت Node.js تلقائيًا أثناء عملية n-install، لكن يمكنك أيضًا تثبيته يدويًا:
Expand Down
2 changes: 2 additions & 0 deletions apps/site/snippets/ar/download/node.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# توثيق اصدار Node.js:
node -v # يجب أن يطبع "${props.release.versionWithPrefix}".
8 changes: 8 additions & 0 deletions apps/site/snippets/ar/download/nvm.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# تحميل و تثبيت nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash

# بدلاً من إعادة تشغيل shell
\. "$HOME/.nvm/nvm.sh"

# تحميل و تثبيت Node.js:
nvm install ${props.release.major}
5 changes: 5 additions & 0 deletions apps/site/snippets/ar/download/pnpm.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# تحميل و تثبيت pnpm:
corepack enable yarn

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arabic pnpm enables yarn

Medium Severity

The Arabic pnpm snippet runs corepack enable yarn while the comments and pnpm -v step refer to pnpm, so readers following the Arabic download page enable the wrong package manager.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 3c4f454. Configure here.


# توثيق اصدار pnpm:
pnpm -v
2 changes: 1 addition & 1 deletion apps/site/snippets/fr/download/nvm.bash
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Télécharger et installer nvm :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash

# au lieu de redémarrer le shell
\. "$HOME/.nvm/nvm.sh"
Expand Down
2 changes: 1 addition & 1 deletion apps/site/snippets/ro/download/nvm.bash
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Descarcă și instalează nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash

# în loc de a reporni shell-ul
\. "$HOME/.nvm/nvm.sh"
Expand Down
2 changes: 1 addition & 1 deletion apps/site/snippets/uk/download/nvm.bash
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Завантажує й установлює nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash

# Замість перезапуску оболонки можна виконати:
\. "$HOME/.nvm/nvm.sh"
Expand Down
2 changes: 1 addition & 1 deletion packages/i18n/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@node-core/website-i18n",
"version": "1.1.30",
"version": "1.1.31",
"type": "module",
"exports": {
"./*": [
Expand Down
1 change: 1 addition & 0 deletions packages/i18n/src/locales/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@
"choco": "Chocolatey — це менеджер пакетів для Windows.",
"docker": "Docker — це платформа контейнеризації.",
"n": "«n» — це кросплатформний менеджер версій Node.js.",
"asdf": "«asdf» — це кросплатформний менеджер версій, який підтримує багато мов.",
"volta": "«Volta» — це кросплатформний менеджер версій Node.js."
}
}
Expand Down
Loading