Skip to content

Bug/Security: secrets-mcp cartridge returns stubs and has insecure GraphQL dispatch #214

Description

@nkar123412-hub

I have analyzed the cartridge and found two significant issues:

  1. Functional Gap in FFI Invoke:
    The function in (lines 222-233) returns static JSON stubs (e.g., ) for all tools instead of calling the actual vault state machine functions (, , etc.) defined in the same file. This renders the cartridge non-functional in terms of actual secret management.

  2. Insecure GraphQL Dispatch in Adapter:
    In (lines 66-77), the function uses to determine which tool to invoke based on the presence of a substring in the request body. This allows any request containing the tool name (e.g., 'secrets_unseal') to trigger the operation, regardless of the actual GraphQL query structure.

Recommendation:

  • Connect to the actual vault functions.
  • Implement proper GraphQL query parsing in the adapter instead of simple substring matching.

Metadata

Metadata

Assignees

No one assigned

    Labels

    automationBots, schedulers, dispatch, self-healing, fan-outbugSomething is broken or behaves incorrectly

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions