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
package/README.md
ADDED
|
@@ -0,0 +1,564 @@
|
|
|
1
|
+
# π Secure-Scan: Herramienta SAST Profesional
|
|
2
|
+
|
|
3
|
+
[](https://opensource.org/licenses/MIT)
|
|
4
|
+
[](https://nodejs.org)
|
|
5
|
+
[](#-idiomas)
|
|
6
|
+
|
|
7
|
+
**Secure-Scan** es una herramienta profesional de **AnΓ‘lisis EstΓ‘tico de Seguridad de Aplicaciones (SAST)** diseΓ±ada para detectar vulnerabilidades y cΓ³digo malicioso en repositorios de cΓ³digo sin ejecutarlos.
|
|
8
|
+
|
|
9
|
+
## π― CaracterΓsticas Principales
|
|
10
|
+
|
|
11
|
+
### π AnΓ‘lisis de CΓ³digo Fuente
|
|
12
|
+
- β
**AnΓ‘lisis EstΓ‘tico Puro** - Sin ejecuciΓ³n, compilaciΓ³n ni interpretaciΓ³n de cΓ³digo
|
|
13
|
+
- π **DetecciΓ³n de Vulnerabilidades** - SQL Injection, XSS, CSRF, Command Injection, Path Traversal, etc.
|
|
14
|
+
- π¦ **DetecciΓ³n de Malware** - Backdoors, keyloggers, cryptominers, web shells, payloads ocultos
|
|
15
|
+
- π **Multi-lenguaje** - JavaScript, Python, PHP, Java, C/C++, C#, IaC (Docker, Terraform, Kubernetes)
|
|
16
|
+
|
|
17
|
+
### π¦ AnΓ‘lisis de ComposiciΓ³n de Software (SCA)
|
|
18
|
+
- π **AnΓ‘lisis de Manifiestos** - package.json, requirements.txt, composer.json, pom.xml, etc.
|
|
19
|
+
- π **DetecciΓ³n de CVEs** - Vulnerabilidades conocidas en dependencias
|
|
20
|
+
- β οΈ **Typosquatting** - Detecta paquetes maliciosos con nombres similares
|
|
21
|
+
- π **AnΓ‘lisis de Lock Files** - package-lock.json, yarn.lock, composer.lock, Pipfile.lock
|
|
22
|
+
|
|
23
|
+
### π¬ Escaneo de Dependencias Instaladas (NUEVO)
|
|
24
|
+
- π **Escaneo de node_modules** - AnΓ‘lisis profundo de paquetes npm/yarn instalados
|
|
25
|
+
- π **Escaneo de venv/site-packages** - Paquetes Python instalados
|
|
26
|
+
- π **Escaneo de vendor** - Dependencias PHP Composer
|
|
27
|
+
- π¦ **DetecciΓ³n de Malware en Dependencias**:
|
|
28
|
+
- πͺ Backdoors (reverse shells, conexiones C2, robo de SSH keys)
|
|
29
|
+
- βοΈ Cryptominers (minerΓa de criptomonedas oculta)
|
|
30
|
+
- π Data Stealers (robo de credenciales, variables de entorno, tokens)
|
|
31
|
+
- π₯ Malicious Loaders (descarga de payloads remotos)
|
|
32
|
+
- π CΓ³digo Ofuscado (base64 eval, hex encoding, anti-anΓ‘lisis)
|
|
33
|
+
- π€ ExfiltraciΓ³n de Datos (DNS tunneling, HTTP POST de datos)
|
|
34
|
+
- π‘οΈ TΓ©cnicas Anti-AnΓ‘lisis (detecciΓ³n de debuggers, sandbox evasion)
|
|
35
|
+
- β
**VerificaciΓ³n de Integridad** - Compara versiones instaladas vs lock files
|
|
36
|
+
- β‘ **AnΓ‘lisis de Post-Install Scripts** - Detecta scripts maliciosos en hooks
|
|
37
|
+
|
|
38
|
+
### π Reportes y EstΓ‘ndares
|
|
39
|
+
- π **Reportes HTML Profesionales** - Estilo auditorΓa de seguridad
|
|
40
|
+
- π€ **IA Integrada** - AnΓ‘lisis inteligente con modelos locales o en la nube
|
|
41
|
+
- π **Mapeo a EstΓ‘ndares** - OWASP Top 10, CWE, MITRE ATT&CK, SANS Top 25
|
|
42
|
+
- π **Multiidioma** - Reportes en espaΓ±ol (por defecto) o inglΓ©s
|
|
43
|
+
- π **PuntuaciΓ³n de Riesgo** - Score 0-100 basado en severidad y cantidad de hallazgos
|
|
44
|
+
|
|
45
|
+
## ποΈ Arquitectura
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
secure-scan/
|
|
49
|
+
βββ src/
|
|
50
|
+
β βββ cli/ # Interfaz de lΓnea de comandos
|
|
51
|
+
β βββ core/ # NΓΊcleo del sistema
|
|
52
|
+
β β βββ scanner/ # EscΓ‘ner de archivos
|
|
53
|
+
β β βββ engine/ # Motor de reglas
|
|
54
|
+
β β βββ scoring/ # Motor de puntuaciΓ³n de riesgo
|
|
55
|
+
β βββ analyzers/ # Analizadores por lenguaje (plugins)
|
|
56
|
+
β β βββ javascript/
|
|
57
|
+
β β βββ python/
|
|
58
|
+
β β βββ php/
|
|
59
|
+
β β βββ java/
|
|
60
|
+
β β βββ c-cpp/
|
|
61
|
+
β β βββ csharp/
|
|
62
|
+
β β βββ iac/ # Infraestructura como CΓ³digo
|
|
63
|
+
β βββ dependencies/ # AnΓ‘lisis de Dependencias (SCA)
|
|
64
|
+
β β βββ parsers/ # Parsers por ecosistema (npm, pip, composer, etc.)
|
|
65
|
+
β β βββ detectors/ # Detectores de vulnerabilidades
|
|
66
|
+
β β βββ database/ # Base de datos CVE y paquetes maliciosos
|
|
67
|
+
β β βββ installed/ # EscΓ‘ner de dependencias instaladas (malware)
|
|
68
|
+
β βββ rules/ # Reglas de detecciΓ³n
|
|
69
|
+
β β βββ vulnerabilities/
|
|
70
|
+
β β βββ malware/
|
|
71
|
+
β βββ ai/ # Motor de IA
|
|
72
|
+
β βββ reports/ # Generador de reportes
|
|
73
|
+
β βββ i18n/ # Traducciones (espaΓ±ol/inglΓ©s)
|
|
74
|
+
β βββ types/ # Definiciones TypeScript
|
|
75
|
+
β βββ utils/ # Utilidades
|
|
76
|
+
βββ test-samples/ # Archivos de prueba
|
|
77
|
+
βββ docs/ # DocumentaciΓ³n
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## π InstalaciΓ³n
|
|
81
|
+
|
|
82
|
+
### OpciΓ³n 1: InstalaciΓ³n Global (Recomendada)
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Clonar el repositorio
|
|
86
|
+
git clone https://github.com/your-org/secure-scan.git
|
|
87
|
+
cd secure-scan
|
|
88
|
+
|
|
89
|
+
# Instalar dependencias y compilar
|
|
90
|
+
npm install
|
|
91
|
+
|
|
92
|
+
# Instalar globalmente
|
|
93
|
+
npm link
|
|
94
|
+
|
|
95
|
+
# Verificar instalaciΓ³n
|
|
96
|
+
secure-scan --version
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### InstalaciΓ³n de IA Local con Ollama (Opcional pero Recomendado)
|
|
100
|
+
|
|
101
|
+
La IA local permite anΓ‘lisis avanzado **sin costos** y con **privacidad total**. Sigue estos pasos:
|
|
102
|
+
|
|
103
|
+
#### Paso 1: Instalar Ollama
|
|
104
|
+
|
|
105
|
+
**Windows:**
|
|
106
|
+
```bash
|
|
107
|
+
# Usando winget (recomendado)
|
|
108
|
+
winget install Ollama.Ollama
|
|
109
|
+
|
|
110
|
+
# O descarga el instalador desde https://ollama.ai
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Linux:**
|
|
114
|
+
```bash
|
|
115
|
+
curl -fsSL https://ollama.ai/install.sh | sh
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**macOS:**
|
|
119
|
+
```bash
|
|
120
|
+
brew install ollama
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
#### Paso 2: Descargar un modelo de IA
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# CodeLlama 7B Instruct - Recomendado para anΓ‘lisis de cΓ³digo
|
|
127
|
+
ollama pull codellama:7b-instruct
|
|
128
|
+
|
|
129
|
+
# Alternativas segΓΊn tu hardware:
|
|
130
|
+
# - PC con 8GB+ RAM: codellama:7b-instruct (3.8 GB)
|
|
131
|
+
# - PC con 16GB+ RAM: codellama:13b-instruct (7.4 GB)
|
|
132
|
+
# - PC con poca RAM: llama3.2:3b (2 GB)
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
#### Paso 3: Verificar que Ollama estΓ© funcionando
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Ollama se inicia automΓ‘ticamente como servicio en Windows
|
|
139
|
+
# Para verificar que funciona:
|
|
140
|
+
ollama list
|
|
141
|
+
|
|
142
|
+
# Si no estΓ‘ corriendo, iniciarlo manualmente:
|
|
143
|
+
ollama serve
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### Paso 4: Ejecutar escaneo con IA local
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Escaneo bΓ‘sico con IA local
|
|
150
|
+
secure-scan scan ./mi-proyecto --ai --ai-provider local
|
|
151
|
+
|
|
152
|
+
# Con reporte de salida
|
|
153
|
+
secure-scan scan ./mi-proyecto --ai --ai-provider local -o ./reporte-seguridad
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
> **π‘ Nota:** La primera ejecuciΓ³n puede tardar mΓ‘s mientras el modelo se carga en memoria. Las siguientes serΓ‘n mΓ‘s rΓ‘pidas.
|
|
157
|
+
|
|
158
|
+
### OpciΓ³n 2: Usar con npx
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Ejecutar directamente sin instalar
|
|
162
|
+
npx secure-scan scan ./mi-proyecto
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### OpciΓ³n 3: InstalaciΓ³n desde npm (prΓ³ximamente)
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
npm install -g secure-scan
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## π Uso
|
|
172
|
+
### VISO MODIFICAR EL ARCHIVO secure-scan.config.json PARA CONFIGURAR LA HERRAMIENTA SEGΓN TUS NECESIDADES.
|
|
173
|
+
### Escaneo BΓ‘sico
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# Escanear un proyecto
|
|
177
|
+
secure-scan scan ./mi-proyecto
|
|
178
|
+
|
|
179
|
+
# O usando la ruta completa
|
|
180
|
+
secure-scan scan "C:\Users\TuUsuario\Proyectos\mi-proyecto"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Opciones Disponibles
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Escanear con reporte HTML personalizado
|
|
187
|
+
secure-scan scan ./proyecto -o ./mi-reporte
|
|
188
|
+
|
|
189
|
+
# Modo verbose (mΓ‘s detalles)
|
|
190
|
+
secure-scan scan ./proyecto -v
|
|
191
|
+
|
|
192
|
+
# Usar anΓ‘lisis de IA (requiere API key)
|
|
193
|
+
secure-scan scan ./proyecto --ai --api-key TU_API_KEY
|
|
194
|
+
|
|
195
|
+
# Especificar lenguajes
|
|
196
|
+
secure-scan scan ./proyecto --languages javascript,python
|
|
197
|
+
|
|
198
|
+
# Reporte en inglΓ©s
|
|
199
|
+
secure-scan scan ./proyecto --lang en
|
|
200
|
+
|
|
201
|
+
# Reporte en espaΓ±ol (por defecto)
|
|
202
|
+
secure-scan scan ./proyecto --lang es
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### CombinaciΓ³n de Opciones
|
|
206
|
+
|
|
207
|
+
Puedes combinar mΓΊltiples opciones en un solo comando:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Escaneo completo con IA, verbose y reporte personalizado
|
|
211
|
+
secure-scan scan ./proyecto -v --ai --api-key "TU_API_KEY" -o "./reporte-seguridad"
|
|
212
|
+
|
|
213
|
+
# Escaneo con IA local (Ollama), lenguajes especΓficos y reporte en inglΓ©s
|
|
214
|
+
secure-scan scan ./proyecto --ai --ai-provider local -o "./security-report" --lang en --languages javascript,python
|
|
215
|
+
|
|
216
|
+
# Escaneo rΓ‘pido solo crΓticos con salida JSON
|
|
217
|
+
secure-scan scan ./proyecto --min-severity critical --json
|
|
218
|
+
|
|
219
|
+
# Escaneo completo excluyendo carpetas
|
|
220
|
+
secure-scan scan ./proyecto -v --exclude "tests,docs,examples" -o "./audit-report"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Referencia de Opciones
|
|
224
|
+
|
|
225
|
+
| OpciΓ³n | Alias | DescripciΓ³n | Ejemplo |
|
|
226
|
+
|--------|-------|-------------|---------|
|
|
227
|
+
| `--output` | `-o` | Ruta del reporte HTML | `-o ./reporte` |
|
|
228
|
+
| `--verbose` | `-v` | Salida detallada | `-v` |
|
|
229
|
+
| `--ai` | - | Habilitar anΓ‘lisis IA | `--ai` |
|
|
230
|
+
| `--api-key` | - | API key (auto-detecta proveedor) | `--api-key "sk-..."` |
|
|
231
|
+
| `--ai-provider` | - | Proveedor IA (openai, anthropic, google, gemini, local, auto) | `--ai-provider google` |
|
|
232
|
+
| `--ai-model` | - | Modelo de IA | `--ai-model gpt-4o` |
|
|
233
|
+
| `--languages` | `-l` | Lenguajes a escanear | `--languages js,py` |
|
|
234
|
+
| `--exclude` | `-e` | Patrones a excluir | `--exclude "test,docs"` |
|
|
235
|
+
| `--min-severity` | - | Severidad mΓnima | `--min-severity high` |
|
|
236
|
+
| `--lang` | - | Idioma del reporte (es/en) | `--lang en` |
|
|
237
|
+
| `--json` | - | Salida en formato JSON | `--json` |
|
|
238
|
+
| `--max-file-size` | - | TamaΓ±o mΓ‘ximo de archivo | `--max-file-size 10485760` |
|
|
239
|
+
|
|
240
|
+
### Proveedores de IA Soportados
|
|
241
|
+
|
|
242
|
+
La herramienta **auto-detecta el proveedor** basΓ‘ndose en el formato de tu API key:
|
|
243
|
+
|
|
244
|
+
| Proveedor | Prefijo API Key | Modelos Disponibles |
|
|
245
|
+
|-----------|-----------------|---------------------|
|
|
246
|
+
| **OpenAI** | `sk-` o `sk-proj-` | `gpt-4o`, `gpt-4-turbo`, `gpt-4`, `gpt-3.5-turbo`, `o1-preview`, `o1-mini` |
|
|
247
|
+
| **Anthropic** | `sk-ant-` | `claude-3-opus`, `claude-3-sonnet`, `claude-3-haiku` |
|
|
248
|
+
| **Google AI** | `AIzaSy` | `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-pro` |
|
|
249
|
+
| **Local** | N/A | Cualquier modelo via Ollama, LM Studio, etc. |
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# OpenAI (auto-detectado)
|
|
253
|
+
secure-scan scan ./proyecto --ai --api-key "sk-proj-abc123..."
|
|
254
|
+
|
|
255
|
+
# Google Gemini (auto-detectado)
|
|
256
|
+
secure-scan scan ./proyecto --ai --api-key "AIzaSyAbc123..."
|
|
257
|
+
|
|
258
|
+
# Anthropic Claude (auto-detectado)
|
|
259
|
+
secure-scan scan ./proyecto --ai --api-key "sk-ant-abc123..."
|
|
260
|
+
|
|
261
|
+
# Especificar modelo manualmente
|
|
262
|
+
secure-scan scan ./proyecto --ai --api-key "sk-..." --ai-model gpt-4o
|
|
263
|
+
|
|
264
|
+
# IA Local con Ollama (sin API key)
|
|
265
|
+
secure-scan scan ./proyecto --ai --ai-provider local
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Comandos Adicionales
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
# Ver ayuda
|
|
272
|
+
secure-scan --help
|
|
273
|
+
|
|
274
|
+
# Ver versiΓ³n
|
|
275
|
+
secure-scan --version
|
|
276
|
+
|
|
277
|
+
# Inicializar configuraciΓ³n
|
|
278
|
+
secure-scan init
|
|
279
|
+
|
|
280
|
+
# Listar reglas disponibles
|
|
281
|
+
secure-scan rules
|
|
282
|
+
|
|
283
|
+
# Filtrar reglas por lenguaje
|
|
284
|
+
secure-scan rules -l python
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
## π¦ DetecciΓ³n de Malware en Dependencias
|
|
288
|
+
|
|
289
|
+
Secure-Scan escanea las dependencias instaladas en busca de cΓ³digo malicioso. Actualmente detecta **17 patrones de malware**:
|
|
290
|
+
|
|
291
|
+
### CategorΓas de Malware Detectado
|
|
292
|
+
|
|
293
|
+
| CategorΓa | DescripciΓ³n | Ejemplos |
|
|
294
|
+
|-----------|-------------|----------|
|
|
295
|
+
| πͺ **Backdoors** | Acceso remoto no autorizado | Reverse shells, conexiones C2, robo de SSH keys |
|
|
296
|
+
| βοΈ **Cryptominers** | MinerΓa de criptomonedas | APIs de Stratum, CoinHive, MoneroOcean |
|
|
297
|
+
| π **Data Stealers** | Robo de informaciΓ³n | Credenciales, tokens, variables de entorno |
|
|
298
|
+
| π₯ **Loaders** | Descarga de payloads | eval(require('http').get), dynamic imports |
|
|
299
|
+
| π **OfuscaciΓ³n** | CΓ³digo oculto | Base64 + eval, hex encoding, char codes |
|
|
300
|
+
| π€ **ExfiltraciΓ³n** | EnvΓo de datos | DNS tunneling, HTTP POST, WebSockets |
|
|
301
|
+
| π‘οΈ **Anti-AnΓ‘lisis** | EvasiΓ³n de detecciΓ³n | Anti-debug, sandbox detection |
|
|
302
|
+
| π **File System** | Acceso sospechoso | /etc/passwd, ~/.ssh, credential stores |
|
|
303
|
+
|
|
304
|
+
### Directorios Escaneados
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
π node_modules/ β Paquetes npm/yarn
|
|
308
|
+
π vendor/ β Dependencias PHP Composer
|
|
309
|
+
π venv/ β Entornos virtuales Python
|
|
310
|
+
π site-packages/ β Paquetes Python globales
|
|
311
|
+
π .venv/ β Entornos virtuales alternativos
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### VerificaciΓ³n de Integridad
|
|
315
|
+
|
|
316
|
+
El escΓ‘ner tambiΓ©n verifica que las versiones instaladas coincidan con las declaradas en los lock files:
|
|
317
|
+
|
|
318
|
+
- β
`package-lock.json` vs `node_modules/*/package.json`
|
|
319
|
+
- β
`yarn.lock` vs `node_modules/*/package.json`
|
|
320
|
+
- β
`composer.lock` vs `vendor/*/composer.json`
|
|
321
|
+
- β
`Pipfile.lock` vs `venv/lib/python*/site-packages/`
|
|
322
|
+
|
|
323
|
+
## π Idiomas
|
|
324
|
+
|
|
325
|
+
Secure-Scan soporta reportes en mΓΊltiples idiomas:
|
|
326
|
+
|
|
327
|
+
| Idioma | CΓ³digo | Por Defecto |
|
|
328
|
+
|--------|--------|-------------|
|
|
329
|
+
| πͺπΈ EspaΓ±ol | `es` | β
SΓ |
|
|
330
|
+
| π¬π§ InglΓ©s | `en` | No |
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
# Reporte en espaΓ±ol (por defecto)
|
|
334
|
+
secure-scan scan ./proyecto -o reporte
|
|
335
|
+
|
|
336
|
+
# Reporte en inglΓ©s
|
|
337
|
+
secure-scan scan ./proyecto -o report --lang en
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
## π Niveles de Severidad
|
|
341
|
+
|
|
342
|
+
| Nivel | DescripciΓ³n |
|
|
343
|
+
|-------|-------------|
|
|
344
|
+
| π΅ Info | InformaciΓ³n relevante, buenas prΓ‘cticas |
|
|
345
|
+
| π’ Bajo | Riesgo bajo, impacto limitado |
|
|
346
|
+
| π‘ Medio | Riesgo moderado, requiere atenciΓ³n |
|
|
347
|
+
| π Alto | Riesgo alto, corregir pronto |
|
|
348
|
+
| π΄ CrΓtico | Riesgo crΓtico, corregir inmediatamente |
|
|
349
|
+
|
|
350
|
+
## π‘οΈ EstΓ‘ndares de Seguridad
|
|
351
|
+
|
|
352
|
+
Todos los hallazgos se mapean a estΓ‘ndares reconocidos:
|
|
353
|
+
|
|
354
|
+
| EstΓ‘ndar | DescripciΓ³n | Uso |
|
|
355
|
+
|----------|-------------|-----|
|
|
356
|
+
| **OWASP Top 10** | Top 10 riesgos de seguridad web | Vulnerabilidades web |
|
|
357
|
+
| **CWE** | Common Weakness Enumeration | Debilidades de cΓ³digo |
|
|
358
|
+
| **MITRE ATT&CK** | TΓ‘cticas y TΓ©cnicas de Atacantes | DetecciΓ³n de malware |
|
|
359
|
+
| **SANS Top 25** | Errores de Software MΓ‘s Peligrosos | PriorizaciΓ³n |
|
|
360
|
+
|
|
361
|
+
### Ejemplos de Mapeo
|
|
362
|
+
|
|
363
|
+
| Hallazgo | CWE | OWASP | MITRE ATT&CK |
|
|
364
|
+
|----------|-----|-------|--------------|
|
|
365
|
+
| SQL Injection | CWE-89 | A03:2021 | T1190 |
|
|
366
|
+
| XSS | CWE-79 | A03:2021 | T1059.007 |
|
|
367
|
+
| Reverse Shell | CWE-506 | - | T1059, T1571 |
|
|
368
|
+
| Cryptominer | CWE-400 | - | T1496 |
|
|
369
|
+
| Data Exfiltration | CWE-200 | - | T1041 |
|
|
370
|
+
|
|
371
|
+
## π§ ConfiguraciΓ³n
|
|
372
|
+
|
|
373
|
+
Crea un archivo `secure-scan.config.json` en la raΓz del proyecto:
|
|
374
|
+
|
|
375
|
+
```json
|
|
376
|
+
{
|
|
377
|
+
"exclude": ["node_modules", "dist", "vendor"],
|
|
378
|
+
"languages": ["javascript", "python", "php"],
|
|
379
|
+
"minSeverity": "low",
|
|
380
|
+
"language": "es",
|
|
381
|
+
"ai": {
|
|
382
|
+
"enabled": false,
|
|
383
|
+
"provider": "openai",
|
|
384
|
+
"model": "gpt-4"
|
|
385
|
+
},
|
|
386
|
+
"rules": {
|
|
387
|
+
"disabled": [],
|
|
388
|
+
"custom": []
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### Opciones de ConfiguraciΓ³n
|
|
394
|
+
|
|
395
|
+
| OpciΓ³n | DescripciΓ³n | Valor por Defecto |
|
|
396
|
+
|--------|-------------|-------------------|
|
|
397
|
+
| `exclude` | Patrones a excluir | `["node_modules", "dist"]` |
|
|
398
|
+
| `languages` | Lenguajes a analizar | Todos |
|
|
399
|
+
| `minSeverity` | Severidad mΓnima | `low` |
|
|
400
|
+
| `language` | Idioma del reporte | `es` |
|
|
401
|
+
| `ai.enabled` | Habilitar anΓ‘lisis IA | `false` |
|
|
402
|
+
|
|
403
|
+
## π€ Uso de Modelos de IA Locales
|
|
404
|
+
|
|
405
|
+
Secure-Scan soporta el uso de **modelos de IA locales** para anΓ‘lisis de seguridad sin depender de APIs externas.
|
|
406
|
+
|
|
407
|
+
### Requisitos de Hardware
|
|
408
|
+
|
|
409
|
+
| Modelo | RAM MΓnima | GPU (Opcional) | Velocidad |
|
|
410
|
+
|--------|------------|----------------|-----------|
|
|
411
|
+
| `llama3.2:3b` | 4 GB | No necesaria | Muy rΓ‘pida |
|
|
412
|
+
| `codellama:7b-instruct` | 8 GB | 4 GB VRAM | RΓ‘pida |
|
|
413
|
+
| `codellama:13b-instruct` | 16 GB | 8 GB VRAM | Moderada |
|
|
414
|
+
| `deepseek-coder:6.7b` | 8 GB | 6 GB VRAM | RΓ‘pida |
|
|
415
|
+
|
|
416
|
+
### ConfiguraciΓ³n para IA Local
|
|
417
|
+
|
|
418
|
+
Modifica la secciΓ³n `ai` en `secure-scan.config.json`:
|
|
419
|
+
|
|
420
|
+
```json
|
|
421
|
+
{
|
|
422
|
+
"ai": {
|
|
423
|
+
"enabled": true,
|
|
424
|
+
"provider": "local",
|
|
425
|
+
"model": "codellama:7b-instruct",
|
|
426
|
+
"endpoint": "http://localhost:11434/api/generate",
|
|
427
|
+
"enhanceFindings": true,
|
|
428
|
+
"generateSummary": true,
|
|
429
|
+
"maxTokens": 4096,
|
|
430
|
+
"temperature": 0.1
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
### Herramientas de IA Local Compatibles
|
|
436
|
+
|
|
437
|
+
| Herramienta | Endpoint por Defecto | Modelos Recomendados |
|
|
438
|
+
|-------------|---------------------|----------------------|
|
|
439
|
+
| **Ollama** | `http://localhost:11434/api/generate` | `codellama`, `llama3`, `mistral`, `deepseek-coder` |
|
|
440
|
+
| **LM Studio** | `http://localhost:1234/v1/completions` | Cualquier modelo GGUF |
|
|
441
|
+
| **LocalAI** | `http://localhost:8080/v1/completions` | Compatible con OpenAI API |
|
|
442
|
+
| **text-generation-webui** | `http://localhost:5000/api/generate` | Varios formatos |
|
|
443
|
+
|
|
444
|
+
### Ejemplo con Ollama (Recomendado)
|
|
445
|
+
|
|
446
|
+
1. **Instalar Ollama**: Descarga desde [ollama.ai](https://ollama.ai)
|
|
447
|
+
|
|
448
|
+
2. **Descargar un modelo optimizado para cΓ³digo**:
|
|
449
|
+
```bash
|
|
450
|
+
# CodeLlama - especializado en cΓ³digo
|
|
451
|
+
ollama pull codellama
|
|
452
|
+
|
|
453
|
+
# DeepSeek Coder - excelente para anΓ‘lisis de seguridad
|
|
454
|
+
ollama pull deepseek-coder
|
|
455
|
+
|
|
456
|
+
# Mistral - buen balance rendimiento/calidad
|
|
457
|
+
ollama pull mistral
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
3. **Ollama se ejecuta automΓ‘ticamente** en `http://localhost:11434`
|
|
461
|
+
|
|
462
|
+
4. **Ejecutar escaneo con IA local**:
|
|
463
|
+
```bash
|
|
464
|
+
secure-scan scan ./mi-proyecto --ai
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### Ejemplo con LM Studio
|
|
468
|
+
|
|
469
|
+
1. Descarga [LM Studio](https://lmstudio.ai/)
|
|
470
|
+
2. Descarga un modelo GGUF (ej: `codellama-7b-instruct.Q4_K_M.gguf`)
|
|
471
|
+
3. Inicia el servidor local en LM Studio
|
|
472
|
+
4. Configura el endpoint:
|
|
473
|
+
```json
|
|
474
|
+
{
|
|
475
|
+
"ai": {
|
|
476
|
+
"enabled": true,
|
|
477
|
+
"provider": "local",
|
|
478
|
+
"endpoint": "http://localhost:1234/v1/completions"
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
### Ventajas de IA Local
|
|
484
|
+
|
|
485
|
+
- π **Privacidad total** - Tu cΓ³digo nunca sale de tu mΓ‘quina
|
|
486
|
+
- π° **Sin costos** - No requiere suscripciones ni API keys
|
|
487
|
+
- β‘ **Sin lΓmites** - Analiza todo el cΓ³digo que necesites
|
|
488
|
+
- π **Offline** - Funciona sin conexiΓ³n a internet
|
|
489
|
+
|
|
490
|
+
## π Hoja de Ruta
|
|
491
|
+
|
|
492
|
+
- [x] Fase 1: AnΓ‘lisis estΓ‘tico bΓ‘sico (JavaScript, Python, PHP, Java, C/C++, C#)
|
|
493
|
+
- [x] Fase 2: IntegraciΓ³n de IA (OpenAI, Anthropic, modelos locales con Ollama)
|
|
494
|
+
- [x] Fase 3: Soporte multiidioma (reportes en espaΓ±ol/inglΓ©s)
|
|
495
|
+
- [x] Fase 4: AnΓ‘lisis de dependencias (SCA)
|
|
496
|
+
- [x] Parsers para 6 ecosistemas (npm, pip, composer, maven, nuget, go)
|
|
497
|
+
- [x] DetecciΓ³n de CVEs y vulnerabilidades conocidas
|
|
498
|
+
- [x] DetecciΓ³n de typosquatting
|
|
499
|
+
- [x] **Escaneo de dependencias instaladas con detecciΓ³n de malware**
|
|
500
|
+
- [x] **17 patrones de malware (backdoors, cryptominers, stealers, etc.)**
|
|
501
|
+
- [x] **VerificaciΓ³n de integridad (lock files vs instalados)**
|
|
502
|
+
- [ ] Fase 5: IntegraciΓ³n CI/CD (GitHub Actions, GitLab CI, Azure DevOps)
|
|
503
|
+
- [ ] Fase 6: AnΓ‘lisis dinΓ‘mico (DAST)
|
|
504
|
+
- [ ] Fase 7: Dashboard web en tiempo real
|
|
505
|
+
|
|
506
|
+
## β οΈ Advertencias de Seguridad
|
|
507
|
+
|
|
508
|
+
- Esta herramienta **NUNCA** ejecuta cΓ³digo del proyecto analizado
|
|
509
|
+
- DiseΓ±ada exclusivamente para **auditorΓa defensiva**
|
|
510
|
+
- No genera ni contiene malware funcional
|
|
511
|
+
- Uso responsable y Γ©tico ΓΊnicamente
|
|
512
|
+
|
|
513
|
+
## π» Ejemplo de Salida
|
|
514
|
+
|
|
515
|
+
```
|
|
516
|
+
π Secure-Scan v2.0.0
|
|
517
|
+
|
|
518
|
+
π Escaneando: ./mi-proyecto
|
|
519
|
+
π Archivos analizados: 156
|
|
520
|
+
π LΓneas de cΓ³digo: 24,853
|
|
521
|
+
β±οΈ Tiempo: 2.34s
|
|
522
|
+
|
|
523
|
+
π Resultados del Escaneo:
|
|
524
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
525
|
+
β π΄ CrΓtico: 5 β π Alto: 12 β π‘ Medio: 23 β
|
|
526
|
+
β π’ Bajo: 8 β π΅ Info: 3 β Total: 51 β
|
|
527
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
528
|
+
|
|
529
|
+
π¦ Dependencias Analizadas:
|
|
530
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
531
|
+
β π Manifiestos: 3 β π¦ Paquetes: 847 β
|
|
532
|
+
β π CVEs: 12 β π¦ Malware: 0 β
|
|
533
|
+
β β οΈ Typosquatting: 1 β β
Integridad: OK β
|
|
534
|
+
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
535
|
+
|
|
536
|
+
π PuntuaciΓ³n de Riesgo: 72/100 (Alto)
|
|
537
|
+
|
|
538
|
+
π Reporte generado: ./security-report.html
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
## π Licencia
|
|
542
|
+
|
|
543
|
+
MIT License - Ver [LICENSE](LICENSE)
|
|
544
|
+
|
|
545
|
+
## π€ Contribuir
|
|
546
|
+
|
|
547
|
+
1. Fork el repositorio
|
|
548
|
+
2. Crea una rama (`git checkout -b feature/nueva-funcionalidad`)
|
|
549
|
+
3. Commit tus cambios (`git commit -m 'AΓ±adir nueva funcionalidad'`)
|
|
550
|
+
4. Push a la rama (`git push origin feature/nueva-funcionalidad`)
|
|
551
|
+
5. Abre un Pull Request
|
|
552
|
+
|
|
553
|
+
## π Soporte
|
|
554
|
+
|
|
555
|
+
- π§ Email: soporte@secure-scan.dev
|
|
556
|
+
- π Issues: [GitHub Issues](https://github.com/your-org/secure-scan/issues)
|
|
557
|
+
- π DocumentaciΓ³n: [docs/](docs/)
|
|
558
|
+
|
|
559
|
+
---
|
|
560
|
+
|
|
561
|
+
**Desarrollado con β€οΈ para la comunidad de seguridad**
|
|
562
|
+
|
|
563
|
+
---
|
|
564
|
+
**Autor:** Luis000923
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Analyzer Module
|
|
3
|
+
* Uses AI/ML for advanced threat detection and analysis
|
|
4
|
+
*/
|
|
5
|
+
import { AIConfig, Finding, ScannedFile } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* AI Analysis Result
|
|
8
|
+
*/
|
|
9
|
+
interface AIAnalysisResult {
|
|
10
|
+
findings: Finding[];
|
|
11
|
+
explanation?: string;
|
|
12
|
+
suggestedFixes?: string[];
|
|
13
|
+
riskAssessment?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* AI Analyzer Class
|
|
17
|
+
* Provides AI-powered security analysis
|
|
18
|
+
*/
|
|
19
|
+
export declare class AIAnalyzer {
|
|
20
|
+
private config;
|
|
21
|
+
private initialized;
|
|
22
|
+
private detectedProvider;
|
|
23
|
+
constructor(config: AIConfig);
|
|
24
|
+
/**
|
|
25
|
+
* Auto-detect AI provider from API key format
|
|
26
|
+
*/
|
|
27
|
+
private detectProvider;
|
|
28
|
+
/**
|
|
29
|
+
* Initialize AI analyzer
|
|
30
|
+
*/
|
|
31
|
+
initialize(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Analyze code with AI
|
|
34
|
+
*/
|
|
35
|
+
analyze(file: ScannedFile): Promise<AIAnalysisResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Get the best model for the provider
|
|
38
|
+
*/
|
|
39
|
+
private getModel;
|
|
40
|
+
/**
|
|
41
|
+
* Analyze with OpenAI (supports all GPT models)
|
|
42
|
+
*/
|
|
43
|
+
private analyzeWithOpenAI;
|
|
44
|
+
/**
|
|
45
|
+
* Analyze with Anthropic Claude
|
|
46
|
+
*/
|
|
47
|
+
private analyzeWithAnthropic;
|
|
48
|
+
/**
|
|
49
|
+
* Analyze with Google AI (Gemini)
|
|
50
|
+
*/
|
|
51
|
+
private analyzeWithGoogle;
|
|
52
|
+
private analysisCache;
|
|
53
|
+
/**
|
|
54
|
+
* Analyze with local model (Ollama compatible) - Optimized for performance
|
|
55
|
+
*/
|
|
56
|
+
private analyzeWithLocal;
|
|
57
|
+
/**
|
|
58
|
+
* Analyze multiple files in parallel (for local models)
|
|
59
|
+
*/
|
|
60
|
+
analyzeParallel(files: ScannedFile[]): Promise<Map<string, AIAnalysisResult>>;
|
|
61
|
+
/**
|
|
62
|
+
* Clear the analysis cache
|
|
63
|
+
*/
|
|
64
|
+
clearCache(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Get system prompt for AI
|
|
67
|
+
*/
|
|
68
|
+
private getSystemPrompt;
|
|
69
|
+
/**
|
|
70
|
+
* Build analysis prompt
|
|
71
|
+
*/
|
|
72
|
+
private buildAnalysisPrompt;
|
|
73
|
+
/**
|
|
74
|
+
* Parse AI response into findings
|
|
75
|
+
*/
|
|
76
|
+
private parseAIResponse;
|
|
77
|
+
/**
|
|
78
|
+
* Convert AI finding to Finding type
|
|
79
|
+
*/
|
|
80
|
+
private convertToFinding;
|
|
81
|
+
/**
|
|
82
|
+
* Parse severity string
|
|
83
|
+
*/
|
|
84
|
+
private parseSeverity;
|
|
85
|
+
/**
|
|
86
|
+
* Parse threat type string
|
|
87
|
+
*/
|
|
88
|
+
private parseThreatType;
|
|
89
|
+
/**
|
|
90
|
+
* Check if threat type is malware
|
|
91
|
+
*/
|
|
92
|
+
private ismalwareType;
|
|
93
|
+
/**
|
|
94
|
+
* Enhance finding with AI explanation
|
|
95
|
+
*/
|
|
96
|
+
enhanceFinding(finding: Finding): Promise<Finding>;
|
|
97
|
+
}
|
|
98
|
+
export default AIAnalyzer;
|
|
99
|
+
//# sourceMappingURL=aiAnalyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiAnalyzer.d.ts","sourceRoot":"","sources":["../../src/ai/aiAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAyC,MAAM,UAAU,CAAC;AAKjG;;GAEG;AACH,UAAU,gBAAgB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAOD;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAA8B;gBAE1C,MAAM,EAAE,QAAQ;IAM5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAwCtB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwB3D;;OAEG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;OAEG;YACW,iBAAiB;IAgD/B;;OAEG;YACW,oBAAoB;IAqClC;;OAEG;YACW,iBAAiB;IAmF/B,OAAO,CAAC,aAAa,CAA4C;IAEjE;;OAEG;YACW,gBAAgB;IA0G9B;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAqBnF;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmCvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IA6BvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,eAAe;IA0BvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CA4CzD;AAED,eAAe,UAAU,CAAC"}
|