Awesome Reviewers

Treat “ignore/filter” and heuristics as non-security: they must not be relied on for authorization or access control.

Apply explicit, trusted enforcement instead:

Example (tool permission allowlist + input-shape validation):

const input = request.input as { commands?: unknown };

// Approve only exact read-only commands (examples):
const safe = new Set([
  "ls",
  "git status",
  "git diff",
  "git log --oneline -20",
]);

if (request.toolName === "run_commands" && Array.isArray(input.commands)) {
  const ok = input.commands.every(
    (cmd) => typeof cmd === "string" && safe.has(cmd.trim())
  );
  if (ok) return { approved: true };
}

return { approved: false };

Net effect: security decisions become explicit, testable, and placed at the correct trust boundary—rather than depending on bypassable filters or repository-controlled scripts.