Skip to content

Commit 8d26dd8

Browse files
MrYamousforresst
authored andcommitted
Translation of avoid_publishing_secrets.md and avoideval.md
* Translate avoid publishing secrets * Translate avoid eval * Correction avoid publishing secrets * Correction avoid eval * Fix typo
1 parent 7555742 commit 8d26dd8

File tree

2 files changed

+22
-25
lines changed

2 files changed

+22
-25
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# Avoid publishing secrets to the npm registry
1+
# Éviter de publier les secrets dans le registre npm
22

3-
### One Paragraph Explainer
4-
Precautions should be taken to avoid the risk of accidentally publishing secrets to public npm registries. An `.npmignore` file can be used to blacklist specific files or folders, or the `files` array in `package.json` can act as a whitelist.
3+
### Un paragraphe d'explication
4+
Des précautions doivent être prises pour éviter de publier accidentellement des secrets dans un registre public npm. Un fichier `.npmignore` peut être utilisé pour ignorer des fichiers ou dossiers spécifiques, ou le tableau `files` du `package.json` peut être utilisé comme une liste blanche.
55

6-
To gain a view of what npm publish will really publish to the registry, the `--dry-run` flag can be added the npm publish command to provide a verbose view of the tarbell package created.
6+
Pour savoir ce que npm publish va vraiment publier sur le registre, l'option `--dry-run` peut être ajoutée à la commande npm publish pour obtenir un résultat verbeux du package crée.
77

8-
It is important to note that if a project is utilising both `.npmignore` and `.gitignore` files, everything which isn't in `.npmignore` is published to the registry(i.e. the `.npmignore` file overrides the `.gitignore`). This condition is a common source of confusion and is a problem that can lead to leaking secrets. Developers may end up updating the `.gitignore` file, but forget to update `.npmignore` as well, which can lead to a potentially sensitive file not being pushed to source control, but still being included in the npm package.
8+
Il est important de noter que si un projet utilise à la fois des fichiers `.npmignore` et `.gitignore`, tout ce qui n'est pas dans `.npmignore` est publié dans le registre (c'est-à-dire que le fichier `.npmignore` écrase `.gitignore`). Cette condition est communément une source de confusion et un problème qui peut mener à la fuite de secrets. Les développeurs ont l'habitude de mettre à jour le fichier `.gitignore`, mais peuvent oublier de faire de même avec `.npmignore`, ce qui peut conduire à ce qu'un potentiel fichier sensible ne soit pas envoyé sur l'outil de gestion des versions, mais soit toujours inclus dans le package npm.
99

10-
### Code example
11-
Example .npmignore file
10+
### Exemple de code
11+
Fichier d'exemple .npmignore
1212
```
1313
#tests
1414
test
@@ -24,7 +24,7 @@ coverage
2424
2525
```
2626

27-
Example use of files array in package.json
27+
Exemple d'usage du tableau files de package.json
2828

2929
```
3030
{
@@ -35,10 +35,10 @@ Example use of files array in package.json
3535
}
3636
```
3737

38-
### What other bloggers say
38+
### Ce que disent les autres blogueurs
3939

