Skip to content

[security][LOW] Hardening: add Dependabot for github-actions; make Zod tool schemas strict #31

@m1ngshum

Description

@m1ngshum

Severity: LOW

Location

.github/ (no dependabot.yml), src/server/tools.ts:121-138

Summary

Two small hardening items:

  1. No Dependabot for github-actions. Third-party actions are correctly SHA-pinned, but there is no .github/dependabot.yml with package-ecosystem: github-actions, so pins are unmonitored and can silently go stale/unpatched. (A package-ecosystem: npm entry is also worth adding.)
  2. Loose Zod tool schemas. MCP tool inputs use bare, unbounded z.string() for name/client and the objects aren't .strict(), so unknown keys are silently dropped and length is unbounded. Runtime checks (validateMcpServerName, CLIENT_IDS) currently carry the load; the Zod layer should be the declarative enforcement point.

Recommended fix

  • Add .github/dependabot.yml for github-actions (and npm).
  • Add .max(256) to name fields, .strict() to the tool input objects, and z.enum(CLIENT_IDS) for client.

Acceptance criteria

  • Dependabot config present for github-actions.
  • Tool input schemas are .strict() with bounded strings and enum client.

Filed from a repo security review.
https://claude.ai/code/session_01XX9sT7kYs1ctQyY2SBg87t

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions