Security alert list tools return inconsistent JSON response shapes
Maintainer antworten meist innerhalb von 4 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 74/100
Rechercherichtung
Beginne mit pkg/github/dependabot.go, um die Objektform zu sehen, die es aufbaut (Alerts plus PageInfo), und vergleiche das dann mit dem Marshalling in pkg/github/code_scanning.go und pkg/github/secret_scanning.go, die bare Arrays ausgeben. Aktualisiere die beiden List-Tools, damit sie denselben {alerts, pageInfo}-Kontrakt zurückgeben, und passe jede bereits verfügbare Paginierungs-Metadaten an. Fertig, wenn die bestehenden Tests in pkg/github/ für diese drei List-Tools mit der neuen Form bestehen, und füge falls noch nicht vorhanden einen Fall hinzu, der die oberste alerts-Property assertions.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Go
- Sterne
- 33.4k
- Forks
- 5.1k
- Ø Merge
- 3 T. 1 Std.
- Gemergte PRs (30 T.)
- 35
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/github-mcp-server
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
github/github-mcp-server#3450 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
get_job_logs with failed_only misses failed jobs after the first 30 jobs of a runEvtl. vergeben @jayhemnani9910 hat das vor 4 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
github/github-mcp-server#3428 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
create_or_update_file writes to the wrong file when the path contains # or ?Evtl. vergeben @jayhemnani9910 hat das vor 4 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
github/github-mcp-server#3427 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
pull_request_read drops merge_commit_shaEvtl. vergeben @thejdubb02 hat das vor 33 Tagen übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
github/github-mcp-server#3235 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Add guidance on GitHub autolinked reference formatting for AI agentsEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offenenhancement
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
github/github-mcp-server#3042 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 4 Tagen
Alle Issues in github/github-mcp-server
Ähnliche Issues
-
bug go
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
genkit-ai/genkit#6761 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug(backend): `make test-update` in backend/src/v2 fails because the --update flag was removedOffenready
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 92/100
kubeflow/pipelines#14784 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug frontend good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 1 Tag
-
trust: update-propagation-directive requires developer mode while add and remove do notEvtl. vergeben @bhuvan-somisetty hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
oalders/clodhopper#133 ·