Telemetry scrubber: case-insensitive mysql rule redacts an attached port (-P3306) and lets a real password survive in the same command
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 82/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- mysql, typescript
Piste de recherche
Commencez dans server/src/telemetry/scrub.ts et examinez la règle de masquage des identifiants mysql avec la règle sshpass voisine. Ajoutez des tests pour la commande mixte -P3306 et -phunter2, -p3306 attaché en minuscules et mysql -p database ; confirmez que le port et le nom de la base de données sont conservés tandis que les véritables identifiants sont masqués.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
In server/src/telemetry/scrub.ts, the tool-anchored mysql credential rule keeps the i flag:
[
/(\bmysql(?:dump)?\b(?:[^|;&\\\r\n]|\\[\s\S])*?(?:[ \t]|\\\r?\n)-p)("[^"]*"|'[^']*'|[^\s'"-]\S*)/gi,
(_m, lead) => `${lead}${REDACTED}`,
],
i makes (?:[ \t])-p match the uppercase attached port form -P3306 (mysql's syntax for --port attached to a single dash). Because the g continuation after the first match never sees another \bmysql\b anchor, a real password later in the same command line is not redacted.
Repro (upstream tree at e8bb2736)
scrubCommand("mysql -h db -P3306 -phunter2 app")
→ "mysql -h db -P[REDACTED] -phunter2 app"
The port is redacted as if it were a secret, and the actual password -phunter2 survives into OTLP export — contrary to the module header's stated priority ("a secret that survived costs a rotation") and to the sibling sshpass rule, which is deliberately case-sensitive with the comment "Case matters here: -P is sshpass's prompt".
Suggested fix
Drop i from the mysql rule (/gi → /g), matching the sshpass rule's convention:
mysql -h db -P3306 -phunter2 app→mysql -h db -P3306 -p[REDACTED] app- lowercase
-p3306(attached password form) is still redacted mysqldump -phunter2 dbunchanged
Tests worth pinning: the mixed -P/-p command above, the lowercase attached form, and mysql -p database (space form = interactive prompt, database name must not be redacted).
Context: we hit this in a downstream deployment while extending coverage for SSHPASS=… sshpass -e and docker <global-options> login -p …; the case-sensitivity divergence was found by a full-scope review pass. Happy to send a PR if wanted.
- Langage dominant
- TypeScript
- Étoiles
- 6.6k
- Forks
- 914
- Merge moyen
- 22 h 44 min
- PR mergées (30 j)
- 137
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Aucun 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 CopilotKit/OpenBot
-
Wrong key location at startupPeut-être pris @charan-rathore l’a pris il y a 3 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
CopilotKit/OpenBot#800 ·
Les mainteneurs répondent en général sous 1 jour
-
setup-learning.ts fails on Windows with "spawn npx.cmd EINVAL"Peut-être pris @Caldas l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
CopilotKit/OpenBot#792 ·
Les mainteneurs répondent en général sous 1 jour
-
Remote AG-UI Bots can't use the browser in chat: `computer_*` calls refused as "unavailable for this headless turn"Peut-être pris @charan-rathore l’a pris il y a 3 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
CopilotKit/OpenBot#804 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 Plus d'une semaine Accessibilité débutants 22/100
CopilotKit/OpenBot#786 ·
Les mainteneurs répondent en général sous 1 jour
-
server/tests leaks database connections: 55 files open a pool and never close itPeut-être pris @adamsiwiec1 l’a pris il y a 5 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 70/100
CopilotKit/OpenBot#785 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de CopilotKit/OpenBot
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