Application.load_config_file loads all files with same basename as given file
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par Application.load_config_file et reproduisez les deux cas de l’issue avec des fichiers .py et .json temporaires. Suivez la manière dont le chemin demandé est résolu et dont les fichiers correspondants sont sélectionnés. Ajoutez un test de régression montrant que le chargement d’un chemin absolu n’exécute pas et n’analyse pas un autre fichier portant le même nom de base.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Even if load_config_file is given an absolute path to a config file, it will load all files that have the same basename that are in that directory.
This is highly surprising and potentially a security issue.
Example:
from pathlib import Path
from traitlets import Integer
from traitlets.config import Application
from tempfile import TemporaryDirectory
class Foo(Application):
bar = Integer(0).tag(config=True)
def start(self):
print(self.bar)
if __name__ == "__main__":
with TemporaryDirectory() as tmpdir:
tmpdir = Path(tmpdir)
json_path = tmpdir / "foo.json"
py_path = tmpdir / "foo.py"
# valid python, invalid
py_path.write_text("c.Foo.bar = 10")
json_path.write_text("Invalid json")
app = Foo()
app.load_config_file(py_path)
app.start()
# other way around
py_path.write_text("raise Exception('You loaded the python file!')")
json_path.write_text('{"Foo": {"bar": 11}}')
app = Foo()
app.load_config_file(json_path)
app.start()
- Langage dominant
- Python
- Étoiles
- 653
- Forks
- 217
- Merge moyen
- 2 j 21 h
- PR mergées (30 j)
- 2
Préparer son environnement
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 ipython/traitlets
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 65/100
-
Difficulté 1/5 1-3 heures Accessibilité débutants 65/100
-
good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Document `TraitType.read_only`Ouvertedocumentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 65/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
Toutes les issues de ipython/traitlets
Issues similaires
-
ACK_WAITING HELP_WANTED UPDATE_CS
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
OWASP/CheatSheetSeries#2458 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
BasedHardware/omi#19711 ·
Les mainteneurs répondent en général sous 1 jour
-
Qwen3_5MoeModel no longer returns router_logits, breaking aux loss with output_router_logits=TrueOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
huggingface/transformers#49172 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
vllm-project/vllm-metal#885 ·
Les mainteneurs répondent en général sous 1 jour