fetch: --allowed-hosts accepts wildcard IP entries (e.g. *.0.0.1) and matches any IPv4 ending with that suffix
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
- 78/100
Piste de recherche
Commencez dans src/fetch/src/mcp_server_fetch/allowlist.py et lisez normalize_allowed_host et host_is_allowed, que l’issue identifie comme les points d’entrée concernés. Examinez les tests existants pour la normalisation et la correspondance des hôtes autorisés, puis ajoutez des tests pour les littéraux IP avec caractères génériques, les suffixes numériques et les hôtes sous forme d’adresses IP. Le travail est terminé lorsque ces entrées sont rejetées ou ne correspondent jamais à des littéraux IP, tandis que les caractères génériques de sous-domaines de noms d’hôte continuent de fonctionner.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
mcp-server-fetch's --allowed-hosts allowlist (src/fetch/src/mcp_server_fetch/allowlist.py) documents two valid entry forms:
Two entry forms only, to keep the semantics obvious: an exact host (a name or an IP literal), and
*.example.com, which matches any subdomain at any depth of example.com...
However, normalize_allowed_host only checks ipaddress.ip_address(...) when not wildcard (line 37). When a wildcard prefix *. is given before an IP literal or numeric IP suffix (such as *.10.0.0.1 or *.0.0.1), httpx.URL(f"http://{name}/") parses name without error and returns *.10.0.0.1 / *.0.0.1.
Then in host_is_allowed(host, allowed_hosts), host.endswith(entry[1:]) matches any IPv4 literal ending with .0.0.1 (for example, *.0.0.1 matches both 10.0.0.1 and 127.0.0.1).
from mcp_server_fetch.allowlist import host_is_allowed, normalize_allowed_hosts
entries = normalize_allowed_hosts(["*.0.0.1"]) # returns ('*.0.0.1',)
assert host_is_allowed("127.0.0.1", entries) is True
assert host_is_allowed("10.0.0.1", entries) is True
Expected
normalize_allowed_hostrejects wildcard IP literals and numeric-TLD wildcard suffixes (*.10.0.0.1,*.0.0.1,*.[::1]) withValueError.host_is_alloweddoes not match*.subdomain wildcards against IP address literals.
- Langage dominant
- TypeScript
- Étoiles
- 91.9k
- Forks
- 11.9k
- Merge moyen
- 3 h 10 min
- PR mergées (30 j)
- 178
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 modelcontextprotocol/servers
-
bug server-sequentialthinking v2
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
modelcontextprotocol/servers#5526 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
fix(docker): correct stale --db-path comments in fetch/git Dockerfiles and clarify git READMEPeut-être pris @cliffhall l’a pris aujourd’hui. Ouvertedocumentation server-fetch server-git v2
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
modelcontextprotocol/servers#5483 · 4 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
chore v2
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
modelcontextprotocol/servers#5527 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement server-memory v2
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
modelcontextprotocol/servers#5525 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
everything: README description of `get-env` masking omits the whole-segment rule — `APIKEY` / `MYKEY` are not maskedPeut-être pris @cliffhall l’a pris aujourd’hui. Ouvertedocumentation server-everything v2
modelcontextprotocol/servers#5524 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de modelcontextprotocol/servers
Issues similaires
-
grep and find tools search inside VCS directories (.git, .svn, .hg, .jj)Peut-être pris @acmerfight l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
earendil-works/pi#12084 ·
Les mainteneurs répondent en général sous 1 jour
-
comp/desktop P3 type/feature
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
NousResearch/hermes-agent#154285 ·
Les mainteneurs répondent en général sous 1 jour
-
agent-reported bug from-app needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
nightly-labs/openbot#8154 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
jdx/mise-action#730 ·
Les mainteneurs répondent en général sous 1 jour
-
area:cards enhancement hand-tail ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
fil-donadoni/tolaria#9275 ·
Les mainteneurs répondent en général sous 1 jour