Security alert list tools return inconsistent JSON response shapes
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
Direzione di ricerca
Inizia con pkg/github/dependabot.go per vedere la forma dell'oggetto che costruisce (Alerts più PageInfo), poi confrontala con il marshalling in pkg/github/code_scanning.go e pkg/github/secret_scanning.go, che emettono array semplici. Aggiorna i due strumenti di elenco per restituire lo stesso contratto {alerts, pageInfo}, regolando eventuali metadati di paginazione già disponibili. Si considera completato quando i test esistenti in pkg/github/ per questi tre strumenti di elenco passano con la nuova forma, aggiungendo un caso che verifica la proprietà di primo livello alerts se non esiste.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
The security alert list tools expose inconsistent JSON response shapes.
list_code_scanning_alerts and list_secret_scanning_alerts return their text payload as a bare JSON array:
[{"number":274,"rule":{"id":"py/unused-import"}}]
while list_dependabot_alerts returns an object:
{"alerts":[{"number":16}],"pageInfo":{"hasNextPage":false,"hasPreviousPage":false}}
This makes closely related security-list tools difficult to consume uniformly and can cause a client to interpret real findings as an empty result when it expects the Dependabot-style alerts property.
The implementation difference appears to be:
pkg/github/code_scanning.gomarshalsalertsdirectlypkg/github/secret_scanning.gomarshalsalertsdirectlypkg/github/dependabot.gobuilds an object containingAlertsandPageInfo
Affected version
v1.14.0
Steps to reproduce the behavior
- Call
list_code_scanning_alertsfor a repository with an open finding. - Observe that the text payload is a bare JSON array.
- Call
list_secret_scanning_alertsand observe the same shape. - Call
list_dependabot_alertsand observe{ "alerts": [...], "pageInfo": {...} }instead.
We reproduced this during a repository-wide Security & Quality audit. A real open CodeQL finding was present in the returned array but was initially missed by a consumer expecting the Dependabot response shape.
Expected vs actual behavior
Expected: the related security alert list tools expose a consistent top-level contract, preferably { "alerts": [...], "pageInfo": {...} } where pagination metadata applies.
Actual: Code Scanning and Secret Scanning return bare arrays, while Dependabot returns an object.
If the difference is intentional, documenting it explicitly would also help clients avoid incorrect assumptions.
Logs
No server error is produced; this is a response-shape inconsistency.
We currently normalize the two bare-array responses in a local compatibility gateway, but an upstream-consistent contract would remove the need for that workaround.
- Lingua principale
- Go
- Stelle
- 33.4k
- Fork
- 5.1k
- Merge medio
- 2g 9h
- PR unite (30g)
- 34
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di github/github-mcp-server
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
github/github-mcp-server#3475 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
github/github-mcp-server#3450 ·
I maintainer di solito rispondono entro 4 giorni
-
get_job_logs with failed_only misses failed jobs after the first 30 jobs of a runForse già presa @jayhemnani9910 l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
github/github-mcp-server#3428 ·
I maintainer di solito rispondono entro 4 giorni
-
create_or_update_file writes to the wrong file when the path contains # or ?Forse già presa @jayhemnani9910 l’ha presa 5 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
github/github-mcp-server#3427 ·
I maintainer di solito rispondono entro 4 giorni
-
pull_request_read drops merge_commit_shaForse già presa @thejdubb02 l’ha presa 34 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
github/github-mcp-server#3235 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di github/github-mcp-server
Issue simili
-
raised-by:reviewer
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
medici-finance/assay#2681 ·
I maintainer di solito rispondono entro 1 giorno
-
feat(icons): add [solidping]Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
homarr-labs/dashboard-icons#2939 ·
I maintainer di solito rispondono entro 1 giorno
-
refine bluetooth scan listAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
AvengeMedia/DankMaterialShell#3761 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
docs: clarify replacement for outdated Terms of Service URL in readme.mdForse già presa @mohitjoshi-hey l’ha presa oggi. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 66/100