-
-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Labels
enhancementNew feature or requestNew feature or request
Description
To enhance user control and security, we need to implement a mechanism that allows certain tools to be marked as 'unsafe' or 'require_approval'. When such tools are invoked, users should be prompted for explicit approval and given the opportunity to review and edit tool parameters.
Objective:
Develop a system within tool_registry and composio_service to categorize tools by their safety requirements and implement a user-facing approval flow for sensitive operations.
Key Features:
- Tool Marking: Introduce flags (e.g.,
unsafe: true,require_approval: true) intool_registryto designate specific tools. - Approval Prompt: When an 'unsafe' or 'require_approval' tool is called, GAIA will pause execution and present a clear approval prompt to the user.
- Parameter Review & Edit: The approval prompt will display the tool's name and all parameters with their proposed values, allowing users to review and modify them before execution.
- Safe Mode: Implement a 'Safe Mode' setting in user preferences. When enabled, GAIA will automatically block calls to tools marked as 'unsafe' or 'require_approval' without prompting for approval.
- Audit Logging: Log all approved and blocked tool calls for transparency and security auditing.
Benefits:
- Enhanced Security: Prevent unintended or malicious tool executions.
- Increased User Trust: Give users full transparency and control over GAIA's actions.
- Customizable Safety: Allow users to tailor their safety preferences with 'Safe Mode'.
- Compliance: Meet potential regulatory or internal security requirements.
Action Items:
- Modify
tool_registryschema to includeunsafeandrequire_approvalflags. - Update
composio_serviceto check these flags before tool execution. - Design and implement the user-facing approval UI, including parameter display and editing capabilities.
- Develop the 'Safe Mode' toggle and its logic for blocking tool calls.
- Implement logging for tool approval/denial events.
- Conduct thorough testing to ensure the mechanism functions as expected and does not introduce regressions.
- Document the new safety features for both developers and end-users.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request