Tracker: security and board automation on a GitHub App credential
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Start with the Sub-issues panel and AGENTS.md, separating the unblocked CodeQL and alerts #74–#76 from the GitHub App prerequisite. Then inspect sdk-watch.yml and the credentialed automation work listed in the sub-issues, preserving the stated job, marker, pinning, failure, and human-gating invariants. Done means every sub-issue is closed and a nightly run boards what it files without manual intervention.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Goal
Put the repo's security and board automation on one GitHub App credential, so alerts, advisories and new issues reach board #28 without a maintainer running /issue-triage by hand, and so v2 code is scanned before the release PR rather than on it.
Why now
The v2.9.0 release showed every gap at once:
- CodeQL never scans
v2/main. A high-severity ReDoS introduced this milestone (#2540) surfaced only on the milestone-merge PR, and held the release. - Code-scanning alerts become no issues at all. Three high-severity alerts (#74–#76) are open and untracked.
- The Dependabot sweep files issues it cannot board, because the
PROJECT_TOKENit reads has never existed. The SDK watch and the monthly refresh never board by design, for the same reason. - GHSA draft cards and nightly triage were both parked as
blockedon the same credential, with no card of their own for the credential.
Structure
Everything that writes to the board waits on one prerequisite: the GitHub App. Two items need no credential and can start immediately.
The Sub-issues panel on this issue is the canonical list, in this order:
- #2544, the GitHub App. The long pole and human-gated (org admin), so it goes first and is requested now. Take every other admin decision to the same conversation (see below).
- #2545, CodeQL on
v2/main. Needs no credential; runs in parallel with #2544. Disabling default setup is a repo-admin act. - #2547, the Dependabot sweep onto the App. The smallest consumer and the end-to-end proof that the App works; it sets the token-step pattern the rest copy.
- #2462, GHSA draft cards. Its docs half (skills,
AGENTS.md) needs no credential and can start before #2544 lands. - #2548, boarding for the SDK watch and monthly refresh. Reuses #2547's pattern.
- #2542, the code-scanning sweep. Better after #2545, so alerts exist on the
v2/mainref instead of a file/line re-check. - #2463, nightly triage. The largest, and it needs a second credential decision (federation or a capped model key for third-party input).
#2546 (alerts #74–#76) is done.
Admin decisions to take in one pass
- Create and install the App with #2544's permission list (and decide on the optional Administration: read).
- Disable CodeQL default setup when #2545's workflow lands.
- Whether secret scanning is in #2542's scope (adds a read permission to the App).
- #2463's model credential: workload identity federation, or a dedicated CI-scoped key with a spend cap.
Invariants every sub-issue keeps
These are from AGENTS.md:
- No model runs in a write-capable job. The deterministic sweeps need no model. Nightly triage (#2463) does, and must use the three-job shape
sdk-watch.ymlestablished. - A marker is trusted only on automation-authored issues, because the repo is public.
- Every action in a credentialed job is SHA-pinned (
verify:action-pins). - A sweep that cannot read its listing fails loudly and writes nothing.
- Accepting and publishing a security advisory stay human-gated; automation only creates tracking cards.
Done when
Every sub-issue is closed, and a nightly run boards what it files with no manual step.
- Lenguaje dominante
- TypeScript
- Estrellas
- 11.1k
- Forks
- 1.6k
- Merge medio
- 5 h 29 min
- PR fusionados (30 d)
- 158
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de modelcontextprotocol/inspector
-
enhancement v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
modelcontextprotocol/inspector#2782 ·
Los mantenedores suelen responder en 1 día
-
CLI tests seed the developer's real ~/.mcp-inspector/mcp.json (cli.test.ts, completion.test.ts)Abiertobug v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
modelcontextprotocol/inspector#2765 ·
Los mantenedores suelen responder en 1 día
-
chore v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
modelcontextprotocol/inspector#2752 ·
Los mantenedores suelen responder en 1 día
-
SSE transport: connection succeeds then marked 'Failed' after first event, works fine with raw curlAbierto
Dificultad 4/5 1-2 días Aptitud para principiantes 53/100
modelcontextprotocol/inspector#2783 ·
Los mantenedores suelen responder en 1 día
-
enhancement v2
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
modelcontextprotocol/inspector#2772 ·
Los mantenedores suelen responder en 1 día
Todos los issues de modelcontextprotocol/inspector
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
braintrustdata/braintrust-sdk-javascript#2659 ·
Los mantenedores suelen responder en 1 día
-
body-parser 2.3.0 in the published ai-dial-chat-bff image is vulnerable (CVE-2026-111181, HIGH)Posiblemente ocupada @illya-havsiyevych la tomó hoy. Abiertobug
Dificultad 1/5 1-3 horas Aptitud para principiantes 87/100
epam/ai-dial-chat#9566 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
はさみアイコンを修正するAbiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
resource.reload() while params is in error switches the resource to 'idle' instead of retryingAbiertoarea: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día