UNPKG

@sun-asterisk/sunlint

Version:

☀️ SunLint - Multi-language static analysis tool for code quality and security | Sun* Engineering Standards

59 lines (52 loc) 1.46 kB
/** * S004 Dart Analyzer - Sensitive Data Logging Protection * * This is a JS wrapper that delegates to DartAnalyzer binary. * Actual implementation: dart_analyzer/lib/rules/sensitive_data_logging_analyzer.dart * * Rule: Prevent logging of sensitive information like passwords, tokens, and payment data */ class DartS004Analyzer { constructor() { this.ruleId = 'S004'; this.language = 'dart'; } /** * Get rule metadata */ getMetadata() { return { ruleId: 'S004', name: 'Sensitive Data Logging Protection', language: 'dart', delegateTo: 'dart_analyzer', description: 'Prevent logging of sensitive information without proper redaction' }; } /** * Get default configuration */ getConfig() { return { sensitivePatterns: [ 'password', 'secret', 'token', 'apikey', 'api_key', 'accessToken', 'access_token', 'refreshToken', 'refresh_token', 'credential', 'auth', 'private', 'creditCard', 'credit_card', 'ssn', 'socialSecurity' ], logMethods: ['print', 'debugPrint', 'log', 'logger'], severity: 'warning' }; } /** * Analysis is delegated to DartAnalyzer via heuristic-engine.js */ async analyze(files, language, options) { // Delegated to DartAnalyzer binary via heuristic-engine.js return []; } supportsLanguage(language) { return language === 'dart'; } } module.exports = DartS004Analyzer;