[Bug]: SonarQube reliability issue

Ouverte Adaptée aux débutants
#5,342 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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
64/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
bash, shell
Domaine
cli

Piste de recherche

Le rapport indique des scripts shell dans le dossier .specify généré, mais ne nomme aucun fichier précis. Commencez par trouver les scripts sh créés par specify init my-project --integration et vérifier quels tests conditionnels SonarQube signale. Mettez à jour les tests signalés en respectant l’exigence de compatibilité POSIX indiquée, puis validez les scripts générés avec SonarQube.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug triage-out-of-scope
Bug Description

For ...sh scripts, there is the issue:
Use "[[" instead of "[" for conditional tests

Why is this an issue:

`The traditional [ command (also known as test) is an external command that treats its arguments as separate words, making it vulnerable to word splitting and pathname expansion issues. This can lead to unexpected behavior when variables contain spaces, special characters, or when filenames match glob patterns.

The modern [[ construct is part of Bash syntax rather than a separate command. This means:

Word splitting and pathname expansion do not occur within [[ ]], making it more robust when handling variables that might contain spaces or special characters
It provides better error handling and more predictable behavior
It offers additional features like regular expression matching with the =~ operator
It’s generally faster since it doesn’t require spawning an external process
Using [ can cause subtle bugs that are difficult to debug, especially when dealing with user input, filenames, or variables that might be empty or contain unexpected characters.

What is the potential impact?
Using the traditional [ command instead of [[ can lead to script failures or unexpected behavior when:

Variables contain spaces, tabs, or newlines
Filenames contain special characters or match glob patterns
Variables are empty or unset
These issues can cause scripts to behave unpredictably in production environments, potentially leading to data loss, security vulnerabilities, or system instability. Scripts without a shebang are not checked because their shell interpreter cannot be determined. We assume that POSIX compatibility is required.`

Steps to Reproduce
  1. specify init my-project --integration
  2. Chose sh scripts
  3. Open sh script in .specify folder
  4. Validate with SonarQube/Cloud
Expected Behavior

No issue from SonarQube

Actual Behavior

Use "[[" instead of "[" for conditional tests

Specify CLI Version

1.3.2

AI Agent

Claude Code

Operating System

macOS

Python Version

3.11.5

Error Logs

Additional Context

No response

AI Disclosure

N/A

Langage dominant
Python
Étoiles
149k
Forks
13.4k
Merge moyen
1 j 5 h
PR mergées (30 j)
223

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de github/spec-kit

Toutes les issues de github/spec-kit

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.