Add AST-based security middleware and enforcement wiring

This commit is contained in:
2026-02-23 14:21:22 -05:00
parent 9b4216dda9
commit ef2a25b5fb
28 changed files with 1936 additions and 37 deletions

View File

@@ -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",
]);
});