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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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