secure-scan 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +564 -0
- package/dist/ai/aiAnalyzer.d.ts +99 -0
- package/dist/ai/aiAnalyzer.d.ts.map +1 -0
- package/dist/ai/aiAnalyzer.js +669 -0
- package/dist/ai/aiAnalyzer.js.map +1 -0
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +21 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/analyzers/base/baseAnalyzer.d.ts +44 -0
- package/dist/analyzers/base/baseAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/base/baseAnalyzer.js +53 -0
- package/dist/analyzers/base/baseAnalyzer.js.map +1 -0
- package/dist/analyzers/base/index.d.ts +5 -0
- package/dist/analyzers/base/index.d.ts.map +1 -0
- package/dist/analyzers/base/index.js +21 -0
- package/dist/analyzers/base/index.js.map +1 -0
- package/dist/analyzers/c-cpp/cppAnalyzer.d.ts +60 -0
- package/dist/analyzers/c-cpp/cppAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/c-cpp/cppAnalyzer.js +218 -0
- package/dist/analyzers/c-cpp/cppAnalyzer.js.map +1 -0
- package/dist/analyzers/c-cpp/index.d.ts +5 -0
- package/dist/analyzers/c-cpp/index.d.ts.map +1 -0
- package/dist/analyzers/c-cpp/index.js +21 -0
- package/dist/analyzers/c-cpp/index.js.map +1 -0
- package/dist/analyzers/core/engine/index.d.ts +5 -0
- package/dist/analyzers/core/engine/index.d.ts.map +1 -0
- package/dist/analyzers/core/engine/index.js +21 -0
- package/dist/analyzers/core/engine/index.js.map +1 -0
- package/dist/analyzers/core/engine/ruleEngine.d.ts +46 -0
- package/dist/analyzers/core/engine/ruleEngine.d.ts.map +1 -0
- package/dist/analyzers/core/engine/ruleEngine.js +173 -0
- package/dist/analyzers/core/engine/ruleEngine.js.map +1 -0
- package/dist/analyzers/core/index.d.ts +8 -0
- package/dist/analyzers/core/index.d.ts.map +1 -0
- package/dist/analyzers/core/index.js +24 -0
- package/dist/analyzers/core/index.js.map +1 -0
- package/dist/analyzers/core/scanner/fileScanner.d.ts +31 -0
- package/dist/analyzers/core/scanner/fileScanner.d.ts.map +1 -0
- package/dist/analyzers/core/scanner/fileScanner.js +199 -0
- package/dist/analyzers/core/scanner/fileScanner.js.map +1 -0
- package/dist/analyzers/core/scanner/index.d.ts +5 -0
- package/dist/analyzers/core/scanner/index.d.ts.map +1 -0
- package/dist/analyzers/core/scanner/index.js +21 -0
- package/dist/analyzers/core/scanner/index.js.map +1 -0
- package/dist/analyzers/core/scoring/index.d.ts +5 -0
- package/dist/analyzers/core/scoring/index.d.ts.map +1 -0
- package/dist/analyzers/core/scoring/index.js +21 -0
- package/dist/analyzers/core/scoring/index.js.map +1 -0
- package/dist/analyzers/core/scoring/riskScoring.d.ts +49 -0
- package/dist/analyzers/core/scoring/riskScoring.d.ts.map +1 -0
- package/dist/analyzers/core/scoring/riskScoring.js +180 -0
- package/dist/analyzers/core/scoring/riskScoring.js.map +1 -0
- package/dist/analyzers/core/securityScanner.d.ts +47 -0
- package/dist/analyzers/core/securityScanner.d.ts.map +1 -0
- package/dist/analyzers/core/securityScanner.js +298 -0
- package/dist/analyzers/core/securityScanner.js.map +1 -0
- package/dist/analyzers/csharp/csharpAnalyzer.d.ts +64 -0
- package/dist/analyzers/csharp/csharpAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/csharp/csharpAnalyzer.js +232 -0
- package/dist/analyzers/csharp/csharpAnalyzer.js.map +1 -0
- package/dist/analyzers/csharp/index.d.ts +5 -0
- package/dist/analyzers/csharp/index.d.ts.map +1 -0
- package/dist/analyzers/csharp/index.js +21 -0
- package/dist/analyzers/csharp/index.js.map +1 -0
- package/dist/analyzers/iac/iacAnalyzer.d.ts +36 -0
- package/dist/analyzers/iac/iacAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/iac/iacAnalyzer.js +182 -0
- package/dist/analyzers/iac/iacAnalyzer.js.map +1 -0
- package/dist/analyzers/iac/index.d.ts +5 -0
- package/dist/analyzers/iac/index.d.ts.map +1 -0
- package/dist/analyzers/iac/index.js +21 -0
- package/dist/analyzers/iac/index.js.map +1 -0
- package/dist/analyzers/index.d.ts +30 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +80 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/analyzers/java/index.d.ts +5 -0
- package/dist/analyzers/java/index.d.ts.map +1 -0
- package/dist/analyzers/java/index.js +21 -0
- package/dist/analyzers/java/index.js.map +1 -0
- package/dist/analyzers/java/javaAnalyzer.d.ts +64 -0
- package/dist/analyzers/java/javaAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/java/javaAnalyzer.js +224 -0
- package/dist/analyzers/java/javaAnalyzer.js.map +1 -0
- package/dist/analyzers/javascript/astUtils.d.ts +170 -0
- package/dist/analyzers/javascript/astUtils.d.ts.map +1 -0
- package/dist/analyzers/javascript/astUtils.js +700 -0
- package/dist/analyzers/javascript/astUtils.js.map +1 -0
- package/dist/analyzers/javascript/index.d.ts +18 -0
- package/dist/analyzers/javascript/index.d.ts.map +1 -0
- package/dist/analyzers/javascript/index.js +50 -0
- package/dist/analyzers/javascript/index.js.map +1 -0
- package/dist/analyzers/javascript/javascriptAnalyzer.d.ts +111 -0
- package/dist/analyzers/javascript/javascriptAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/javascript/javascriptAnalyzer.js +860 -0
- package/dist/analyzers/javascript/javascriptAnalyzer.js.map +1 -0
- package/dist/analyzers/javascript/malwareDetector.d.ts +102 -0
- package/dist/analyzers/javascript/malwareDetector.d.ts.map +1 -0
- package/dist/analyzers/javascript/malwareDetector.js +616 -0
- package/dist/analyzers/javascript/malwareDetector.js.map +1 -0
- package/dist/analyzers/javascript/packageJsonAnalyzer.d.ts +87 -0
- package/dist/analyzers/javascript/packageJsonAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/javascript/packageJsonAnalyzer.js +553 -0
- package/dist/analyzers/javascript/packageJsonAnalyzer.js.map +1 -0
- package/dist/analyzers/javascript/taintAnalyzer.d.ts +120 -0
- package/dist/analyzers/javascript/taintAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/javascript/taintAnalyzer.js +526 -0
- package/dist/analyzers/javascript/taintAnalyzer.js.map +1 -0
- package/dist/analyzers/php/index.d.ts +5 -0
- package/dist/analyzers/php/index.d.ts.map +1 -0
- package/dist/analyzers/php/index.js +21 -0
- package/dist/analyzers/php/index.js.map +1 -0
- package/dist/analyzers/php/phpAnalyzer.d.ts +56 -0
- package/dist/analyzers/php/phpAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/php/phpAnalyzer.js +202 -0
- package/dist/analyzers/php/phpAnalyzer.js.map +1 -0
- package/dist/analyzers/python/index.d.ts +5 -0
- package/dist/analyzers/python/index.d.ts.map +1 -0
- package/dist/analyzers/python/index.js +21 -0
- package/dist/analyzers/python/index.js.map +1 -0
- package/dist/analyzers/python/pythonAnalyzer.d.ts +64 -0
- package/dist/analyzers/python/pythonAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/python/pythonAnalyzer.js +226 -0
- package/dist/analyzers/python/pythonAnalyzer.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +281 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/engine/index.d.ts +5 -0
- package/dist/core/engine/index.d.ts.map +1 -0
- package/dist/core/engine/index.js +21 -0
- package/dist/core/engine/index.js.map +1 -0
- package/dist/core/engine/ruleEngine.d.ts +46 -0
- package/dist/core/engine/ruleEngine.d.ts.map +1 -0
- package/dist/core/engine/ruleEngine.js +173 -0
- package/dist/core/engine/ruleEngine.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +24 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/scanner/fileScanner.d.ts +31 -0
- package/dist/core/scanner/fileScanner.d.ts.map +1 -0
- package/dist/core/scanner/fileScanner.js +199 -0
- package/dist/core/scanner/fileScanner.js.map +1 -0
- package/dist/core/scanner/index.d.ts +5 -0
- package/dist/core/scanner/index.d.ts.map +1 -0
- package/dist/core/scanner/index.js +21 -0
- package/dist/core/scanner/index.js.map +1 -0
- package/dist/core/scoring/index.d.ts +5 -0
- package/dist/core/scoring/index.d.ts.map +1 -0
- package/dist/core/scoring/index.js +21 -0
- package/dist/core/scoring/index.js.map +1 -0
- package/dist/core/scoring/riskScoring.d.ts +49 -0
- package/dist/core/scoring/riskScoring.d.ts.map +1 -0
- package/dist/core/scoring/riskScoring.js +180 -0
- package/dist/core/scoring/riskScoring.js.map +1 -0
- package/dist/core/securityScanner.d.ts +47 -0
- package/dist/core/securityScanner.d.ts.map +1 -0
- package/dist/core/securityScanner.js +298 -0
- package/dist/core/securityScanner.js.map +1 -0
- package/dist/dependencies/aiDependencyAnalyzer.d.ts +96 -0
- package/dist/dependencies/aiDependencyAnalyzer.d.ts.map +1 -0
- package/dist/dependencies/aiDependencyAnalyzer.js +435 -0
- package/dist/dependencies/aiDependencyAnalyzer.js.map +1 -0
- package/dist/dependencies/database/cveDatabase.d.ts +32 -0
- package/dist/dependencies/database/cveDatabase.d.ts.map +1 -0
- package/dist/dependencies/database/cveDatabase.js +393 -0
- package/dist/dependencies/database/cveDatabase.js.map +1 -0
- package/dist/dependencies/database/index.d.ts +6 -0
- package/dist/dependencies/database/index.d.ts.map +1 -0
- package/dist/dependencies/database/index.js +22 -0
- package/dist/dependencies/database/index.js.map +1 -0
- package/dist/dependencies/database/maliciousPackages.d.ts +43 -0
- package/dist/dependencies/database/maliciousPackages.d.ts.map +1 -0
- package/dist/dependencies/database/maliciousPackages.js +279 -0
- package/dist/dependencies/database/maliciousPackages.js.map +1 -0
- package/dist/dependencies/dependencyAnalyzer.d.ts +74 -0
- package/dist/dependencies/dependencyAnalyzer.d.ts.map +1 -0
- package/dist/dependencies/dependencyAnalyzer.js +349 -0
- package/dist/dependencies/dependencyAnalyzer.js.map +1 -0
- package/dist/dependencies/detectors/index.d.ts +7 -0
- package/dist/dependencies/detectors/index.d.ts.map +1 -0
- package/dist/dependencies/detectors/index.js +28 -0
- package/dist/dependencies/detectors/index.js.map +1 -0
- package/dist/dependencies/detectors/securityStandards.d.ts +15 -0
- package/dist/dependencies/detectors/securityStandards.d.ts.map +1 -0
- package/dist/dependencies/detectors/securityStandards.js +178 -0
- package/dist/dependencies/detectors/securityStandards.js.map +1 -0
- package/dist/dependencies/detectors/vulnerabilityDetector.d.ts +53 -0
- package/dist/dependencies/detectors/vulnerabilityDetector.d.ts.map +1 -0
- package/dist/dependencies/detectors/vulnerabilityDetector.js +289 -0
- package/dist/dependencies/detectors/vulnerabilityDetector.js.map +1 -0
- package/dist/dependencies/index.d.ts +14 -0
- package/dist/dependencies/index.d.ts.map +1 -0
- package/dist/dependencies/index.js +43 -0
- package/dist/dependencies/index.js.map +1 -0
- package/dist/dependencies/installed/index.d.ts +8 -0
- package/dist/dependencies/installed/index.d.ts.map +1 -0
- package/dist/dependencies/installed/index.js +24 -0
- package/dist/dependencies/installed/index.js.map +1 -0
- package/dist/dependencies/installed/installedScanner.d.ts +91 -0
- package/dist/dependencies/installed/installedScanner.d.ts.map +1 -0
- package/dist/dependencies/installed/installedScanner.js +766 -0
- package/dist/dependencies/installed/installedScanner.js.map +1 -0
- package/dist/dependencies/installed/malwarePatterns.d.ts +32 -0
- package/dist/dependencies/installed/malwarePatterns.d.ts.map +1 -0
- package/dist/dependencies/installed/malwarePatterns.js +480 -0
- package/dist/dependencies/installed/malwarePatterns.js.map +1 -0
- package/dist/dependencies/installed/types.d.ts +274 -0
- package/dist/dependencies/installed/types.d.ts.map +1 -0
- package/dist/dependencies/installed/types.js +7 -0
- package/dist/dependencies/installed/types.js.map +1 -0
- package/dist/dependencies/parsers/base/baseParser.d.ts +44 -0
- package/dist/dependencies/parsers/base/baseParser.d.ts.map +1 -0
- package/dist/dependencies/parsers/base/baseParser.js +80 -0
- package/dist/dependencies/parsers/base/baseParser.js.map +1 -0
- package/dist/dependencies/parsers/base/index.d.ts +6 -0
- package/dist/dependencies/parsers/base/index.d.ts.map +1 -0
- package/dist/dependencies/parsers/base/index.js +27 -0
- package/dist/dependencies/parsers/base/index.js.map +1 -0
- package/dist/dependencies/parsers/cpp/cppParser.d.ts +36 -0
- package/dist/dependencies/parsers/cpp/cppParser.d.ts.map +1 -0
- package/dist/dependencies/parsers/cpp/cppParser.js +196 -0
- package/dist/dependencies/parsers/cpp/cppParser.js.map +1 -0
- package/dist/dependencies/parsers/cpp/index.d.ts +6 -0
- package/dist/dependencies/parsers/cpp/index.d.ts.map +1 -0
- package/dist/dependencies/parsers/cpp/index.js +27 -0
- package/dist/dependencies/parsers/cpp/index.js.map +1 -0
- package/dist/dependencies/parsers/csharp/csharpParser.d.ts +32 -0
- package/dist/dependencies/parsers/csharp/csharpParser.d.ts.map +1 -0
- package/dist/dependencies/parsers/csharp/csharpParser.js +125 -0
- package/dist/dependencies/parsers/csharp/csharpParser.js.map +1 -0
- package/dist/dependencies/parsers/csharp/index.d.ts +6 -0
- package/dist/dependencies/parsers/csharp/index.d.ts.map +1 -0
- package/dist/dependencies/parsers/csharp/index.js +27 -0
- package/dist/dependencies/parsers/csharp/index.js.map +1 -0
- package/dist/dependencies/parsers/index.d.ts +24 -0
- package/dist/dependencies/parsers/index.d.ts.map +1 -0
- package/dist/dependencies/parsers/index.js +69 -0
- package/dist/dependencies/parsers/index.js.map +1 -0
- package/dist/dependencies/parsers/java/index.d.ts +6 -0
- package/dist/dependencies/parsers/java/index.d.ts.map +1 -0
- package/dist/dependencies/parsers/java/index.js +27 -0
- package/dist/dependencies/parsers/java/index.js.map +1 -0
- package/dist/dependencies/parsers/java/javaParser.d.ts +32 -0
- package/dist/dependencies/parsers/java/javaParser.d.ts.map +1 -0
- package/dist/dependencies/parsers/java/javaParser.js +168 -0
- package/dist/dependencies/parsers/java/javaParser.js.map +1 -0
- package/dist/dependencies/parsers/javascript/index.d.ts +6 -0
- package/dist/dependencies/parsers/javascript/index.d.ts.map +1 -0
- package/dist/dependencies/parsers/javascript/index.js +27 -0
- package/dist/dependencies/parsers/javascript/index.js.map +1 -0
- package/dist/dependencies/parsers/javascript/javascriptParser.d.ts +55 -0
- package/dist/dependencies/parsers/javascript/javascriptParser.d.ts.map +1 -0
- package/dist/dependencies/parsers/javascript/javascriptParser.js +266 -0
- package/dist/dependencies/parsers/javascript/javascriptParser.js.map +1 -0
- package/dist/dependencies/parsers/php/index.d.ts +6 -0
- package/dist/dependencies/parsers/php/index.d.ts.map +1 -0
- package/dist/dependencies/parsers/php/index.js +27 -0
- package/dist/dependencies/parsers/php/index.js.map +1 -0
- package/dist/dependencies/parsers/php/phpParser.d.ts +35 -0
- package/dist/dependencies/parsers/php/phpParser.d.ts.map +1 -0
- package/dist/dependencies/parsers/php/phpParser.js +162 -0
- package/dist/dependencies/parsers/php/phpParser.js.map +1 -0
- package/dist/dependencies/parsers/python/index.d.ts +6 -0
- package/dist/dependencies/parsers/python/index.d.ts.map +1 -0
- package/dist/dependencies/parsers/python/index.js +27 -0
- package/dist/dependencies/parsers/python/index.js.map +1 -0
- package/dist/dependencies/parsers/python/pythonParser.d.ts +60 -0
- package/dist/dependencies/parsers/python/pythonParser.d.ts.map +1 -0
- package/dist/dependencies/parsers/python/pythonParser.js +336 -0
- package/dist/dependencies/parsers/python/pythonParser.js.map +1 -0
- package/dist/dependencies/types.d.ts +280 -0
- package/dist/dependencies/types.d.ts.map +1 -0
- package/dist/dependencies/types.js +59 -0
- package/dist/dependencies/types.js.map +1 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +18 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/translations.d.ts +55 -0
- package/dist/i18n/translations.d.ts.map +1 -0
- package/dist/i18n/translations.js +119 -0
- package/dist/i18n/translations.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/reports/dependencyReportGenerator.d.ts +20 -0
- package/dist/reports/dependencyReportGenerator.d.ts.map +1 -0
- package/dist/reports/dependencyReportGenerator.js +690 -0
- package/dist/reports/dependencyReportGenerator.js.map +1 -0
- package/dist/reports/htmlReportGenerator.d.ts +43 -0
- package/dist/reports/htmlReportGenerator.d.ts.map +1 -0
- package/dist/reports/htmlReportGenerator.js +793 -0
- package/dist/reports/htmlReportGenerator.js.map +1 -0
- package/dist/reports/index.d.ts +7 -0
- package/dist/reports/index.d.ts.map +1 -0
- package/dist/reports/index.js +23 -0
- package/dist/reports/index.js.map +1 -0
- package/dist/reports/installedDepsReportGenerator.d.ts +14 -0
- package/dist/reports/installedDepsReportGenerator.d.ts.map +1 -0
- package/dist/reports/installedDepsReportGenerator.js +872 -0
- package/dist/reports/installedDepsReportGenerator.js.map +1 -0
- package/dist/rules/index.d.ts +31 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +95 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/malware/categories/backdoors.d.ts +12 -0
- package/dist/rules/malware/categories/backdoors.d.ts.map +1 -0
- package/dist/rules/malware/categories/backdoors.js +163 -0
- package/dist/rules/malware/categories/backdoors.js.map +1 -0
- package/dist/rules/malware/categories/cryptominers.d.ts +13 -0
- package/dist/rules/malware/categories/cryptominers.d.ts.map +1 -0
- package/dist/rules/malware/categories/cryptominers.js +415 -0
- package/dist/rules/malware/categories/cryptominers.js.map +1 -0
- package/dist/rules/malware/categories/exfiltration.d.ts +20 -0
- package/dist/rules/malware/categories/exfiltration.d.ts.map +1 -0
- package/dist/rules/malware/categories/exfiltration.js +658 -0
- package/dist/rules/malware/categories/exfiltration.js.map +1 -0
- package/dist/rules/malware/categories/keyloggers.d.ts +19 -0
- package/dist/rules/malware/categories/keyloggers.d.ts.map +1 -0
- package/dist/rules/malware/categories/keyloggers.js +763 -0
- package/dist/rules/malware/categories/keyloggers.js.map +1 -0
- package/dist/rules/malware/categories/loaders.d.ts +20 -0
- package/dist/rules/malware/categories/loaders.d.ts.map +1 -0
- package/dist/rules/malware/categories/loaders.js +702 -0
- package/dist/rules/malware/categories/loaders.js.map +1 -0
- package/dist/rules/malware/categories/network.d.ts +19 -0
- package/dist/rules/malware/categories/network.d.ts.map +1 -0
- package/dist/rules/malware/categories/network.js +622 -0
- package/dist/rules/malware/categories/network.js.map +1 -0
- package/dist/rules/malware/categories/obfuscation.d.ts +22 -0
- package/dist/rules/malware/categories/obfuscation.d.ts.map +1 -0
- package/dist/rules/malware/categories/obfuscation.js +766 -0
- package/dist/rules/malware/categories/obfuscation.js.map +1 -0
- package/dist/rules/malware/constants/index.d.ts +281 -0
- package/dist/rules/malware/constants/index.d.ts.map +1 -0
- package/dist/rules/malware/constants/index.js +327 -0
- package/dist/rules/malware/constants/index.js.map +1 -0
- package/dist/rules/malware/engine/index.d.ts +178 -0
- package/dist/rules/malware/engine/index.d.ts.map +1 -0
- package/dist/rules/malware/engine/index.js +552 -0
- package/dist/rules/malware/engine/index.js.map +1 -0
- package/dist/rules/malware/index.d.ts +205 -0
- package/dist/rules/malware/index.d.ts.map +1 -0
- package/dist/rules/malware/index.js +837 -0
- package/dist/rules/malware/index.js.map +1 -0
- package/dist/rules/malware/scoring/index.d.ts +84 -0
- package/dist/rules/malware/scoring/index.d.ts.map +1 -0
- package/dist/rules/malware/scoring/index.js +441 -0
- package/dist/rules/malware/scoring/index.js.map +1 -0
- package/dist/rules/malware/types/index.d.ts +616 -0
- package/dist/rules/malware/types/index.d.ts.map +1 -0
- package/dist/rules/malware/types/index.js +155 -0
- package/dist/rules/malware/types/index.js.map +1 -0
- package/dist/rules/malware/utils/index.d.ts +117 -0
- package/dist/rules/malware/utils/index.d.ts.map +1 -0
- package/dist/rules/malware/utils/index.js +514 -0
- package/dist/rules/malware/utils/index.js.map +1 -0
- package/dist/rules/standards.d.ts +26 -0
- package/dist/rules/standards.d.ts.map +1 -0
- package/dist/rules/standards.js +352 -0
- package/dist/rules/standards.js.map +1 -0
- package/dist/rules/vulnerabilities/constants/index.d.ts +835 -0
- package/dist/rules/vulnerabilities/constants/index.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/constants/index.js +544 -0
- package/dist/rules/vulnerabilities/constants/index.js.map +1 -0
- package/dist/rules/vulnerabilities/engine/index.d.ts +145 -0
- package/dist/rules/vulnerabilities/engine/index.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/engine/index.js +581 -0
- package/dist/rules/vulnerabilities/engine/index.js.map +1 -0
- package/dist/rules/vulnerabilities/index.d.ts +148 -0
- package/dist/rules/vulnerabilities/index.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/index.js +252 -0
- package/dist/rules/vulnerabilities/index.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/authentication.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/authentication.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/authentication.js +419 -0
- package/dist/rules/vulnerabilities/rules/authentication.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/commandInjection.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/commandInjection.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/commandInjection.js +300 -0
- package/dist/rules/vulnerabilities/rules/commandInjection.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/csrf.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/csrf.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/csrf.js +261 -0
- package/dist/rules/vulnerabilities/rules/csrf.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/deserialization.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/deserialization.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/deserialization.js +336 -0
- package/dist/rules/vulnerabilities/rules/deserialization.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/fileUpload.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/fileUpload.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/fileUpload.js +325 -0
- package/dist/rules/vulnerabilities/rules/fileUpload.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/hardcodedSecrets.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/hardcodedSecrets.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/hardcodedSecrets.js +446 -0
- package/dist/rules/vulnerabilities/rules/hardcodedSecrets.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/index.d.ts +17 -0
- package/dist/rules/vulnerabilities/rules/index.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/index.js +47 -0
- package/dist/rules/vulnerabilities/rules/index.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/pathTraversal.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/pathTraversal.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/pathTraversal.js +351 -0
- package/dist/rules/vulnerabilities/rules/pathTraversal.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/prototypePollution.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/prototypePollution.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/prototypePollution.js +272 -0
- package/dist/rules/vulnerabilities/rules/prototypePollution.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/securityMisconfiguration.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/securityMisconfiguration.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/securityMisconfiguration.js +438 -0
- package/dist/rules/vulnerabilities/rules/securityMisconfiguration.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/sqlInjection.d.ts +12 -0
- package/dist/rules/vulnerabilities/rules/sqlInjection.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/sqlInjection.js +636 -0
- package/dist/rules/vulnerabilities/rules/sqlInjection.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/ssrf.d.ts +8 -0
- package/dist/rules/vulnerabilities/rules/ssrf.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/ssrf.js +401 -0
- package/dist/rules/vulnerabilities/rules/ssrf.js.map +1 -0
- package/dist/rules/vulnerabilities/rules/xss.d.ts +11 -0
- package/dist/rules/vulnerabilities/rules/xss.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/rules/xss.js +724 -0
- package/dist/rules/vulnerabilities/rules/xss.js.map +1 -0
- package/dist/rules/vulnerabilities/scoring/index.d.ts +80 -0
- package/dist/rules/vulnerabilities/scoring/index.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/scoring/index.js +414 -0
- package/dist/rules/vulnerabilities/scoring/index.js.map +1 -0
- package/dist/rules/vulnerabilities/types/index.d.ts +830 -0
- package/dist/rules/vulnerabilities/types/index.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/types/index.js +164 -0
- package/dist/rules/vulnerabilities/types/index.js.map +1 -0
- package/dist/rules/vulnerabilities/utils/index.d.ts +206 -0
- package/dist/rules/vulnerabilities/utils/index.d.ts.map +1 -0
- package/dist/rules/vulnerabilities/utils/index.js +615 -0
- package/dist/rules/vulnerabilities/utils/index.js.map +1 -0
- package/dist/types/index.d.ts +359 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +61 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +82 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +326 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +40 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +139 -0
- package/dist/utils/logger.js.map +1 -0
- package/docs/ARCHITECTURE.md +320 -0
- package/docs/V1.2.1-IA_Performances.md +116 -0
- package/docs/images/WIN_Defender.png +0 -0
- package/package.json +68 -0
- package/secure-scan.config.json +134 -0
- package/secure-scan.sln +29 -0
- package/src/ai/aiAnalyzer.ts +714 -0
- package/src/ai/index.ts +5 -0
- package/src/analyzers/base/baseAnalyzer.ts +66 -0
- package/src/analyzers/base/index.ts +5 -0
- package/src/analyzers/c-cpp/cppAnalyzer.ts +308 -0
- package/src/analyzers/c-cpp/index.ts +5 -0
- package/src/analyzers/core/engine/index.ts +5 -0
- package/src/analyzers/core/engine/ruleEngine.ts +221 -0
- package/src/analyzers/core/index.ts +8 -0
- package/src/analyzers/core/scanner/fileScanner.ts +204 -0
- package/src/analyzers/core/scanner/index.ts +5 -0
- package/src/analyzers/core/scoring/index.ts +5 -0
- package/src/analyzers/core/scoring/riskScoring.ts +198 -0
- package/src/analyzers/core/securityScanner.ts +321 -0
- package/src/analyzers/csharp/csharpAnalyzer.ts +328 -0
- package/src/analyzers/csharp/index.ts +5 -0
- package/src/analyzers/iac/iacAnalyzer.ts +318 -0
- package/src/analyzers/iac/index.ts +5 -0
- package/src/analyzers/index.ts +67 -0
- package/src/analyzers/java/index.ts +5 -0
- package/src/analyzers/java/javaAnalyzer.ts +320 -0
- package/src/analyzers/javascript/PROMPT_JS_ANALYZER.md +267 -0
- package/src/analyzers/javascript/astUtils.ts +789 -0
- package/src/analyzers/javascript/index.ts +50 -0
- package/src/analyzers/javascript/javascriptAnalyzer.ts +984 -0
- package/src/analyzers/javascript/malwareDetector.ts +697 -0
- package/src/analyzers/javascript/packageJsonAnalyzer.ts +626 -0
- package/src/analyzers/javascript/taintAnalyzer.ts +630 -0
- package/src/analyzers/php/index.ts +5 -0
- package/src/analyzers/php/phpAnalyzer.ts +280 -0
- package/src/analyzers/python/index.ts +5 -0
- package/src/analyzers/python/pythonAnalyzer.ts +319 -0
- package/src/cli/index.ts +276 -0
- package/src/dependencies/aiDependencyAnalyzer.ts +496 -0
- package/src/dependencies/database/cveDatabase.ts +426 -0
- package/src/dependencies/database/index.ts +6 -0
- package/src/dependencies/database/maliciousPackages.ts +286 -0
- package/src/dependencies/dependencyAnalyzer.ts +394 -0
- package/src/dependencies/detectors/index.ts +7 -0
- package/src/dependencies/detectors/securityStandards.ts +200 -0
- package/src/dependencies/detectors/vulnerabilityDetector.ts +343 -0
- package/src/dependencies/index.ts +27 -0
- package/src/dependencies/installed/index.ts +8 -0
- package/src/dependencies/installed/installedScanner.ts +821 -0
- package/src/dependencies/installed/malwarePatterns.ts +492 -0
- package/src/dependencies/installed/types.ts +287 -0
- package/src/dependencies/parsers/base/baseParser.ts +108 -0
- package/src/dependencies/parsers/base/index.ts +6 -0
- package/src/dependencies/parsers/cpp/cppParser.ts +245 -0
- package/src/dependencies/parsers/cpp/index.ts +6 -0
- package/src/dependencies/parsers/csharp/csharpParser.ts +151 -0
- package/src/dependencies/parsers/csharp/index.ts +6 -0
- package/src/dependencies/parsers/index.ts +56 -0
- package/src/dependencies/parsers/java/index.ts +6 -0
- package/src/dependencies/parsers/java/javaParser.ts +203 -0
- package/src/dependencies/parsers/javascript/index.ts +6 -0
- package/src/dependencies/parsers/javascript/javascriptParser.ts +362 -0
- package/src/dependencies/parsers/php/index.ts +6 -0
- package/src/dependencies/parsers/php/phpParser.ts +208 -0
- package/src/dependencies/parsers/python/index.ts +6 -0
- package/src/dependencies/parsers/python/pythonParser.ts +437 -0
- package/src/dependencies/types.ts +330 -0
- package/src/i18n/index.ts +1 -0
- package/src/i18n/translations.ts +194 -0
- package/src/index.ts +16 -0
- package/src/reports/dependencyReportGenerator.ts +717 -0
- package/src/reports/htmlReportGenerator.ts +781 -0
- package/src/reports/index.ts +7 -0
- package/src/reports/installedDepsReportGenerator.ts +899 -0
- package/src/rules/index.ts +58 -0
- package/src/rules/malware/INFO.md +287 -0
- package/src/rules/malware/categories/backdoors.ts +174 -0
- package/src/rules/malware/categories/cryptominers.ts +434 -0
- package/src/rules/malware/categories/exfiltration.ts +677 -0
- package/src/rules/malware/categories/keyloggers.ts +780 -0
- package/src/rules/malware/categories/loaders.ts +721 -0
- package/src/rules/malware/categories/network.ts +639 -0
- package/src/rules/malware/categories/obfuscation.ts +788 -0
- package/src/rules/malware/constants/index.ts +358 -0
- package/src/rules/malware/engine/index.ts +758 -0
- package/src/rules/malware/index.ts +928 -0
- package/src/rules/malware/scoring/index.ts +549 -0
- package/src/rules/malware/types/index.ts +752 -0
- package/src/rules/malware/utils/index.ts +643 -0
- package/src/rules/standards.ts +372 -0
- package/src/rules/vulnerabilities/PROMPT_VULNERABILITIES.md +226 -0
- package/src/rules/vulnerabilities/constants/index.ts +625 -0
- package/src/rules/vulnerabilities/engine/index.ts +831 -0
- package/src/rules/vulnerabilities/index.ts +312 -0
- package/src/rules/vulnerabilities/rules/authentication.ts +426 -0
- package/src/rules/vulnerabilities/rules/commandInjection.ts +307 -0
- package/src/rules/vulnerabilities/rules/csrf.ts +268 -0
- package/src/rules/vulnerabilities/rules/deserialization.ts +343 -0
- package/src/rules/vulnerabilities/rules/fileUpload.ts +332 -0
- package/src/rules/vulnerabilities/rules/hardcodedSecrets.ts +453 -0
- package/src/rules/vulnerabilities/rules/index.ts +17 -0
- package/src/rules/vulnerabilities/rules/pathTraversal.ts +358 -0
- package/src/rules/vulnerabilities/rules/prototypePollution.ts +279 -0
- package/src/rules/vulnerabilities/rules/securityMisconfiguration.ts +445 -0
- package/src/rules/vulnerabilities/rules/sqlInjection.ts +669 -0
- package/src/rules/vulnerabilities/rules/ssrf.ts +408 -0
- package/src/rules/vulnerabilities/rules/xss.ts +753 -0
- package/src/rules/vulnerabilities/scoring/index.ts +543 -0
- package/src/rules/vulnerabilities/types/index.ts +1004 -0
- package/src/rules/vulnerabilities/utils/index.ts +709 -0
- package/src/types/index.ts +391 -0
- package/src/utils/index.ts +306 -0
- package/src/utils/logger.ts +150 -0
- package/test-installed-scanner.ts +136 -0
- package/tsconfig.json +30 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos principales para Secure-Scan SAST
|
|
3
|
+
* Definiciones de tipos para análisis de seguridad
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Lenguajes de programación soportados para análisis
|
|
7
|
+
*/
|
|
8
|
+
export type SupportedLanguage = 'javascript' | 'typescript' | 'python' | 'php' | 'java' | 'c' | 'cpp' | 'csharp' | 'dockerfile' | 'yaml' | 'terraform';
|
|
9
|
+
/**
|
|
10
|
+
* Severity levels for findings
|
|
11
|
+
*/
|
|
12
|
+
export declare enum Severity {
|
|
13
|
+
INFO = "info",
|
|
14
|
+
LOW = "low",
|
|
15
|
+
MEDIUM = "medium",
|
|
16
|
+
HIGH = "high",
|
|
17
|
+
CRITICAL = "critical"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Security standard references
|
|
21
|
+
*/
|
|
22
|
+
export interface SecurityStandard {
|
|
23
|
+
/** Standard name (OWASP, CWE, MITRE, SANS) */
|
|
24
|
+
name: 'OWASP' | 'CWE' | 'MITRE' | 'SANS';
|
|
25
|
+
/** Standard ID (e.g., CWE-79, A01:2021) */
|
|
26
|
+
id: string;
|
|
27
|
+
/** Standard title */
|
|
28
|
+
title: string;
|
|
29
|
+
/** Standard description */
|
|
30
|
+
description: string;
|
|
31
|
+
/** URL to standard documentation */
|
|
32
|
+
url?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Type of threat detected
|
|
36
|
+
*/
|
|
37
|
+
export declare enum ThreatType {
|
|
38
|
+
SQL_INJECTION = "sql_injection",
|
|
39
|
+
COMMAND_INJECTION = "command_injection",
|
|
40
|
+
XSS = "xss",
|
|
41
|
+
CSRF = "csrf",
|
|
42
|
+
INSECURE_DESERIALIZATION = "insecure_deserialization",
|
|
43
|
+
HARDCODED_CREDENTIALS = "hardcoded_credentials",
|
|
44
|
+
PATH_TRAVERSAL = "path_traversal",
|
|
45
|
+
LDAP_INJECTION = "ldap_injection",
|
|
46
|
+
INSECURE_CRYPTO = "insecure_crypto",
|
|
47
|
+
WEAK_RANDOM = "weak_random",
|
|
48
|
+
DANGEROUS_FUNCTION = "dangerous_function",
|
|
49
|
+
VULNERABLE_DEPENDENCY = "vulnerable_dependency",
|
|
50
|
+
INFORMATION_DISCLOSURE = "information_disclosure",
|
|
51
|
+
BROKEN_ACCESS_CONTROL = "broken_access_control",
|
|
52
|
+
SECURITY_MISCONFIGURATION = "security_misconfiguration",
|
|
53
|
+
BACKDOOR = "backdoor",
|
|
54
|
+
KEYLOGGER = "keylogger",
|
|
55
|
+
CRYPTOMINER = "cryptominer",
|
|
56
|
+
OBFUSCATED_CODE = "obfuscated_code",
|
|
57
|
+
EMBEDDED_PAYLOAD = "embedded_payload",
|
|
58
|
+
REVERSE_SHELL = "reverse_shell",
|
|
59
|
+
DATA_EXFILTRATION = "data_exfiltration",
|
|
60
|
+
SUSPICIOUS_NETWORK = "suspicious_network",
|
|
61
|
+
MALICIOUS_LOADER = "malicious_loader"
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Category of finding
|
|
65
|
+
*/
|
|
66
|
+
export declare enum FindingCategory {
|
|
67
|
+
VULNERABILITY = "vulnerability",
|
|
68
|
+
MALWARE = "malware",
|
|
69
|
+
CODE_SMELL = "code_smell",
|
|
70
|
+
BEST_PRACTICE = "best_practice"
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Source location in code
|
|
74
|
+
*/
|
|
75
|
+
export interface SourceLocation {
|
|
76
|
+
/** File path relative to project root */
|
|
77
|
+
file: string;
|
|
78
|
+
/** Start line number (1-indexed) */
|
|
79
|
+
startLine: number;
|
|
80
|
+
/** End line number (1-indexed) */
|
|
81
|
+
endLine: number;
|
|
82
|
+
/** Start column (optional) */
|
|
83
|
+
startColumn?: number;
|
|
84
|
+
/** End column (optional) */
|
|
85
|
+
endColumn?: number;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Code snippet with context
|
|
89
|
+
*/
|
|
90
|
+
export interface CodeSnippet {
|
|
91
|
+
/** The vulnerable/malicious code */
|
|
92
|
+
code: string;
|
|
93
|
+
/** Lines before for context */
|
|
94
|
+
contextBefore?: string;
|
|
95
|
+
/** Lines after for context */
|
|
96
|
+
contextAfter?: string;
|
|
97
|
+
/** Highlighted portion */
|
|
98
|
+
highlight?: {
|
|
99
|
+
start: number;
|
|
100
|
+
end: number;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Security finding from analysis
|
|
105
|
+
*/
|
|
106
|
+
export interface Finding {
|
|
107
|
+
/** Unique finding ID */
|
|
108
|
+
id: string;
|
|
109
|
+
/** Finding title */
|
|
110
|
+
title: string;
|
|
111
|
+
/** Detailed description */
|
|
112
|
+
description: string;
|
|
113
|
+
/** Severity level */
|
|
114
|
+
severity: Severity;
|
|
115
|
+
/** Type of threat */
|
|
116
|
+
threatType: ThreatType;
|
|
117
|
+
/** Category of finding */
|
|
118
|
+
category: FindingCategory;
|
|
119
|
+
/** Source location */
|
|
120
|
+
location: SourceLocation;
|
|
121
|
+
/** Code snippet */
|
|
122
|
+
snippet: CodeSnippet;
|
|
123
|
+
/** Related security standards */
|
|
124
|
+
standards: SecurityStandard[];
|
|
125
|
+
/** Remediation advice */
|
|
126
|
+
remediation: string;
|
|
127
|
+
/** Confidence level (0-100) */
|
|
128
|
+
confidence: number;
|
|
129
|
+
/** Detected by which analyzer */
|
|
130
|
+
analyzer: string;
|
|
131
|
+
/** Detection timestamp */
|
|
132
|
+
timestamp: Date;
|
|
133
|
+
/** Tags for categorization */
|
|
134
|
+
tags: string[];
|
|
135
|
+
/** AI-generated explanation (if available) */
|
|
136
|
+
aiExplanation?: string;
|
|
137
|
+
/** Suggested fix (if available) */
|
|
138
|
+
suggestedFix?: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* File information for scanning
|
|
142
|
+
*/
|
|
143
|
+
export interface ScannedFile {
|
|
144
|
+
/** Absolute file path */
|
|
145
|
+
absolutePath: string;
|
|
146
|
+
/** Relative path from project root */
|
|
147
|
+
relativePath: string;
|
|
148
|
+
/** File extension */
|
|
149
|
+
extension: string;
|
|
150
|
+
/** Detected language */
|
|
151
|
+
language: SupportedLanguage | null;
|
|
152
|
+
/** File size in bytes */
|
|
153
|
+
size: number;
|
|
154
|
+
/** File content */
|
|
155
|
+
content: string;
|
|
156
|
+
/** Line count */
|
|
157
|
+
lineCount: number;
|
|
158
|
+
/** SHA256 hash of content */
|
|
159
|
+
hash: string;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Scan statistics
|
|
163
|
+
*/
|
|
164
|
+
export interface ScanStats {
|
|
165
|
+
/** Total files scanned */
|
|
166
|
+
totalFiles: number;
|
|
167
|
+
/** Total lines of code */
|
|
168
|
+
totalLines: number;
|
|
169
|
+
/** Files by language */
|
|
170
|
+
filesByLanguage: Record<string, number>;
|
|
171
|
+
/** Findings by severity */
|
|
172
|
+
findingsBySeverity: Record<Severity, number>;
|
|
173
|
+
/** Findings by category */
|
|
174
|
+
findingsByCategory: Record<FindingCategory, number>;
|
|
175
|
+
/** Scan duration in milliseconds */
|
|
176
|
+
duration: number;
|
|
177
|
+
/** Scan start time */
|
|
178
|
+
startTime: Date;
|
|
179
|
+
/** Scan end time */
|
|
180
|
+
endTime: Date;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Complete scan result
|
|
184
|
+
*/
|
|
185
|
+
export interface ScanResult {
|
|
186
|
+
/** Project path */
|
|
187
|
+
projectPath: string;
|
|
188
|
+
/** Project name */
|
|
189
|
+
projectName: string;
|
|
190
|
+
/** Scan ID */
|
|
191
|
+
scanId: string;
|
|
192
|
+
/** All findings */
|
|
193
|
+
findings: Finding[];
|
|
194
|
+
/** Scan statistics */
|
|
195
|
+
stats: ScanStats;
|
|
196
|
+
/** Risk score (0-100) */
|
|
197
|
+
riskScore: number;
|
|
198
|
+
/** Risk level */
|
|
199
|
+
riskLevel: 'safe' | 'low' | 'medium' | 'high' | 'critical';
|
|
200
|
+
/** Scanned files */
|
|
201
|
+
scannedFiles: ScannedFile[];
|
|
202
|
+
/** Configuration used */
|
|
203
|
+
config: ScanConfig;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Scan configuration
|
|
207
|
+
*/
|
|
208
|
+
export interface ScanConfig {
|
|
209
|
+
/** Project path to scan */
|
|
210
|
+
projectPath: string;
|
|
211
|
+
/** Output file path */
|
|
212
|
+
outputPath?: string;
|
|
213
|
+
/** Languages to analyze */
|
|
214
|
+
languages?: SupportedLanguage[];
|
|
215
|
+
/** Patterns to exclude */
|
|
216
|
+
exclude?: string[];
|
|
217
|
+
/** Minimum severity to report */
|
|
218
|
+
minSeverity?: Severity;
|
|
219
|
+
/** Enable AI analysis */
|
|
220
|
+
useAI?: boolean;
|
|
221
|
+
/** AI provider configuration */
|
|
222
|
+
aiConfig?: AIConfig;
|
|
223
|
+
/** Verbose output */
|
|
224
|
+
verbose?: boolean;
|
|
225
|
+
/** Custom rules */
|
|
226
|
+
customRules?: string[];
|
|
227
|
+
/** Disabled rules */
|
|
228
|
+
disabledRules?: string[];
|
|
229
|
+
/** Maximum file size to scan (bytes) */
|
|
230
|
+
maxFileSize?: number;
|
|
231
|
+
/** Timeout per file (ms) */
|
|
232
|
+
fileTimeout?: number;
|
|
233
|
+
/** Report language (es = Spanish, en = English) */
|
|
234
|
+
language?: 'es' | 'en';
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* AI configuration
|
|
238
|
+
*/
|
|
239
|
+
export interface AIConfig {
|
|
240
|
+
/** AI provider (auto-detected if not specified) */
|
|
241
|
+
provider: 'openai' | 'anthropic' | 'google' | 'gemini' | 'local' | 'auto';
|
|
242
|
+
/** API key */
|
|
243
|
+
apiKey?: string;
|
|
244
|
+
/** Model to use */
|
|
245
|
+
model?: string;
|
|
246
|
+
/** API endpoint (for local models) */
|
|
247
|
+
endpoint?: string;
|
|
248
|
+
/** Max tokens per request */
|
|
249
|
+
maxTokens?: number;
|
|
250
|
+
/** Temperature for generation */
|
|
251
|
+
temperature?: number;
|
|
252
|
+
/** Performance options for local models */
|
|
253
|
+
performance?: LocalAIPerformanceConfig;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Performance configuration for local AI models
|
|
257
|
+
*/
|
|
258
|
+
export interface LocalAIPerformanceConfig {
|
|
259
|
+
/** Number of parallel requests (default: 1) */
|
|
260
|
+
parallelRequests?: number;
|
|
261
|
+
/** Number of GPU layers to use (-1 for all, 0 for CPU only) */
|
|
262
|
+
numGpuLayers?: number;
|
|
263
|
+
/** Number of threads to use (default: auto) */
|
|
264
|
+
numThreads?: number;
|
|
265
|
+
/** Context size in tokens (default: 4096) */
|
|
266
|
+
contextSize?: number;
|
|
267
|
+
/** Batch size for processing (default: 512) */
|
|
268
|
+
batchSize?: number;
|
|
269
|
+
/** Enable result caching */
|
|
270
|
+
enableCache?: boolean;
|
|
271
|
+
/** Use mmap for model loading */
|
|
272
|
+
useMmap?: boolean;
|
|
273
|
+
/** Use mlock to keep model in memory */
|
|
274
|
+
useMlock?: boolean;
|
|
275
|
+
/** Timeout per request in milliseconds (default: 120000) */
|
|
276
|
+
timeout?: number;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Rule definition for detection
|
|
280
|
+
*/
|
|
281
|
+
export interface Rule {
|
|
282
|
+
/** Unique rule ID */
|
|
283
|
+
id: string;
|
|
284
|
+
/** Rule name */
|
|
285
|
+
name: string;
|
|
286
|
+
/** Rule description */
|
|
287
|
+
description: string;
|
|
288
|
+
/** Languages this rule applies to */
|
|
289
|
+
languages: SupportedLanguage[];
|
|
290
|
+
/** Threat type this rule detects */
|
|
291
|
+
threatType: ThreatType;
|
|
292
|
+
/** Category */
|
|
293
|
+
category: FindingCategory;
|
|
294
|
+
/** Default severity */
|
|
295
|
+
severity: Severity;
|
|
296
|
+
/** Related standards */
|
|
297
|
+
standards: SecurityStandard[];
|
|
298
|
+
/** Detection patterns */
|
|
299
|
+
patterns: RulePattern[];
|
|
300
|
+
/** Remediation template */
|
|
301
|
+
remediation: string;
|
|
302
|
+
/** Is rule enabled by default */
|
|
303
|
+
enabled: boolean;
|
|
304
|
+
/** Tags */
|
|
305
|
+
tags: string[];
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Pattern for rule matching
|
|
309
|
+
*/
|
|
310
|
+
export interface RulePattern {
|
|
311
|
+
/** Pattern type */
|
|
312
|
+
type: 'regex' | 'ast' | 'semantic';
|
|
313
|
+
/** Pattern value */
|
|
314
|
+
pattern: string;
|
|
315
|
+
/** Pattern flags */
|
|
316
|
+
flags?: string;
|
|
317
|
+
/** Additional conditions */
|
|
318
|
+
conditions?: PatternCondition[];
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Condition for pattern matching
|
|
322
|
+
*/
|
|
323
|
+
export interface PatternCondition {
|
|
324
|
+
/** Condition type */
|
|
325
|
+
type: 'context' | 'scope' | 'dataflow';
|
|
326
|
+
/** Condition value */
|
|
327
|
+
value: string;
|
|
328
|
+
/** Is negated */
|
|
329
|
+
negated?: boolean;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Analyzer plugin interface
|
|
333
|
+
*/
|
|
334
|
+
export interface Analyzer {
|
|
335
|
+
/** Analyzer name */
|
|
336
|
+
name: string;
|
|
337
|
+
/** Supported languages */
|
|
338
|
+
languages: SupportedLanguage[];
|
|
339
|
+
/** Analyzer version */
|
|
340
|
+
version: string;
|
|
341
|
+
/** Initialize analyzer */
|
|
342
|
+
initialize(): Promise<void>;
|
|
343
|
+
/** Analyze a file */
|
|
344
|
+
analyze(file: ScannedFile, rules: Rule[]): Promise<Finding[]>;
|
|
345
|
+
/** Cleanup resources */
|
|
346
|
+
cleanup(): Promise<void>;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Report generator interface
|
|
350
|
+
*/
|
|
351
|
+
export interface ReportGenerator {
|
|
352
|
+
/** Generator name */
|
|
353
|
+
name: string;
|
|
354
|
+
/** Output format */
|
|
355
|
+
format: 'html' | 'json' | 'pdf' | 'sarif';
|
|
356
|
+
/** Generate report */
|
|
357
|
+
generate(result: ScanResult): Promise<string>;
|
|
358
|
+
}
|
|
359
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tipos principales para Secure-Scan SAST
|
|
4
|
+
* Definiciones de tipos para análisis de seguridad
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.FindingCategory = exports.ThreatType = exports.Severity = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Severity levels for findings
|
|
10
|
+
*/
|
|
11
|
+
var Severity;
|
|
12
|
+
(function (Severity) {
|
|
13
|
+
Severity["INFO"] = "info";
|
|
14
|
+
Severity["LOW"] = "low";
|
|
15
|
+
Severity["MEDIUM"] = "medium";
|
|
16
|
+
Severity["HIGH"] = "high";
|
|
17
|
+
Severity["CRITICAL"] = "critical";
|
|
18
|
+
})(Severity || (exports.Severity = Severity = {}));
|
|
19
|
+
/**
|
|
20
|
+
* Type of threat detected
|
|
21
|
+
*/
|
|
22
|
+
var ThreatType;
|
|
23
|
+
(function (ThreatType) {
|
|
24
|
+
// Vulnerabilities
|
|
25
|
+
ThreatType["SQL_INJECTION"] = "sql_injection";
|
|
26
|
+
ThreatType["COMMAND_INJECTION"] = "command_injection";
|
|
27
|
+
ThreatType["XSS"] = "xss";
|
|
28
|
+
ThreatType["CSRF"] = "csrf";
|
|
29
|
+
ThreatType["INSECURE_DESERIALIZATION"] = "insecure_deserialization";
|
|
30
|
+
ThreatType["HARDCODED_CREDENTIALS"] = "hardcoded_credentials";
|
|
31
|
+
ThreatType["PATH_TRAVERSAL"] = "path_traversal";
|
|
32
|
+
ThreatType["LDAP_INJECTION"] = "ldap_injection";
|
|
33
|
+
ThreatType["INSECURE_CRYPTO"] = "insecure_crypto";
|
|
34
|
+
ThreatType["WEAK_RANDOM"] = "weak_random";
|
|
35
|
+
ThreatType["DANGEROUS_FUNCTION"] = "dangerous_function";
|
|
36
|
+
ThreatType["VULNERABLE_DEPENDENCY"] = "vulnerable_dependency";
|
|
37
|
+
ThreatType["INFORMATION_DISCLOSURE"] = "information_disclosure";
|
|
38
|
+
ThreatType["BROKEN_ACCESS_CONTROL"] = "broken_access_control";
|
|
39
|
+
ThreatType["SECURITY_MISCONFIGURATION"] = "security_misconfiguration";
|
|
40
|
+
// Malware
|
|
41
|
+
ThreatType["BACKDOOR"] = "backdoor";
|
|
42
|
+
ThreatType["KEYLOGGER"] = "keylogger";
|
|
43
|
+
ThreatType["CRYPTOMINER"] = "cryptominer";
|
|
44
|
+
ThreatType["OBFUSCATED_CODE"] = "obfuscated_code";
|
|
45
|
+
ThreatType["EMBEDDED_PAYLOAD"] = "embedded_payload";
|
|
46
|
+
ThreatType["REVERSE_SHELL"] = "reverse_shell";
|
|
47
|
+
ThreatType["DATA_EXFILTRATION"] = "data_exfiltration";
|
|
48
|
+
ThreatType["SUSPICIOUS_NETWORK"] = "suspicious_network";
|
|
49
|
+
ThreatType["MALICIOUS_LOADER"] = "malicious_loader";
|
|
50
|
+
})(ThreatType || (exports.ThreatType = ThreatType = {}));
|
|
51
|
+
/**
|
|
52
|
+
* Category of finding
|
|
53
|
+
*/
|
|
54
|
+
var FindingCategory;
|
|
55
|
+
(function (FindingCategory) {
|
|
56
|
+
FindingCategory["VULNERABILITY"] = "vulnerability";
|
|
57
|
+
FindingCategory["MALWARE"] = "malware";
|
|
58
|
+
FindingCategory["CODE_SMELL"] = "code_smell";
|
|
59
|
+
FindingCategory["BEST_PRACTICE"] = "best_practice";
|
|
60
|
+
})(FindingCategory || (exports.FindingCategory = FindingCategory = {}));
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAkBH;;GAEG;AACH,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,uBAAW,CAAA;IACX,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACvB,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAkBD;;GAEG;AACH,IAAY,UA4BX;AA5BD,WAAY,UAAU;IACpB,kBAAkB;IAClB,6CAA+B,CAAA;IAC/B,qDAAuC,CAAA;IACvC,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,mEAAqD,CAAA;IACrD,6DAA+C,CAAA;IAC/C,+CAAiC,CAAA;IACjC,+CAAiC,CAAA;IACjC,iDAAmC,CAAA;IACnC,yCAA2B,CAAA;IAC3B,uDAAyC,CAAA;IACzC,6DAA+C,CAAA;IAC/C,+DAAiD,CAAA;IACjD,6DAA+C,CAAA;IAC/C,qEAAuD,CAAA;IAEvD,UAAU;IACV,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;IACvB,yCAA2B,CAAA;IAC3B,iDAAmC,CAAA;IACnC,mDAAqC,CAAA;IACrC,6CAA+B,CAAA;IAC/B,qDAAuC,CAAA;IACvC,uDAAyC,CAAA;IACzC,mDAAqC,CAAA;AACvC,CAAC,EA5BW,UAAU,0BAAV,UAAU,QA4BrB;AAED;;GAEG;AACH,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kDAA+B,CAAA;IAC/B,sCAAmB,CAAA;IACnB,4CAAyB,CAAA;IACzB,kDAA+B,CAAA;AACjC,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility Functions for Secure-Scan
|
|
3
|
+
*/
|
|
4
|
+
import { SupportedLanguage, Severity } from '../types';
|
|
5
|
+
/**
|
|
6
|
+
* Generate a unique ID
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateId(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Calculate SHA256 hash of content
|
|
11
|
+
*/
|
|
12
|
+
export declare function calculateHash(content: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Get language from file extension
|
|
15
|
+
*/
|
|
16
|
+
export declare function getLanguageFromExtension(filePath: string): SupportedLanguage | null;
|
|
17
|
+
/**
|
|
18
|
+
* Check if file should be excluded
|
|
19
|
+
*/
|
|
20
|
+
export declare function shouldExclude(filePath: string, excludePatterns: string[]): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Get file extension for syntax highlighting
|
|
23
|
+
*/
|
|
24
|
+
export declare function getHighlightLanguage(language: SupportedLanguage | null): string;
|
|
25
|
+
/**
|
|
26
|
+
* Extract code context around a line
|
|
27
|
+
*/
|
|
28
|
+
export declare function extractCodeContext(content: string, lineNumber: number, contextLines?: number): {
|
|
29
|
+
code: string;
|
|
30
|
+
contextBefore: string;
|
|
31
|
+
contextAfter: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Count lines in content
|
|
35
|
+
*/
|
|
36
|
+
export declare function countLines(content: string): number;
|
|
37
|
+
/**
|
|
38
|
+
* Severity to numeric value for comparison
|
|
39
|
+
*/
|
|
40
|
+
export declare function severityToNumber(severity: Severity): number;
|
|
41
|
+
/**
|
|
42
|
+
* Compare severities
|
|
43
|
+
*/
|
|
44
|
+
export declare function isHigherOrEqualSeverity(a: Severity, b: Severity): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Get severity color for reporting
|
|
47
|
+
*/
|
|
48
|
+
export declare function getSeverityColor(severity: Severity): string;
|
|
49
|
+
/**
|
|
50
|
+
* Get severity badge class
|
|
51
|
+
*/
|
|
52
|
+
export declare function getSeverityBadge(severity: Severity): string;
|
|
53
|
+
/**
|
|
54
|
+
* Format duration for display
|
|
55
|
+
*/
|
|
56
|
+
export declare function formatDuration(ms: number): string;
|
|
57
|
+
/**
|
|
58
|
+
* Escape HTML for safe display
|
|
59
|
+
*/
|
|
60
|
+
export declare function escapeHtml(text: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Truncate text with ellipsis
|
|
63
|
+
*/
|
|
64
|
+
export declare function truncate(text: string, maxLength: number): string;
|
|
65
|
+
/**
|
|
66
|
+
* Check if string looks like Base64
|
|
67
|
+
*/
|
|
68
|
+
export declare function isBase64Like(str: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Check if string looks like hex encoded
|
|
71
|
+
*/
|
|
72
|
+
export declare function isHexEncoded(str: string): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Calculate Shannon entropy of a string
|
|
75
|
+
* High entropy suggests encrypted/compressed/obfuscated content
|
|
76
|
+
*/
|
|
77
|
+
export declare function calculateEntropy(str: string): number;
|
|
78
|
+
/**
|
|
79
|
+
* Check if code appears obfuscated based on entropy and patterns
|
|
80
|
+
*/
|
|
81
|
+
export declare function looksObfuscated(code: string): boolean;
|
|
82
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEvD;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAuCnF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CA+BlF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,MAAM,CAgB/E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,MAAU,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAY/D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAS3D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAEzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAS3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAS3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS/C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKjD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIjD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAwBrD"}
|