/** * @fileoverview Rule Profiles * @module @nahisaho/musubix-security/rules/config/profiles * @trace TSK-RULE-002 */ import type { RuleSeverity } from '../types.js'; /** * Profile definition */ export interface RuleProfile { /** Profile name */ name: string; /** Profile description */ description: string; /** Rules included in this profile */ rules: ProfileRuleConfig[]; /** Severity threshold for this profile */ severityThreshold: RuleSeverity; /** Whether to enable taint analysis */ enableTaintAnalysis: boolean; /** Whether to enable DFG analysis */ enableDFG: boolean; } /** * Rule configuration in profile */ export interface ProfileRuleConfig { /** Rule ID */ id: string; /** Whether enabled (default: true) */ enabled?: boolean; /** Severity override */ severity?: RuleSeverity; } /** * Minimal profile - Essential security checks only * Best for: Quick scans, CI pipelines with time constraints */ export declare const PROFILE_MINIMAL: RuleProfile; /** * Standard profile - Balanced security coverage * Best for: Regular development, PR checks */ export declare const PROFILE_STANDARD: RuleProfile; /** * Strict profile - Comprehensive security analysis * Best for: Security audits, pre-release checks */ export declare const PROFILE_STRICT: RuleProfile; /** * OWASP-only profile - OWASP Top 10 focus */ export declare const PROFILE_OWASP: RuleProfile; /** * CWE-only profile - CWE Top 25 focus */ export declare const PROFILE_CWE: RuleProfile; /** * All available profiles */ export declare const PROFILES: Record; /** * Get profile by name */ export declare function getProfile(name: string): RuleProfile | undefined; /** * Get all profile names */ export declare function getProfileNames(): string[]; /** * Check if profile exists */ export declare function hasProfile(name: string): boolean; /** * Get rule IDs from profile */ export declare function getProfileRuleIds(profileName: string): string[]; /** * Merge profile with custom config */ export declare function mergeProfileConfig(profileName: string, customRules?: Record): ProfileRuleConfig[]; //# sourceMappingURL=profiles.d.ts.map