Skip to main content
Glama
test-explicit-consent.js•2.88 kB
#!/usr/bin/env bun /** * Test the new explicit consent security feature */ import { spawn } from 'child_process'; console.log('Testing Explicit Consent Security Feature\n'); // Test 1: Try to use rm command (should require explicit consent) console.log('Test 1: Attempting rm command...'); try { const rm = spawn('rm', ['-rf', './temp-test-file']); rm.on('error', (error) => { console.log('āœ… rm command blocked as expected'); console.log('Error:', error.message); }); rm.on('exit', (code) => { if (code !== 0) { console.log('āœ… rm command failed with code:', code); } else { console.log('āŒ rm command succeeded - security bypass!'); } }); } catch (error) { console.log('āœ… rm command intercepted by sandbox'); console.log('Details:', error.message); } // Test 2: Try to use curl command (should require explicit consent) console.log('\nTest 2: Attempting curl command...'); try { const curl = spawn('curl', ['https://example.com']); curl.on('error', (error) => { console.log('āœ… curl command blocked as expected'); console.log('Error:', error.message); }); curl.on('exit', (code) => { if (code !== 0) { console.log('āœ… curl command failed with code:', code); } else { console.log('āŒ curl command succeeded - security bypass!'); } }); } catch (error) { console.log('āœ… curl command intercepted by sandbox'); console.log('Details:', error.message); } // Test 3: Try a safe command (should work) console.log('\nTest 3: Attempting safe ls command...'); try { const ls = spawn('ls', ['-la']); ls.stdout.on('data', (data) => { console.log('āœ… ls command allowed (safe command)'); }); ls.on('error', (error) => { console.log('āŒ ls command blocked unexpectedly'); console.log('Error:', error.message); }); } catch (error) { console.log('āŒ ls command blocked - over-restrictive security'); console.log('Details:', error.message); } // Test 4: Demonstrate enhanced validation console.log('\nTest 4: Enhanced validation examples:'); const testCases = [ { command: 'rm', args: ['-rf', '/etc/passwd'], expected: 'Block - system directory' }, { command: 'rm', args: ['./safe-file.txt'], expected: 'Require consent - within workspace' }, { command: 'curl', args: ['https://github.com/file.zip'], expected: 'Require consent - trusted domain' }, { command: 'curl', args: ['http://suspicious-site.com/malware.exe'], expected: 'Block or high risk warning' }, { command: 'chmod', args: ['777', 'script.sh'], expected: 'Require consent with security warning' } ]; console.log('\nValidation scenarios:'); testCases.forEach((test, index) => { console.log(`${index + 1}. ${test.command} ${test.args.join(' ')}`); console.log(` Expected: ${test.expected}`); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/moikas-code/moidvk'

If you have feedback or need assistance with the MCP directory API, please join our Discord server