Security alert list tools return inconsistent JSON response shapes
Mantenedores costumam responder em até 4 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 74/100
Direção de pesquisa
Comece com pkg/github/dependabot.go para ver a forma do objeto que ele constrói (Alerts mais PageInfo) e compare com o marshalling em pkg/github/code_scanning.go e pkg/github/secret_scanning.go, que emitem arrays simples. Atualize as duas ferramentas de lista para retornar o mesmo contrato {alerts, pageInfo}, ajustando quaisquer metadados de paginação já disponíveis. Está pronto quando os testes existentes em pkg/github/ para essas três ferramentas de lista passam com a nova forma, adicionando um caso que verifica a propriedade de nível superior alerts caso não exista.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Go
- Estrelas
- 33.4k
- Forks
- 5.1k
- Merge médio
- 2d 9h
- PRs com merge (30d)
- 34
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de github/github-mcp-server
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
github/github-mcp-server#3475 ·
Mantenedores costumam responder em até 4 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
github/github-mcp-server#3450 ·
Mantenedores costumam responder em até 4 dias
-
get_job_logs with failed_only misses failed jobs after the first 30 jobs of a runTalvez já em andamento @jayhemnani9910 assumiu há 5 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
github/github-mcp-server#3428 ·
Mantenedores costumam responder em até 4 dias
-
create_or_update_file writes to the wrong file when the path contains # or ?Talvez já em andamento @jayhemnani9910 assumiu há 5 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
github/github-mcp-server#3427 ·
Mantenedores costumam responder em até 4 dias
-
pull_request_read drops merge_commit_shaTalvez já em andamento @thejdubb02 assumiu há 33 dias. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
github/github-mcp-server#3235 · 1 comentário ·
Mantenedores costumam responder em até 4 dias
Todas as issues de github/github-mcp-server
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100
slavakurilyak/awesome-ai-agents#742 ·
Mantenedores costumam responder em até 1 dia
-
bug go
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
genkit-ai/genkit#6761 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 87/100
Mantenedores costumam responder em até 2 dias