40-
From the blog by [Liran Tal & Juan Picado at Snyk](https://snyk.io/blog/ten-npm-security-best-practices/):
41-
> ... Another good practice to adopt is making use of the files property in package.json, which works as a whitelist and specifies the array of files to be included in the package that is to be created and installed (while the ignore file functions as a blacklist). The files property and an ignore file can both be used together to determine which files should explicitly be included, as well as excluded, from the package. When using both, the former the files property in package.json takes precedence over the ignore file.
40+
Extrait du blog de [Liran Tal & Juan Picado sur Snyk](https://snyk.io/blog/ten-npm-security-best-practices/):
41+
> ... Une autre bonne pratique à adopter est d'utiliser la propriété files du package.json, qui fonctionne comme une liste blanche et spécifie un tableau de fichiers à inclure dans le package qui sera créé et installé (tandis que le fichier .npmignore fonctionne comme une liste noire). La propriété files et le fichier .npmignore peuvent être utilisés ensemble pour déterminer explicitement quels fichiers doivent être inclus, et exclus, du package. Quand les deux sont utilisés, la propriété files du package.json a la priorité sur le fichier .npmignore.
4242
43-
From the [npm blog](https://blog.npmjs.org/post/165769683050/publishing-what-you-mean-to-publish)
44-
> ... When you run npm publish, npm bundles up all the files in the current directory. It makes a few decisions for you about what to include and what to ignore. To make these decisions, it uses the contents of several files in your project directory. These files include .gitignore, .npmignore, and the files array in the package.json. It also always includes certain files and ignores others.
43+
Extrait du blog de [blog de npm](https://blog.npmjs.org/post/165769683050/publishing-what-you-mean-to-publish)
44+
> ... Quand vous exécutez npm publish, npm met dans le package l'ensemble des fichiers du répertoire courant. Il prend quelques décisions pour vous à propos de ce qu'il faut inclure et de ce qu'il faut ignorer. Pour prendre ces décisions, il utilise le contenu de plusieurs fichiers dans le répertoire de votre projet. Ces fichiers incluent .gitignore, .npmignore, et le tableau files dans package.json. De plus, il inclut toujours certains fichiers et en ignore d'autres.

sections/security/avoideval.french.md

+9-12
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
1-
# Avoid JS eval statements
1+
# Éviter les déclarations d'évaluation de JS
22

3-
### One Paragraph Explainer
3+
### Un paragraphe d'explication
44

5-
`eval()`, `setTimeout()`, `setInterval()`, and `new Function()` are global functions, often used in Node.js, which accept a string parameter representing a JavaScript expression, statement, or sequence of statements. The security concern of using these functions is the possibility that untrusted user input might find its way into code execution leading to server compromise, as evaluating user code essentially allows an attacker to perform any actions that you can. It is suggested to refactor code to not rely on the usage of these functions where user input could be passed to the function and executed.
5+
`eval()`, `setTimeout()`, `setInterval()`, et `new Function()` sont des fonctions globales, souvent utilisées dans Node.js, qui acceptent comme paramètre une châine de caractères représentant une expression Javascript, une déclaration ou une suite de déclarations. Le problème de sécurité que pose ces fonctionnalités est la possibilité que les entrées d'un utilisateur non fiable se retrouvent dans le code exécuté, ce qui pourrait compromettre le serveur, l'évaluation du code permettant essentiellement à un attaquant d'effectuer toutes les actions possibles. Il est suggéré de refactoriser le code pour ne pas se fier à ces fonctions où les entrées de l'utilisateur pourraient y être passées et exécutées.
66

7-
### Code example
7+
### Exemple de code
88

99
```javascript
10-
// example of malicious code which an attacker was able to input
10+
// exemple d'un code malicieux qui permettait à un attaquant d'entrer
1111
const userInput = "require('child_process').spawn('rm', ['-rf', '/'])";
1212

13-
// malicious code executed
13+
// code malicieux exécuté
1414
eval(userInput);
1515
```
1616

17-
### What other bloggers say
17+
### Ce que disent les autres blogueurs
1818

19-
From the Essential Node.js Security book by [Liran Tal](https://leanpub.com/nodejssecurity):
20-
> The eval() function is perhaps of the most frowned upon JavaScript pieces from a security
21-
perspective. It parses a JavaScript string as text, and executes it as if it were a JavaScript code.
22-
Mixing that with untrusted user input that might find it’s way to eval() is a recipe for disaster that
23-
can end up with server compromise.
19+
Extrait du livre « Essential Node.js Security » de [Liran Tal](https://leanpub.com/nodejssecurity):
20+
> La fonction eval() est peut-être l'une des plus mal vues dans JavaScript du point de vue de la sécurité. Elle analyse une chaîne de caractère JavaScript comme du texte, et l'exécute comme si c'était du code JavaScript. En mélangeant cela avec des entrées d'utilisateurs non fiables qui pourraient trouver un moyen d'accéder à la fonction eval(), on obtient la recette d'un désastre qui peut finir par compromettre le serveur.

0 commit comments

Comments
 (0)