Add AST-based security middleware and enforcement wiring
This commit is contained in:
@@ -63,3 +63,34 @@ test("mcp registry rejects unknown explicit handlers", () => {
|
||||
/Unknown MCP handler/,
|
||||
);
|
||||
});
|
||||
|
||||
test("mcp registry enforces tool clearance on resolved codex tool lists", () => {
|
||||
const registry = createDefaultMcpRegistry();
|
||||
|
||||
const resolved = registry.resolveServerWithHandler({
|
||||
serverName: "sandbox-tools",
|
||||
server: {
|
||||
type: "stdio",
|
||||
command: "node",
|
||||
args: ["server.js"],
|
||||
enabled_tools: ["read_file", "write_file", "search"],
|
||||
disabled_tools: ["legacy_tool"],
|
||||
},
|
||||
context: {},
|
||||
fullConfig: {
|
||||
servers: {},
|
||||
},
|
||||
toolClearance: {
|
||||
allowlist: ["read_file", "search"],
|
||||
banlist: ["search", "write_file"],
|
||||
},
|
||||
});
|
||||
|
||||
assert.ok(resolved.codex);
|
||||
assert.deepEqual(resolved.codex.enabled_tools, ["read_file"]);
|
||||
assert.deepEqual(resolved.codex.disabled_tools, [
|
||||
"legacy_tool",
|
||||
"search",
|
||||
"write_file",
|
||||
]);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user