From c08f9a1f487332e309e40229cf854b96fdd8609d Mon Sep 17 00:00:00 2001 From: BlueButterflies Date: Mon, 9 Jun 2025 17:05:51 +0200 Subject: [PATCH 1/4] change non-existent links to existing links in every file --- _articles/bg/code-of-conduct.md | 2 +- _articles/bg/finding-users.md | 2 +- _articles/bg/getting-paid.md | 2 +- _articles/bg/how-to-contribute.md | 2 +- _articles/code-of-conduct.md | 2 +- _articles/de/code-of-conduct.md | 2 +- _articles/de/getting-paid.md | 5 +++++ _articles/de/how-to-contribute.md | 6 +++--- _articles/el/code-of-conduct.md | 2 +- _articles/el/getting-paid.md | 3 ++- _articles/es/code-of-conduct.md | 2 +- _articles/es/getting-paid.md | 5 +++++ _articles/fa/code-of-conduct.md | 2 +- _articles/fa/getting-paid.md | 2 +- _articles/fr/code-of-conduct.md | 2 +- _articles/getting-paid.md | 2 +- _articles/hi/code-of-conduct.md | 2 +- _articles/hi/getting-paid.md | 3 ++- _articles/how-to-contribute.md | 2 +- _articles/hu/code-of-conduct.md | 2 +- _articles/hu/getting-paid.md | 2 +- _articles/id/code-of-conduct.md | 2 +- _articles/it/code-of-conduct.md | 2 +- _articles/it/getting-paid.md | 2 +- _articles/it/how-to-contribute.md | 2 +- _articles/ja/code-of-conduct.md | 2 +- _articles/ja/getting-paid.md | 2 +- _articles/ko/code-of-conduct.md | 2 +- _articles/ms/code-of-conduct.md | 2 +- _articles/ms/getting-paid.md | 2 +- _articles/nl/code-of-conduct.md | 2 +- _articles/nl/getting-paid.md | 2 +- _articles/pcm/code-of-conduct.md | 2 +- _articles/pcm/getting-paid.md | 2 +- _articles/pcm/how-to-contribute.md | 2 +- _articles/pl/code-of-conduct.md | 2 +- _articles/pl/getting-paid.md | 2 +- _articles/pt/code-of-conduct.md | 2 +- _articles/pt/getting-paid.md | 2 +- _articles/ro/code-of-conduct.md | 2 +- _articles/ru/code-of-conduct.md | 2 +- _articles/ru/getting-paid.md | 2 +- _articles/sw/code-of-conduct.md | 2 +- _articles/sw/getting-paid.md | 2 +- _articles/sw/how-to-contribute.md | 2 +- _articles/ta/code-of-conduct.md | 2 +- _articles/tr/code-of-conduct.md | 2 +- _articles/tr/getting-paid.md | 2 +- _articles/zh-hans/code-of-conduct.md | 2 +- _articles/zh-hant/code-of-conduct.md | 2 +- 50 files changed, 62 insertions(+), 50 deletions(-) diff --git a/_articles/bg/code-of-conduct.md b/_articles/bg/code-of-conduct.md index 22af32a478d..dd04b5e2c53 100644 --- a/_articles/bg/code-of-conduct.md +++ b/_articles/bg/code-of-conduct.md @@ -40,7 +40,7 @@ related: diff --git a/_articles/bg/finding-users.md b/_articles/bg/finding-users.md index 8ea56b9d206..c6a933897cc 100644 --- a/_articles/bg/finding-users.md +++ b/_articles/bg/finding-users.md @@ -28,7 +28,7 @@ related: За по-задълбочено потапяне в съобщенията вижте упражнението на Mozilla ["Личности и пътеки"](https://mozillascience.github.io/working-open-workshop/personas_pathways/) за разработване на потребителски персони. -## Help people find and follow your project +## Помогнете на хората да намерят и следват вашия проект diff --git a/_articles/de/getting-paid.md b/_articles/de/getting-paid.md index 9c290107563..c8049d5d1ce 100644 --- a/_articles/de/getting-paid.md +++ b/_articles/de/getting-paid.md @@ -119,6 +119,11 @@ Außerdem können Sie versuchen, abhängig von Ihren persönlichen Umständen, s * @gaearon finanzierte seine Arbeit an [Redux](https://github.com/reactjs/redux) mittels einer [Patreon-Crowdfunding-Kampagne](https://redux.js.org/) * @andrewgodwin finanzierte Arbeit an Djangos Schemamigrations [mittels einer Kickstarter-Kampagne](https://www.kickstarter.com/projects/andrewgodwin/schema-migrations-for-django) +Und schließlich zahlen Open-Source-Projekte manchmal Prämien für Probleme, bei denen Sie möglicherweise mithelfen möchten. + +* @ConnorChristie konnte für seine [Hilfe](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) bei der Arbeit an der JavaScript-Bibliothek von @MARKETProtocol [über Gitcoin-Prämie](https://gitcoin.co/) bezahlt werden. +* @mamiM hat japanische Übersetzungen für @MetaMask angefertigt, nachdem [die Veröffentlichung vom Bounties Network finanziert wurde](https://community.openhab.org/t/introducing-bountysource-for-funded-development/32879). + ## Geldquellen für Ihr Projekt auftun Abgesehen von Vereinbarungen für einzelne Projektteilnehmer\*innen, sammeln Projekte manchmal Geld von Unternehmen, Einzelpersonen oder anderen ein, um die laufende Arbeit zu finanzieren. diff --git a/_articles/de/how-to-contribute.md b/_articles/de/how-to-contribute.md index fc1669644f6..ebb0ca9e081 100644 --- a/_articles/de/how-to-contribute.md +++ b/_articles/de/how-to-contribute.md @@ -95,11 +95,11 @@ Auch wenn Sie gerne Code schreiben, gibt es vielleicht bessere Möglichkeiten, s ### Schreiben Sie gerne? -* Erstellen und verbessern Sie die Projektdokumentation +* Erstellen und verbessern Sie die Projektdokumentation, [wie es @CBID2 für die OpenSauced-Dokumentation getan hat](https://github.com/open-sauced/docs/pull/151). * Erstellen Sie eine Übersicht von Anwendungsbeispielen, welche die Verwendungsmöglichkeiten der Software zeigen -* Starten Sie einen Newsletter für das Projekt oder kuratieren Sie Highlights aus der Mailingliste +* Starten Sie einen Newsletter über das Projekt oder wählen Sie Highlights aus der Mailingliste aus, [wie es @opensauced für sein Produkt getan hat](https://opensauced.pizza/blog) * Schreiben Sie Tutorials für das Projekt, so [wie die Mitwirkenden von PyPA](https://packaging.python.org/) -* Übersetzen Sie die Projektdokumentation +* Schreiben Sie eine Übersetzung für die Projektdokumentation, [wie @frontendwizard es für die Anweisungen zur CSS Flexbox-Challenge auf freeCodeCamp getan hat](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077) diff --git a/_articles/nl/getting-paid.md b/_articles/nl/getting-paid.md index 2ab0cda97c1..f70c0e94b08 100644 --- a/_articles/nl/getting-paid.md +++ b/_articles/nl/getting-paid.md @@ -115,7 +115,7 @@ Afhankelijk van uw persoonlijke omstandigheden kunt u proberen om zelfstandig ge Ten slotte geven open source-projecten soms premies voor problemen waarmee u zou kunnen helpen. * @ConnorChristie kon betaald worden voor [helpen](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol werken aan hun JavaScript-bibliotheek [via een premie op gitcoin](https://gitcoin.co/). -* @mamiM deed Japanse vertalingen voor @MetaMask nadat de [kwestie werd gefinancierd op Bounties Network](https://explorer.bounties.network/bounty/134). +* @mamiM deed Japanse vertalingen voor @MetaMask nadat de [kwestie werd gefinancierd op Bounties Network](https://community.openhab.org/t/introducing-bountysource-for-funded-development/32879). ## Financiering vinden voor uw project diff --git a/_articles/pcm/code-of-conduct.md b/_articles/pcm/code-of-conduct.md index 93287322020..47bf20220cb 100644 --- a/_articles/pcm/code-of-conduct.md +++ b/_articles/pcm/code-of-conduct.md @@ -40,7 +40,7 @@ Put one CODE_OF_CONDUCT file for your project's main directory, and make sure sa diff --git a/_articles/pcm/getting-paid.md b/_articles/pcm/getting-paid.md index 352f45a9528..d56ec3e7e0d 100644 --- a/_articles/pcm/getting-paid.md +++ b/_articles/pcm/getting-paid.md @@ -100,7 +100,7 @@ Depending on your personal circumstances, you can try raising money independentl Finally, sometimes open source projects put bounties on issues that you might consider helping with. * @ConnorChristie was able to get paid for [helping](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol work on their JavaScript library [through a bounty on gitcoin](https://gitcoin.co/). -* @mamiM did Japanese translations for @MetaMask after the [issue was funded on Bounties Network](https://explorer.bounties.network/bounty/134). +* @mamiM did Japanese translations for @MetaMask after the [issue was funded on Bounties Network](https://community.openhab.org/t/introducing-bountysource-for-funded-development/32879). ## Finding funding for your project diff --git a/_articles/pcm/how-to-contribute.md b/_articles/pcm/how-to-contribute.md index a44f4d53d1d..5b6ececde25 100644 --- a/_articles/pcm/how-to-contribute.md +++ b/_articles/pcm/how-to-contribute.md @@ -89,7 +89,7 @@ Even if you like to write code, other types of contributions are a great way to * Write and improve the project's documentation, [like @CBID2 did for OpenSauced's documentation](https://github.com/open-sauced/docs/pull/151) * Curate a folder of examples showing how the project is used -* Start a newsletter for the project, or curate highlights from the mailing list, [like @opensauced did for their product](https://news.opensauced.pizza/about/) +* Start a newsletter for the project, or curate highlights from the mailing list, [like @opensauced did for their product]( https://opensauced.pizza/blog) * Write tutorials for the project, [like PyPA's contributors did](https://packaging.python.org/) * Write a translation for the project's documentation, [like @frontendwizard did for the instructions for freeCodeCamp's CSS Flexbox challenge](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077) diff --git a/_articles/pl/code-of-conduct.md b/_articles/pl/code-of-conduct.md index 781994c4a09..1a674c196a5 100644 --- a/_articles/pl/code-of-conduct.md +++ b/_articles/pl/code-of-conduct.md @@ -40,7 +40,7 @@ Umieść plik CODE_OF_CONDUCT w katalogu głównym projektu i uczyń go widoczny diff --git a/_articles/pl/getting-paid.md b/_articles/pl/getting-paid.md index a805d787bd7..0b051c3a22a 100644 --- a/_articles/pl/getting-paid.md +++ b/_articles/pl/getting-paid.md @@ -110,7 +110,7 @@ W zależności od osobistych okoliczności możesz spróbować samodzielnie zebr Wreszcie, czasami niektóre projekty open source nagradzają za rozwiązywanie danych problemów. * @ConnorChristie był w stanie otrzymać wynagrodzenie za [pomoc](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol pracował nad biblioteką JavaScript [poprzez nagrodę za gitcoin](https://gitcoin.co/). -* @mamiM zrobił japońskie tłumaczenia dla @MetaMask po tym, jak [problem został sfinansowany przez Bounties Network](https://explorer.bounties.network/bounty/134). +* @mamiM zrobił japońskie tłumaczenia dla @MetaMask po tym, jak [problem został sfinansowany przez Bounties Network](https://community.openhab.org/t/introducing-bountysource-for-funded-development/32879). ## Znajdowanie funduszy na swój projekt diff --git a/_articles/pt/code-of-conduct.md b/_articles/pt/code-of-conduct.md index bc54236b47a..8ef4ed84e09 100644 --- a/_articles/pt/code-of-conduct.md +++ b/_articles/pt/code-of-conduct.md @@ -40,7 +40,7 @@ Coloque um arquivo CODE_OF_CONDUCT no diretório raiz do seu projeto, e faça-o diff --git a/_articles/pt/getting-paid.md b/_articles/pt/getting-paid.md index a234b1ca7c6..c3a1e9f4128 100644 --- a/_articles/pt/getting-paid.md +++ b/_articles/pt/getting-paid.md @@ -100,7 +100,7 @@ Dependendo de suas circunstâncias pessoais, você pode tentar conseguir dinheir Finalmente, as vezes, projetos open source põem recompensas em issues que você pode considerar ajudar a resolver. * @ConnorChristie conseguiu ser pago por [ajudar](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol a trabalhar em sua biblioteca JavaScript [através de uma recompensa em gitcoin](https://gitcoin.co/). -* @mamiM fez traduções para o Japonês para @MetaMask após a [issue ser financiada na Bounties Network](https://explorer.bounties.network/bounty/134). +* @mamiM fez traduções para o Japonês para @MetaMask após a [issue ser financiada na Bounties Network](https://community.openhab.org/t/introducing-bountysource-for-funded-development/32879). ## Encontrando financiamento para o seu projeto diff --git a/_articles/ro/code-of-conduct.md b/_articles/ro/code-of-conduct.md index 87ed2fd92a3..a03feabff15 100644 --- a/_articles/ro/code-of-conduct.md +++ b/_articles/ro/code-of-conduct.md @@ -47,7 +47,7 @@ Amplasează un fișier CODE_OF_CONDUCT în directorul rădăcină al proiectului

-— [Ada Initiative](https://webcache.googleusercontent.com/search?q=cache:YfqdTk5H9ikJ:https://adainitiative.org/2014/02/18/howto-design-a-code-of-conduct-for-your-community) +— [Ada Initiative](https://adainitiative.org/)

diff --git a/_articles/ru/code-of-conduct.md b/_articles/ru/code-of-conduct.md index bbd32c5f52c..35f36935314 100644 --- a/_articles/ru/code-of-conduct.md +++ b/_articles/ru/code-of-conduct.md @@ -40,7 +40,7 @@ related: diff --git a/_articles/ru/getting-paid.md b/_articles/ru/getting-paid.md index c8bcb187080..a248fd1c8b2 100644 --- a/_articles/ru/getting-paid.md +++ b/_articles/ru/getting-paid.md @@ -99,7 +99,7 @@ related: Иногда открытые проекты размещают вознаграждение за задачи, над которыми вы могли бы поработать. * @ConnorChristie получал оплату, [помогая](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol над иж JavaScript библиотекой через [gitcoin.co](https://gitcoin.co/). -* @mamiM сделал перевод на японский @MetaMask за вознаграждение на [Bounties Network](https://explorer.bounties.network/bounty/134). +* @mamiM сделал перевод на японский @MetaMask за вознаграждение на [Bounties Network](https://community.openhab.org/t/introducing-bountysource-for-funded-development/32879). ## Поиск финансирования для вашего проекта diff --git a/_articles/sw/code-of-conduct.md b/_articles/sw/code-of-conduct.md index 986e80d6e3c..22e36896d61 100644 --- a/_articles/sw/code-of-conduct.md +++ b/_articles/sw/code-of-conduct.md @@ -40,7 +40,7 @@ Weka faili ya CODE_OF_CONDUCT katika saraka ya mzizi ya mradi wako, na uifanye i diff --git a/_articles/sw/getting-paid.md b/_articles/sw/getting-paid.md index 0448cda6587..2f6009015b0 100644 --- a/_articles/sw/getting-paid.md +++ b/_articles/sw/getting-paid.md @@ -100,7 +100,7 @@ Kulingana na hali zako binafsi, unaweza kujaribu kukusanya fedha kwa kujitegemea Hatimaye, wakati mwingine miradi ya open source huweka zawadi kwenye masuala ambayo unaweza kufikiria kusaidia nayo. * @ConnorChristie alifaulu kulipwa kwa [kusaidia](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) @MARKETProtocol kufanya kazi kwenye maktaba yao ya JavaScript [kupitia zawadi kwenye gitcoin](https://gitcoin.co/). -* @mamiM alifanya tafsiri za Kijapani kwa @MetaMask baada ya [suala kufadhiliwa kwenye Bounties Network](https://explorer.bounties.network/bounty/134). +* @mamiM alifanya tafsiri za Kijapani kwa @MetaMask baada ya [suala kufadhiliwa kwenye Bounties Network](https://community.openhab.org/t/introducing-bountysource-for-funded-development/32879). ## Kutafuta ufadhili kwa mradi wako diff --git a/_articles/sw/how-to-contribute.md b/_articles/sw/how-to-contribute.md index 3dfbcb8aa7f..1c976c14cf6 100644 --- a/_articles/sw/how-to-contribute.md +++ b/_articles/sw/how-to-contribute.md @@ -89,7 +89,7 @@ Hata kama ungependa kuandika msimbo, aina nyingine za michango ni njia nzuri ya * Andika na uboreshe nyaraka za mradi, [kama @CBID2 alivyofanya kwa nyaraka za OpenSauced](https://github.com/open-sauced/docs/pull/151) * Andaa folda ya mifano inayoonyesha jinsi mradi unavyotumika -* Anzisha jarida la mradi, au kusanya mambo muhimu kutoka kwenye orodha ya barua, [kama @opensauced alivyofanya kwa bidhaa yao](https://news.opensauced.pizza/about/) +* Anzisha jarida la mradi, au kusanya mambo muhimu kutoka kwenye orodha ya barua, [kama @opensauced alivyofanya kwa bidhaa yao](https://opensauced.pizza/blog) * Andika mafunzo kwa mradi, [kama wachangiaji wa PyPA walivyofanya](https://packaging.python.org/) * Andika tafsiri ya nyaraka za mradi, [kama @frontendwizard alivyofanya kwa maelekezo ya changamoto ya CSS Flexbox ya freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp/pull/19077) diff --git a/_articles/ta/code-of-conduct.md b/_articles/ta/code-of-conduct.md index 9908515abf3..07403fa5928 100644 --- a/_articles/ta/code-of-conduct.md +++ b/_articles/ta/code-of-conduct.md @@ -40,7 +40,7 @@ related: diff --git a/_articles/tr/code-of-conduct.md b/_articles/tr/code-of-conduct.md index a543e8a20a9..50ebb770c31 100644 --- a/_articles/tr/code-of-conduct.md +++ b/_articles/tr/code-of-conduct.md @@ -40,7 +40,7 @@ CODE_OF_CONDUCT dosyasını projenizin kök dizinine yerleştirin ve CONTRIBUTIN diff --git a/_articles/tr/getting-paid.md b/_articles/tr/getting-paid.md index b5d5cd928fb..a78bd4ca53a 100644 --- a/_articles/tr/getting-paid.md +++ b/_articles/tr/getting-paid.md @@ -100,7 +100,7 @@ Kişisel durumunuza bağlı olarak, açık kaynaklı işinize para yatırmak iç Son olarak, bazen açık kaynaklı projeler, yardım etmeyi düşündüğünüz meselelere güçlükler getirir. * @ConnorChristie, @MARKETProtocol'un JavaScript paketlerinde [yardımcı olarak](https://web.archive.org/web/20181030123412/https://webcache.googleusercontent.com/search?strip=1&q=cache:https%3A%2F%2Fgithub.com%2FMARKETProtocol%2FMARKET.js%2Fissues%2F14) gitcoin'deki bir [ödülle{/a2} para kazanabildi.](https://gitcoin.co/) -* @mamiM, [sorun Bounties Network'te finanse](https://explorer.bounties.network/bounty/134) edildikten sonra @MetaMask için Japonca çeviriler yaptı. +* @mamiM, [sorun Bounties Network'te finanse](https://community.openhab.org/t/introducing-bountysource-for-funded-development/32879) edildikten sonra @MetaMask için Japonca çeviriler yaptı. ## Projeniz için finansman bulma diff --git a/_articles/zh-hans/code-of-conduct.md b/_articles/zh-hans/code-of-conduct.md index 4d0478080cb..4fd5c633937 100644 --- a/_articles/zh-hans/code-of-conduct.md +++ b/_articles/zh-hans/code-of-conduct.md @@ -41,7 +41,7 @@ redirect_from: /zh-cn/code-of-conduct/ diff --git a/_articles/zh-hant/code-of-conduct.md b/_articles/zh-hant/code-of-conduct.md index d92260bbebf..1ef30172497 100644 --- a/_articles/zh-hant/code-of-conduct.md +++ b/_articles/zh-hant/code-of-conduct.md @@ -41,7 +41,7 @@ redirect_from: /zh-tw/code-of-conduct/ From c0fb2cc19cff5f7bef88b872c20c4743fd7a695f Mon Sep 17 00:00:00 2001 From: BlueButterflies Date: Mon, 9 Jun 2025 17:31:15 +0200 Subject: [PATCH 2/4] add security best pratices for your project md file in file bg --- ...ecurity-best-practices-for-your-project.md | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 _articles/bg/security-best-practices-for-your-project.md diff --git a/_articles/bg/security-best-practices-for-your-project.md b/_articles/bg/security-best-practices-for-your-project.md new file mode 100644 index 00000000000..cfe69dab15c --- /dev/null +++ b/_articles/bg/security-best-practices-for-your-project.md @@ -0,0 +1,84 @@ +--- +lang: en +untranslated: true +title: Най-добри практики за сигурност за вашия проект +description: Укрепете бъдещето на вашия проект, като изградите доверие чрез основни практики за сигурност – от многофакторна автентификация (MFA) и сканиране на код до безопасно управление на зависимостите и отчитане на частни уязвимости. +class: security-best-practices +order: -1 +image: /assets/images/cards/security-best-practices.png +--- + +Като оставим настрана грешките и новите функции, дълголетието на един проект зависи не само от неговата полезност, но и от доверието, което печели от потребителите си. Силните мерки за сигурност са важни, за да се запази това доверие. Ето някои важни действия, които можете да предприемете, за да подобрите значително сигурността на вашия проект. + +## Уверете се, че всички привилегировани участници са активирали многофакторно удостоверяване (MFA) + +### Злонамерен участник, който успее да се представи за привилегирован участник във вашия проект, ще причини катастрофални щети. + +След като получи привилегирован достъп, този участник може да промени вашия код, за да го накара да извършва нежелани действия (напр. да копае криптовалута), или може да разпространява зловреден софтуер в инфраструктурата на вашите потребители, или може да има достъп до частни хранилища за код, за да открадне интелектуална собственост и чувствителни данни, включително идентификационни данни за други услуги. + +MFA предоставя допълнителен слой сигурност срещу поглъщане на акаунт. След като е активирано, трябва да влезете с вашето потребителско име и парола и да предоставите друга форма на удостоверяване, която само вие знаете или до която имате достъп. + +## Защитете кода си като част от работния процес на разработка + +### Уязвимостите в сигурността на вашия код са по-евтини за отстраняване, когато бъдат открити в началото на процеса, отколкото по-късно, когато се използват в продукцията. + +Използвайте инструмент за статично тестване на сигурността на приложенията (SAST), за да откриете уязвимости в сигурността на вашия код. Тези инструменти работят на ниво код и не се нуждаят от среда за изпълнение, следователно могат да бъдат изпълнени в началото на процеса и могат да бъдат безпроблемно интегрирани в обичайния ви работен процес на разработка, по време на изграждането или по време на фазите на преглед на кода. + +Все едно квалифициран експерт да прегледа вашето хранилище за код, помагайки ви да откриете често срещани уязвимости в сигурността, които биха могли да се крият на видно място, докато кодирате. + +Как да изберете вашия SAST инструмент? +Проверете лиценза: Някои инструменти са безплатни за проекти с отворен код. Например GitHub CodeQL или SemGrep. +Проверете покритието за вашия(ите) език(ци) + +* Изберете такъв, който лесно се интегрира с инструментите, които вече използвате, със съществуващия ви процес. Например, по-добре е, ако предупрежденията са налични като част от съществуващия ви процес и инструмент за преглед на код, вместо да използвате друг инструмент, за да ги видите. +* Пазете се от фалшиви положителни резултати! Не искате инструментът да ви забавя без причина! +* Проверете функциите: някои инструменти са много мощни и могат да проследяват дефекти (пример: GitHub CodeQL), някои предлагат генерирани от изкуствен интелект предложения за корекции, а някои улесняват писането на персонализирани заявки (пример: SemGrep). + +## Не споделяйте тайните си + +### Чувствителни данни, като API ключове, токени и пароли, понякога могат случайно да бъдат добавени към вашето хранилище. + +Представете си следния сценарий: Вие сте администратор на популярен проект с отворен код с принос от разработчици от цял ​​свят. Един ден, сътрудник несъзнателно добавя към хранилището някои API ключове на услуга на трета страна. Дни по-късно някой намира тези ключове и ги използва, за да влезе в услугата без разрешение. Услугата е компрометирана, потребителите на вашия проект изпитват прекъсвания и репутацията на вашия проект е засегната. Като администратор, вие сте изправени пред трудните задачи за отмяна на компрометирани тайни, разследване на злонамерени действия, които атакуващият би могъл да извърши с тази тайна, уведомяване на засегнатите потребители и внедряване на корекции. + +За да се предотвратят подобни инциденти, съществуват решения за „тайно сканиране“, които да ви помогнат да откриете тези тайни във вашия код. Някои инструменти като GitHub Secret Scanning и Trufflehog от Truffle Security могат да ви попречат да ги преместите в отдалечени клонове, а някои инструменти автоматично ще отменят някои тайни вместо вас. + +## Проверете и актуализирайте зависимостите си + +### Зависимостите във вашия проект могат да имат уязвимости, които компрометират сигурността му. Ръчното поддържане на зависимостите актуални може да бъде времеемка задача. + +Представете си: проект, изграден върху здравата основа на широко използвана библиотека. Библиотеката по-късно открива голям проблем със сигурността, но хората, които са изградили приложението, използвайки я, не знаят за него. Чувствителни потребителски данни остават изложени на риск, когато атакуващ се възползва от тази слабост и се нахвърли, за да ги грабне. Това не е теоретичен случай. Точно това се случи с Equifax през 2017 г.: Те не успяха да актуализират зависимостта си от Apache Struts след известието, че е открита сериозна уязвимост. Тя беше експлоатирана и скандалният пробив в Equifax засегна данните на 144 милиона потребители. + +За да предотвратят подобни сценарии, инструменти за анализ на състава на софтуера (SCA), като Dependabot и Renovate, автоматично проверяват вашите зависимости за известни уязвимости, публикувани в публични бази данни като NVD или GitHub Advisory Database, и след това създават заявки за изтегляне, за да ги актуализират до безопасни версии. Поддържането на актуална информация с най-новите версии на безопасни зависимости предпазва вашия проект от потенциални рискове. + +## Избягвайте нежелани промени със защитени клонове + +### Неограниченият достъп до основните ви клонове може да доведе до случайни или злонамерени промени, които могат да въведат уязвимости или да нарушат стабилността на вашия проект. + +Нов участник получава достъп за запис в основния клон и случайно добавя промени, които не са тествани. След това се разкрива сериозен пропуск в сигурността, благодарение на последните промени. За да се предотвратят подобни проблеми, правилата за защита на клоновете гарантират, че промените не могат да бъдат добавяни или обединявани във важни клонове, без първо да бъдат прегледани и да преминат през определени проверки за състояние. Вие сте в по-голяма безопасност и по-добре с тази допълнителна мярка, гарантираща първокласно качество всеки път. + +## Настройте механизъм за приемане на доклади за уязвимости + +### Добра практика е да улесните потребителите си да докладват за грешки, но големият въпрос е: когато тази грешка има въздействие върху сигурността, как могат безопасно да ви я докладват, без да ви поставят в цел за злонамерени хакери? + +Представете си: Изследовател по сигурността открива уязвимост във вашия проект, но не намира ясен или сигурен начин да я докладва. Без определен процес, той може да създаде публичен проблем или да го обсъди открито в социалните медии. Дори и да са добронамерени и да предложат поправка, ако го направят с публичен пул рекейв (pull request), други ще я видят, преди да бъде обединена! Това публично разкриване ще изложи уязвимостта на злонамерени лица, преди да имате възможност да я отстраните, което потенциално ще доведе до zero-day експлойт, атакуващ вашия проект и неговите потребители. + +### Политика за сигурност + +За да избегнете това, публикувайте политика за сигурност. Политиката за сигурност, дефинирана във файл `SECURITY.md`, описва подробно стъпките за докладване на проблеми със сигурността, създава прозрачен процес за координирано разкриване и установява отговорностите на екипа на проекта за справяне с докладваните проблеми. Тази политика за сигурност може да бъде толкова проста, колкото „Моля, не публикувайте подробности в публичен проблем или PR, изпратете ни личен имейл на security@example.com“, но може да съдържа и други подробности, като например кога могат да очакват да получат отговор от вас. Всичко, което може да помогне за ефективността и ефикасността на процеса на разкриване. + +### Частно докладване на уязвимости + +На някои платформи можете да рационализирате и подобрите процеса си на управление на уязвимости, от приемане до излъчване, с частни проблеми. В GitLab това може да се направи с частни проблеми. В GitHub това се нарича частно докладване на уязвимости (PVR). PVR позволява на поддържащите да получават и адресират доклади за уязвимости, всичко това в рамките на платформата GitHub. GitHub автоматично ще създаде частен fork за писане на корекциите и чернова на съобщение за сигурност. Всичко това остава поверително, докато не решите да разкриете проблемите и да публикувате корекциите. За да се затвори цикълът, ще бъдат публикувани съвети за сигурност, които ще информират и защитават всички ваши потребители чрез техния SCA инструмент. + +## Заключение: Няколко стъпки за вас, огромно подобрение за вашите потребители + +Тези няколко стъпки може да ви се сторят лесни или основни, но те са от голяма полза, за да направят проекта ви по-сигурен за неговите потребители, защото ще осигурят защита срещу най-често срещаните проблеми. + +## Сътрудници + +### Много благодарности на всички администратори, които споделиха своя опит и съвети с нас за това ръководство! + +Това ръководство е написано от [@nanzggits](https://github.com/nanzggits) & [@xcorail](https://github.com/xcorail) с приноси от: + +[@JLLeitschuh](https://github.com/JLLeitschuh) +[@intrigus-lgtm](https://github.com/intrigus-lgtm) + много други! From 208dc74dd5e61c4fa09c7966d96d99d67c52d447 Mon Sep 17 00:00:00 2001 From: BlueButterflies Date: Mon, 9 Jun 2025 18:04:00 +0200 Subject: [PATCH 3/4] correct language --- _articles/bg/security-best-practices-for-your-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_articles/bg/security-best-practices-for-your-project.md b/_articles/bg/security-best-practices-for-your-project.md index cfe69dab15c..a2f2a304d61 100644 --- a/_articles/bg/security-best-practices-for-your-project.md +++ b/_articles/bg/security-best-practices-for-your-project.md @@ -1,5 +1,5 @@ --- -lang: en +lang: bg untranslated: true title: Най-добри практики за сигурност за вашия проект description: Укрепете бъдещето на вашия проект, като изградите доверие чрез основни практики за сигурност – от многофакторна автентификация (MFA) и сканиране на код до безопасно управление на зависимостите и отчитане на частни уязвимости. From b9fd6ef9de671d5024e4c9fbad5025d5ceb330ef Mon Sep 17 00:00:00 2001 From: BlueButterflies Date: Mon, 9 Jun 2025 18:17:15 +0200 Subject: [PATCH 4/4] correct apostrophe --- _articles/bg/security-best-practices-for-your-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_articles/bg/security-best-practices-for-your-project.md b/_articles/bg/security-best-practices-for-your-project.md index a2f2a304d61..d77ac6c91ba 100644 --- a/_articles/bg/security-best-practices-for-your-project.md +++ b/_articles/bg/security-best-practices-for-your-project.md @@ -40,7 +40,7 @@ MFA предоставя допълнителен слой сигурност с Представете си следния сценарий: Вие сте администратор на популярен проект с отворен код с принос от разработчици от цял ​​свят. Един ден, сътрудник несъзнателно добавя към хранилището някои API ключове на услуга на трета страна. Дни по-късно някой намира тези ключове и ги използва, за да влезе в услугата без разрешение. Услугата е компрометирана, потребителите на вашия проект изпитват прекъсвания и репутацията на вашия проект е засегната. Като администратор, вие сте изправени пред трудните задачи за отмяна на компрометирани тайни, разследване на злонамерени действия, които атакуващият би могъл да извърши с тази тайна, уведомяване на засегнатите потребители и внедряване на корекции. -За да се предотвратят подобни инциденти, съществуват решения за „тайно сканиране“, които да ви помогнат да откриете тези тайни във вашия код. Някои инструменти като GitHub Secret Scanning и Trufflehog от Truffle Security могат да ви попречат да ги преместите в отдалечени клонове, а някои инструменти автоматично ще отменят някои тайни вместо вас. +За да се предотвратят подобни инциденти, съществуват решения за "тайно сканиране", които да ви помогнат да откриете тези тайни във вашия код. Някои инструменти като GitHub Secret Scanning и Trufflehog от Truffle Security могат да ви попречат да ги преместите в отдалечени клонове, а някои инструменти автоматично ще отменят някои тайни вместо вас. ## Проверете и актуализирайте зависимостите си