Repository navigation
Add language toggle and de, es, fr, nl and uk explanations - #2751
bhushan4work wants to merge 8 commits into
Conversation
🧪 Testing this PR locallyIf you already have the repositoryFirst, make sure the official OWASP WrongSecrets repository is configured git remote get-url wrongsecrets-upstream >/dev/null 2>&1 || \
git remote add wrongsecrets-upstream https://github.com/OWASP/wrongsecrets.gitThen fetch and check out this PR: git fetch wrongsecrets-upstream pull/2751/head:pr-2751
git checkout pr-2751
Or, if you want the contributor branch directlyIf the contributor repository is already configured as git fetch origin
git checkout -b test-pr-2751 origin/fix#2442🌍 Reviewing translationsCompare the translated files of this PR side by side with the originals: 🧹 Cleaning up after testingWhen you are finished testing, you can remove the local PR branch: git checkout main
git branch -D pr-2751If you added the git remote remove wrongsecrets-upstream
PR: #2751 |
There was a problem hiding this comment.
When my default language is set to "dutch" it does not want to switch the text ot english on the main page, instead i am getting an error i nthe console:
https://api.github.com/repos/OWASP/wrongsecrets' violates the following Content Security Policy directive: "default-src 'self'". Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback. The action has been blocked.
i can set it to german though.
It does work on the challenge pages though
|
rest is fine or more review is to be made ? give me a full suite review before I start working on the fix |
|
Full review of multiple languages will take a few weeks |
|
Can you have a look at the previous mr for some of the older language feedback and see what still applies please? |
The homepage star-count button (github-buttons, data-show-count) XHRs https://api.github.com/repos/OWASP/wrongsecrets, which the CSP blocked because connect-src fell back to default-src 'self', surfacing a CSP violation when the main page reloaded during language switching. Adds an explicit connect-src for that origin only and updates the security-header regression test.
S3DFX-CYBER
left a comment
There was a problem hiding this comment.
Also additional review:
- "Prompt injection" is mistranslated as "injection rapide" in challenge60_fr.adoc (« Injection rapide MCP »), challenge60_reason_fr.adoc, and challenge74_hint_fr.adoc (« Essayez l'injection rapide »). "Rapide" = fast. And challenge60_reason_fr.adoc then writes « l'invite de commandes » for "prompt" — "invite de commandes" is the command-line prompt (cmd.exe), not a model prompt. Elsewhere the same PR says « injection de prompt » / « injection d'invite ». Pick one and make it « injection de prompt ».
- "committe" (misspelled, no accent) appears in challenge1_reason, challenge38_reason, challenge54_reason, challenge55_reason (« qui ont été committe »). → « commité » or better « validé ».
- challenge11_hint_fr.adoc / challenge11_reason_fr.adoc — « assumer un rôle » / « les événements d'assumption de rôle ». "Assumption" is English, and "assumer un rôle" is a calque. → « endosser un rôle », « les événements de prise de rôle ».
- challenge73_fr.adoc — « afin que chaque agent réutilise le même valeur » → « la même valeur » (valeur is feminine).
- challenge75_reason_fr.adoc — « une attaquant peut publier une version malveillante » → « un attaquant ».
- challenge67_reason_fr.adoc — « puis supprimez ou supprimez tous les récepteurs et archives » — a duplicated word; presumably « supprimez ou révoquez ».
- challenge46_reason_fr.adoc — « ... dans certains scénarios,\nIl existe des situations... » — capital "Il" after a comma.
|
|
||
| Vous voulez en savoir plus ? Consultez les ressources sur la page d’accueil de l’application. | ||
|
|
||
| *Pourquoi les cryptomonnaies restent encore très difficiles à appréhender* |
There was a problem hiding this comment.
the section title reads « Pourquoi les cryptomonnaies restent encore très difficiles à appréhender ». The section is about convergent encryption, IVs and ciphertext. "Cryptomonnaies" is cryptocurrencies. The source says cryptography , so it should be « la cryptographie ».
| @@ -0,0 +1,24 @@ | |||
| === Motif de la contestation 63 | |||
There was a problem hiding this comment.
heading « Motif de la contestation 63 ». That reads as "grounds for the dispute". This is "Challenge 63 rationale" → « Raison d'être du défi 63 » (or « Justification »).
| - N'accordez à l'application l'accès aux secrets que lorsqu'ils sont réellement nécessaires à une opération. | ||
| - Considérez toutes les invites fournies par l'utilisateur comme des entrées potentiellement hostiles. | ||
| - Appliquer les autorisations et les contrôles d'accès dans l'application plutôt que de s'appuyer sur le modèle pour les appliquer. | ||
| - Si des informations sensibles sont accidentellement exposées à un mannequin, considérez ces informations comme potentiellement compromises et remplacez les identifiants concernés le cas échéant. |
There was a problem hiding this comment.
« si des informations sensibles sont accidentellement exposées à un mannequin ». "Mannequin" is a dressmaker's dummy. The source is model → « à un modèle ».
|
|
||
| Cette application génère une transcription de session Codex où un développeur a demandé à l'agent d'examiner un déploiement de préproduction défaillant. La transcription enregistre l'agent lisant un fichier `.env.staging` et affichant son contenu, y compris le jeton de déploiement, dans le cadre d'un processus de débogage normal. | ||
|
|
||
| Téléchargez la transcription à partir du lien :link:/challenges/challenge-72/codex-session-transcript.md[`/challenges/challenge-72/codex-session-transcript.md`] et trouvez le jeton de déploiement de mise en scène qui a été exposé pendant la session. |
There was a problem hiding this comment.
« le jeton de déploiement de mise en scène ». "Mise en scène" is theatre staging. This is staging deployment → « de préproduction » (which the same file uses correctly two sentences earlier — so it's internally inconsistent).
| @@ -0,0 +1,11 @@ | |||
| === Un secret téléchargé sur une application LLM (Large Language Model) | |||
There was a problem hiding this comment.
still « Un secret téléchargé sur une application LLM » / « vous ayez téléchargé du code ». This is the uploaded false friend from last time; "téléchargé" = downloaded, the opposite of the source. → « téléversé ».
|
|
||
| 1. **Les secrets sont visibles dans l'environnement** : Les variables d'environnement sont faciles à inspecter à l'aide de commandes système de base ou de la journalisation, ce qui peut conduire à une exposition involontaire. | ||
| 2. **Intégration en dur de secrets dans les Dockerfiles** : Lorsque des secrets sont intégrés au Dockerfile ou au fichier `docker-compose.yml`, ils font partie du processus de construction et sont inclus dans les couches de l’image. Toute personne ayant accès à l’image peut alors examiner ces couches et récupérer le secret. | ||
| 3. **Commiting secret files to version control**: Stocking secret in files and commit them to Git or other version control systems introduces significant risks, as anyone having access to the repository can get the secrets. |
| *Points clés à retenir :* | ||
|
|
||
| - **Évitez d'utiliser des variables d'environnement pour les secrets :** Bien que pratiques, les variables d'environnement ne sont pas sécurisées pour la gestion d'informations sensibles. Utilisez plutôt les secrets Docker ou des outils externes comme Vault ou AWS Secrets Manager. | ||
| - **Ne commettez pas de secrets dans le système de contrôle de version** : Gardez toujours les fichiers secrets hors de votre dépôt en utilisant `.gitignore` ou des solutions de gestion de secrets sécurisées. |
There was a problem hiding this comment.
« Ne commettez pas de secrets dans le système de contrôle de version ». "Commettre" means to commit a crime. → « Ne validez pas de secrets ».
|
|
||
| La transcription devient un artefact persistant qui peut être : | ||
|
|
||
| - S'engage à utiliser le contrôle de version si le développeur l'enregistre. |
There was a problem hiding this comment.
« - S'engage à utiliser le contrôle de version si le développeur l'enregistre. » for "Committed to version control". "S'engager" = to commit oneself. → « Validée dans le contrôle de version ».
| - Utilisez le fichier docker-compose (`challenge51docker-compose.yml`) pour créer les conteneurs et trouver le secret. | ||
| 1. Clonez le dépôt contenant les fichiers du défi. | ||
| 2. Localisez le fichier `challenge51docker-compose.yml` dans le dépôt et accédez à cet emplacement. | ||
| 3. Identifier les qualifications : |
There was a problem hiding this comment.
« Identifier les qualifications : » for "identify the credentials". "Qualifications" = qualifications. → « identifiants ».
What kind of changes does this PR include?
Description
Adds a language selector and localized challenge explanations in Dutch, German, Spanish, French, and Ukrainian. Includes localization coverage and language-toggle tests.
Relations
Closes #2442
References
Checklist: