UNPKG

mcp-security-agent

Version:

An MCP-based security scanner and agentic AI for vulnerability detection

93 lines 2.52 kB
import { SecurityPolicy, PolicyRule, PolicyResult } from '../types/index.js'; import { Logger } from '../utils/Logger.js'; export declare class PolicyEngine { private logger; private policies; private defaultPolicies; constructor(logger: Logger); /** * Initialize default security policies */ private initializeDefaultPolicies; /** * Add a new security policy */ addPolicy(policy: SecurityPolicy): void; /** * Remove a security policy */ removePolicy(policyId: string): boolean; /** * Get a security policy by ID */ getPolicy(policyId: string): SecurityPolicy | undefined; /** * Get all policies */ getAllPolicies(): SecurityPolicy[]; /** * Get policies by scope */ getPoliciesByScope(scope: 'global' | 'team' | 'repo'): SecurityPolicy[]; /** * Enable or disable a policy */ setPolicyEnabled(policyId: string, enabled: boolean): boolean; /** * Update a policy rule */ updatePolicyRule(policyId: string, ruleId: string, updatedRule: PolicyRule): boolean; /** * Evaluate a policy against a context */ evaluatePolicy(policy: SecurityPolicy, context: any): Promise<PolicyResult>; /** * Evaluate all rules in a policy against a context */ private evaluatePolicyRules; /** * Evaluate all applicable policies against a context */ evaluateAllPolicies(context: Record<string, any>): Promise<PolicyResult[]>; /** * Evaluate a single rule against a context */ private evaluateRule; /** * Evaluate a single condition against a context */ private evaluateCondition; /** * Get field value from context using dot notation */ private getFieldValue; /** * Generate recommendations for a rule */ private generateRecommendations; /** * Get policy inheritance chain */ getPolicyInheritance(policyId: string): SecurityPolicy[]; /** * Export policies to human-readable format */ exportPolicies(format?: 'json' | 'yaml' | 'rego'): string; /** * Convert policies to YAML format */ private convertToYAML; /** * Convert policies to Rego format */ private convertToRego; /** * Convert operator to Rego syntax */ private convertOperatorToRego; /** * Convert value to Rego syntax */ private convertValueToRego; } //# sourceMappingURL=PolicyEngine.d.ts.map