v2/src/verification/README.md
A comprehensive security framework for agent truth verification with enterprise-grade protection against Byzantine attacks, fraud, and unauthorized access.
import { SecurityEnforcementSystem, createProductionSecuritySystem } from './verification';
// Create a production-ready security system
const security = createProductionSecuritySystem();
// Initialize with trusted participants
await security.initialize(['agent1', 'agent2', 'agent3', 'agent4', 'agent5']);
// Register a new agent
const agentIdentity = await security.registerAgent(
'verification-agent-1',
['verify', 'sign', 'audit'],
'HIGH'
);
// Process a verification request
const request = {
requestId: 'req-123',
agentId: 'verification-agent-1',
truthClaim: { statement: 'The sky is blue', confidence: 0.95 },
timestamp: new Date(),
nonce: 'random-nonce-123',
signature: 'agent-signature-here'
};
const result = await security.processVerificationRequest(request);
console.log('Verification result:', result);
1. Agent Registration โ Digital Certificate Generation
2. Capability Assignment โ Permission Matrix Setup
3. Reputation Initialization โ Baseline Trust Score
4. Byzantine Network Registration โ Consensus Participation
1. Request Received โ Rate Limit Check
2. Agent Authentication โ Signature Verification
3. Byzantine Detection โ Behavior Analysis
4. Truth Verification โ Evidence Collection
5. Threshold Signing โ Distributed Signature
6. Audit Trail โ Immutable Logging
1. Pattern Analysis โ Behavioral Anomalies
2. Timing Analysis โ Attack Vector Detection
3. Collusion Detection โ Coordinated Behavior
4. Reputation Scoring โ Trust Assessment
const devSecurity = createDevelopmentSecuritySystem();
// Relaxed limits for testing: 100 req/sec, 3 nodes, 2 threshold
const prodSecurity = createProductionSecuritySystem();
// Strict limits: 10 req/sec, 7 nodes, 5 threshold
const highSecurity = createHighSecuritySystem();
// Maximum security: 5 req/sec, 9 nodes, 7 threshold
const customSecurity = createSecuritySystem({
totalNodes: 5,
threshold: 3,
rateLimits: {
perSecond: 25,
perMinute: 500,
perHour: 5000,
perDay: 50000
}
});
Authentication Failures
// Check agent registration
const identity = security.getAgentIdentity('agent-id');
if (!identity) {
console.log('Agent not registered');
}
Rate Limit Exceeded
// Check rate limit status
const rateLimiter = new AdvancedRateLimiter();
const stats = rateLimiter.getRateLimitStats('agent-id');
console.log('Current usage:', stats.currentUsage);
Byzantine Behavior Detected
// Check system health
const status = security.getSecurityStatus();
console.log('Byzantine nodes:', status.systemHealth.byzantineNodes);
security.on('verificationCompleted', (result) => {
console.log('Verification completed:', result.resultId);
});
security.on('verificationError', (error) => {
console.error('Verification failed:', error.error);
});
security.on('emergencyShutdown', (event) => {
console.error('EMERGENCY SHUTDOWN:', event.reason);
});
npm run test:security
npm run test:security:integration
npm run test:security:load
npm run test:security:pentest
// Main security operations
await security.initialize(participants);
await security.registerAgent(id, capabilities, level);
await security.processVerificationRequest(request);
await security.revokeAgent(id, reason);
// Monitoring and status
const status = security.getSecurityStatus();
const report = security.exportSecurityReport();
await security.emergencyShutdown(reason);
For security issues or questions:
This security system is part of Claude Flow and is licensed under the MIT License. See the main LICENSE file for details.
โ ๏ธ Security Notice: This system is designed for protection against various attacks but should be regularly updated and audited. No security system is 100% foolproof. Always follow security best practices and conduct regular security assessments.