Triage the braces stack-exhaustion advisory and set the dismissal bar
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Documentation
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript
- Domaine
- documentation, security
Piste de recherche
Commence par examiner les alertes Dependabot concernant [email protected], le problème du fichier lock en double suivi dans #337 et la politique actuelle de TRIAGE.md. Vérifie que les globs du dépôt ne reçoivent que des chemins contrôlés par les mainteneurs, puis consigne dans TRIAGE.md la décision relative à l’alerte et la condition de réouverture, tout en documentant qui peut rejeter les alertes et les codes de motifs acceptables. La tâche est terminée lorsque les alertes liées au fichier lock en double sont fermées, que l’alerte 259 a fait l’objet d’un rejet ou d’une atténuation consigné et que les exigences de rejet sont documentées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem statement
Three high-severity Dependabot alerts are open, and none of them has a fix available.
| Alert | Package | Advisory | Manifest | Vulnerable range | First patched |
|---|---|---|---|---|---|
| 259 | braces | CVE-2026-93687 / GHSA-vfj7-8cjw-p6xm | website/package-lock.json | <= 3.0.3 |
none |
| 260 | braces | CVE-2026-93687 / GHSA-vfj7-8cjw-p6xm | website/yarn.lock | <= 3.0.3 |
none |
| 261 | node-forge | CVE-2026-85393 / GHSA-86w9-cpqp-85rv | website/yarn.lock | <= 1.4.0 |
none |
This is one real finding and two duplicates. Alerts 260 and 261 point at website/yarn.lock, a lockfile CI never installs from, and both disappear once the duplicate lockfile is removed. That work is tracked in #337; until it lands, the Security tab shows 3 where the codebase has 1.
The remaining finding is [email protected], pulled in by @docusaurus/core through @docusaurus/utils → [email protected] and [email protected]. It is a stack-exhaustion denial of service triggered by a deeply nested brace pattern. In this repo the patterns come from Docusaurus's own file walk over maintainer-controlled paths, not from contributor or visitor input, and it runs at build time.
With no patched version published, the only options are to dismiss with a recorded reason or to leave the tab permanently red.
Proposed solution
- Land the lockfile consolidation first, which closes 260 and 261.
- Dismiss 259 as tolerable risk, with a comment that records why (build-time glob over maintainer-controlled paths) and what reopens it (a patched braces release). Verify first that nothing in the repo feeds user or contributor input into a glob; if something does, this reasoning is wrong and the finding needs a real mitigation.
- Add a short "Security alerts and dismissal" section to
TRIAGE.md: who may dismiss, which reason codes are acceptable, and that a dismissal requires a comment naming the condition that reopens it.
Scope and impact
No code change beyond documentation. The risk to avoid is a silent dismissal, which is indistinguishable from silencing an alert; the comment requirement is the point of the exercise.
Acceptance criteria:
- Alerts 260 and 261 are closed by the lockfile work
- Alert 259 is either dismissed with a recorded reason or has a documented mitigation
-
TRIAGE.mdstates the dismissal bar
- Langage dominant
- TypeScript
- Étoiles
- 13
- Forks
- 22
- Merge moyen
- 2 j 18 h
- PR mergées (30 j)
- 17
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de IntersectMBO/developer-experience
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
IntersectMBO/developer-experience#363 ·
Les mainteneurs répondent en général sous 2 jours
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
IntersectMBO/developer-experience#362 ·
Les mainteneurs répondent en général sous 2 jours
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
IntersectMBO/developer-experience#360 ·
Les mainteneurs répondent en général sous 2 jours
-
Verify session: UI and Smart Contract Interaction (Q2 2026, 16-ui-smart-contract-interaction)Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 92/100
IntersectMBO/developer-experience#359 ·
Les mainteneurs répondent en général sous 2 jours
-
Verify session: dApp Architecture from Wallet to Backend (Q2 2026, 15-dapp-architecture-demo)Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
IntersectMBO/developer-experience#358 ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de IntersectMBO/developer-experience
Issues similaires
-
Edit: Tele Posadas HDOuvertecheck:passed streams:edit
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
area:mcp bug has repro platform:vscode regression
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
anthropics/claude-code#103970 ·
Les mainteneurs répondent en général sous 1 jour
-
skillopt: success-reflect prompt omits the edit schema, so every success-only edit is droppedOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Workspace secrets/constants containing "$" are corrupted when resolved in data source optionsOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
sdk-typescript: unquoted COPY globs in shell form are silently dropped from the image build contextOuvertebug javascript
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour