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,320 @@
|
|
|
1
|
+
# 🏗️ Arquitectura Técnica - Secure-Scan
|
|
2
|
+
|
|
3
|
+
## Visión General
|
|
4
|
+
|
|
5
|
+
Secure-Scan es una herramienta profesional de **Análisis Estático de Seguridad de Aplicaciones (SAST)** diseñada con una arquitectura modular, extensible y de nivel empresarial.
|
|
6
|
+
|
|
7
|
+
## Diagrama de Arquitectura
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
11
|
+
│ CLI Core │
|
|
12
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
|
|
13
|
+
│ │ Commands │ │ Options │ │ Config Loader │ │
|
|
14
|
+
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
|
|
15
|
+
└─────────────────────────────┬───────────────────────────────────┘
|
|
16
|
+
│
|
|
17
|
+
▼
|
|
18
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
19
|
+
│ Security Scanner │
|
|
20
|
+
│ ┌──────────────────────────────────────────────────────────┐ │
|
|
21
|
+
│ │ Orchestrator │ │
|
|
22
|
+
│ │ - Coordina todos los módulos │ │
|
|
23
|
+
│ │ - Gestiona el flujo de análisis │ │
|
|
24
|
+
│ │ - Combina resultados │ │
|
|
25
|
+
│ └──────────────────────────────────────────────────────────┘ │
|
|
26
|
+
└──────────┬────────────────┬────────────────┬────────────────────┘
|
|
27
|
+
│ │ │
|
|
28
|
+
▼ ▼ ▼
|
|
29
|
+
┌──────────────────┐ ┌──────────────┐ ┌──────────────────┐
|
|
30
|
+
│ File Scanner │ │ Rule Engine │ │ AI Analyzer │
|
|
31
|
+
│ │ │ │ │ │
|
|
32
|
+
│ - Escanea dirs │ │ - Patterns │ │ - OpenAI/Claude │
|
|
33
|
+
│ - Detecta langs │ │ - Regex │ │ - Modelos locales│
|
|
34
|
+
│ - Lee archivos │ │ - AST │ │ - Mejora reglas │
|
|
35
|
+
└──────────────────┘ └──────────────┘ └──────────────────┘
|
|
36
|
+
│ │ │
|
|
37
|
+
└────────────────┴────────────────┘
|
|
38
|
+
│
|
|
39
|
+
▼
|
|
40
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
41
|
+
│ Language Analyzers (Plugins) │
|
|
42
|
+
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
43
|
+
│ │ JS │ │ Python │ │ PHP │ │ Java │ │ C/C++ │ │
|
|
44
|
+
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
|
|
45
|
+
│ ┌─────────┐ ┌─────────────────────────────────────────────┐ │
|
|
46
|
+
│ │ C# │ │ IaC Analyzer │ │
|
|
47
|
+
│ └─────────┘ │ (Dockerfile, YAML, Terraform, CI/CD) │ │
|
|
48
|
+
│ └─────────────────────────────────────────────┘ │
|
|
49
|
+
└─────────────────────────────┬───────────────────────────────────┘
|
|
50
|
+
│
|
|
51
|
+
▼
|
|
52
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
53
|
+
│ Risk Scoring Engine │
|
|
54
|
+
│ - Calcula puntuación de riesgo (0-100) │
|
|
55
|
+
│ - Pondera por severidad y categoría │
|
|
56
|
+
│ - Genera métricas de seguridad │
|
|
57
|
+
└─────────────────────────────┬───────────────────────────────────┘
|
|
58
|
+
│
|
|
59
|
+
▼
|
|
60
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
61
|
+
│ Report Generator │
|
|
62
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
|
|
63
|
+
│ │ HTML │ │ JSON │ │ SARIF (futuro) │ │
|
|
64
|
+
│ └──────────────┘ └──────────────┘ └──────────────────────┘ │
|
|
65
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Componentes Principales
|
|
69
|
+
|
|
70
|
+
### 1. CLI Core (`src/cli/`)
|
|
71
|
+
|
|
72
|
+
Punto de entrada de la aplicación. Maneja:
|
|
73
|
+
- Parsing de argumentos
|
|
74
|
+
- Configuración de opciones
|
|
75
|
+
- Invocación del scanner
|
|
76
|
+
- Formato de salida
|
|
77
|
+
|
|
78
|
+
**Comandos:**
|
|
79
|
+
- `scan <path>` - Escanea un proyecto
|
|
80
|
+
- `init` - Crea archivo de configuración
|
|
81
|
+
- `rules` - Lista reglas disponibles
|
|
82
|
+
|
|
83
|
+
### 2. File Scanner (`src/analyzers/core/scanner/`)
|
|
84
|
+
|
|
85
|
+
Responsable de:
|
|
86
|
+
- Escanear directorios recursivamente
|
|
87
|
+
- Detectar lenguajes por extensión
|
|
88
|
+
- Leer y procesar archivos
|
|
89
|
+
- Filtrar por patrones de exclusión
|
|
90
|
+
- Calcular hashes de archivos
|
|
91
|
+
|
|
92
|
+
### 3. Rule Engine (`src/analyzers/core/engine/`)
|
|
93
|
+
|
|
94
|
+
Motor de reglas que:
|
|
95
|
+
- Carga reglas de detección
|
|
96
|
+
- Ejecuta patrones regex contra código
|
|
97
|
+
- Genera findings con contexto
|
|
98
|
+
- Soporta AST (futuro)
|
|
99
|
+
|
|
100
|
+
### 4. Language Analyzers (`src/analyzers/`)
|
|
101
|
+
|
|
102
|
+
Plugins especializados por lenguaje:
|
|
103
|
+
|
|
104
|
+
| Analizador | Lenguajes | Capacidades Especiales |
|
|
105
|
+
|------------|-----------|------------------------|
|
|
106
|
+
| JavaScript | JS, TS | npm audit, prototype pollution, DOM XSS |
|
|
107
|
+
| Python | Python | pickle, YAML, Django/Flask |
|
|
108
|
+
| PHP | PHP | Web shells, file inclusion, SQL |
|
|
109
|
+
| Java | Java | Deserialization, XXE, SpEL |
|
|
110
|
+
| C/C++ | C, C++ | Buffer overflow, format string |
|
|
111
|
+
| C# | C# | .NET vulnerabilities, LDAP |
|
|
112
|
+
| IaC | Docker, YAML, TF | Container security, CI/CD |
|
|
113
|
+
|
|
114
|
+
### 5. AI Analyzer (`src/ai/`)
|
|
115
|
+
|
|
116
|
+
Análisis potenciado por IA:
|
|
117
|
+
- Integración con OpenAI GPT-4
|
|
118
|
+
- Soporte para Anthropic Claude
|
|
119
|
+
- Modelos locales (Ollama, llama.cpp)
|
|
120
|
+
- Mejora de explicaciones
|
|
121
|
+
- Detección de patrones complejos
|
|
122
|
+
|
|
123
|
+
### 6. Risk Scoring (`src/analyzers/core/scoring/`)
|
|
124
|
+
|
|
125
|
+
Sistema de puntuación:
|
|
126
|
+
- Calcula score 0-100
|
|
127
|
+
- Pondera por severidad (Critical=100, Info=5)
|
|
128
|
+
- Multiplica por categoría (Malware=1.5x)
|
|
129
|
+
- Normaliza por tamaño del proyecto
|
|
130
|
+
|
|
131
|
+
### 7. Report Generator (`src/reports/`)
|
|
132
|
+
|
|
133
|
+
Genera reportes profesionales:
|
|
134
|
+
- HTML con diseño moderno
|
|
135
|
+
- JSON para integración
|
|
136
|
+
- SARIF para IDEs (futuro)
|
|
137
|
+
|
|
138
|
+
## Flujo de Datos
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
Entrada: Ruta del proyecto
|
|
142
|
+
│
|
|
143
|
+
▼
|
|
144
|
+
┌──────────────┐
|
|
145
|
+
│ File Scanner │ ──▶ Lista de archivos con contenido
|
|
146
|
+
└──────────────┘
|
|
147
|
+
│
|
|
148
|
+
▼
|
|
149
|
+
┌──────────────┐
|
|
150
|
+
│ Detección de │ ──▶ Asigna lenguaje a cada archivo
|
|
151
|
+
│ Lenguaje │
|
|
152
|
+
└──────────────┘
|
|
153
|
+
│
|
|
154
|
+
▼
|
|
155
|
+
┌──────────────────────────────────────┐
|
|
156
|
+
│ Análisis Paralelo │
|
|
157
|
+
│ ┌────────────┐ ┌────────────────┐ │
|
|
158
|
+
│ │ Rules │ │ Analyzers │ │
|
|
159
|
+
│ │ (Regex) │ │ (Por lenguaje)│ │
|
|
160
|
+
│ └────────────┘ └────────────────┘ │
|
|
161
|
+
│ │ │ │
|
|
162
|
+
│ └───────┬───────┘ │
|
|
163
|
+
│ ▼ │
|
|
164
|
+
│ ┌────────────────────────────────┐ │
|
|
165
|
+
│ │ AI Analyzer │ │
|
|
166
|
+
│ │ (si está habilitado) │ │
|
|
167
|
+
│ └────────────────────────────────┘ │
|
|
168
|
+
└──────────────────┬───────────────────┘
|
|
169
|
+
│
|
|
170
|
+
▼
|
|
171
|
+
┌──────────────┐
|
|
172
|
+
│ Deduplicación│ ──▶ Elimina findings duplicados
|
|
173
|
+
└──────────────┘
|
|
174
|
+
│
|
|
175
|
+
▼
|
|
176
|
+
┌──────────────┐
|
|
177
|
+
│ Scoring │ ──▶ Calcula riesgo
|
|
178
|
+
└──────────────┘
|
|
179
|
+
│
|
|
180
|
+
▼
|
|
181
|
+
┌──────────────┐
|
|
182
|
+
│ Report │ ──▶ Genera HTML/JSON
|
|
183
|
+
│ Generator │
|
|
184
|
+
└──────────────┘
|
|
185
|
+
│
|
|
186
|
+
▼
|
|
187
|
+
Salida: Reporte + Exit Code
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Estructura de un Finding
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
interface Finding {
|
|
194
|
+
id: string; // Identificador único
|
|
195
|
+
title: string; // Título del hallazgo
|
|
196
|
+
description: string; // Descripción detallada
|
|
197
|
+
severity: Severity; // critical | high | medium | low | info
|
|
198
|
+
threatType: ThreatType; // sql_injection, xss, backdoor, etc.
|
|
199
|
+
category: FindingCategory; // vulnerability | malware
|
|
200
|
+
location: {
|
|
201
|
+
file: string; // Ruta del archivo
|
|
202
|
+
startLine: number; // Línea inicial
|
|
203
|
+
endLine: number; // Línea final
|
|
204
|
+
};
|
|
205
|
+
snippet: {
|
|
206
|
+
code: string; // Código vulnerable
|
|
207
|
+
contextBefore: string; // Contexto anterior
|
|
208
|
+
contextAfter: string; // Contexto posterior
|
|
209
|
+
};
|
|
210
|
+
standards: SecurityStandard[]; // OWASP, CWE, MITRE
|
|
211
|
+
remediation: string; // Cómo corregir
|
|
212
|
+
confidence: number; // 0-100
|
|
213
|
+
analyzer: string; // Qué analizador lo detectó
|
|
214
|
+
tags: string[]; // Etiquetas
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Estándares de Seguridad
|
|
219
|
+
|
|
220
|
+
Cada finding se mapea a:
|
|
221
|
+
|
|
222
|
+
| Estándar | Descripción | Ejemplo |
|
|
223
|
+
|----------|-------------|---------|
|
|
224
|
+
| OWASP Top 10 | Top vulnerabilidades web | A03:2021 - Injection |
|
|
225
|
+
| CWE | Common Weakness Enumeration | CWE-79 (XSS) |
|
|
226
|
+
| MITRE ATT&CK | Tácticas y técnicas de atacantes | T1059 - Command Interpreter |
|
|
227
|
+
| SANS Top 25 | Errores de software más peligrosos | SANS-3 - SQL Injection |
|
|
228
|
+
|
|
229
|
+
## Reglas de Detección
|
|
230
|
+
|
|
231
|
+
### Estructura de una Regla
|
|
232
|
+
|
|
233
|
+
```typescript
|
|
234
|
+
interface Rule {
|
|
235
|
+
id: string; // VULN-SQL-001
|
|
236
|
+
name: string; // SQL Injection
|
|
237
|
+
description: string; // Descripción
|
|
238
|
+
languages: SupportedLanguage[]; // Lenguajes
|
|
239
|
+
threatType: ThreatType;
|
|
240
|
+
severity: Severity;
|
|
241
|
+
patterns: RulePattern[]; // Patrones de detección
|
|
242
|
+
remediation: string;
|
|
243
|
+
enabled: boolean;
|
|
244
|
+
tags: string[];
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Tipos de Patrones
|
|
249
|
+
|
|
250
|
+
1. **Regex** - Expresiones regulares
|
|
251
|
+
2. **AST** - Análisis de árbol sintáctico (futuro)
|
|
252
|
+
3. **Semantic** - Análisis semántico con IA
|
|
253
|
+
|
|
254
|
+
## Extensibilidad
|
|
255
|
+
|
|
256
|
+
### Añadir nuevo analizador
|
|
257
|
+
|
|
258
|
+
1. Crear clase que extienda `BaseAnalyzer`
|
|
259
|
+
2. Implementar método `analyze()`
|
|
260
|
+
3. Registrar en `src/analyzers/index.ts`
|
|
261
|
+
|
|
262
|
+
```typescript
|
|
263
|
+
export class NewLanguageAnalyzer extends BaseAnalyzer {
|
|
264
|
+
name = 'New Language Analyzer';
|
|
265
|
+
languages = ['newlang'];
|
|
266
|
+
version = '1.0.0';
|
|
267
|
+
|
|
268
|
+
async analyze(file: ScannedFile, rules: Rule[]): Promise<Finding[]> {
|
|
269
|
+
// Implementación
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### Añadir nuevas reglas
|
|
275
|
+
|
|
276
|
+
1. Crear archivo en `src/rules/vulnerabilities/` o `src/rules/malware/`
|
|
277
|
+
2. Definir reglas con patrones
|
|
278
|
+
3. Exportar en `index.ts`
|
|
279
|
+
|
|
280
|
+
## Seguridad del Propio Scanner
|
|
281
|
+
|
|
282
|
+
⚠️ **Restricciones de seguridad:**
|
|
283
|
+
|
|
284
|
+
1. **Solo lectura** - El scanner nunca modifica archivos
|
|
285
|
+
2. **Sin ejecución** - No ejecuta código del proyecto
|
|
286
|
+
3. **Sin compilación** - No compila ni interpreta
|
|
287
|
+
4. **Sandbox** - Puede ejecutarse en Docker
|
|
288
|
+
|
|
289
|
+
## Roadmap de Desarrollo
|
|
290
|
+
|
|
291
|
+
### Fase 1 ✅
|
|
292
|
+
- Análisis estático básico
|
|
293
|
+
- Reglas regex
|
|
294
|
+
- Reportes HTML
|
|
295
|
+
|
|
296
|
+
### Fase 2 ✅
|
|
297
|
+
- Integración IA
|
|
298
|
+
- Multi-lenguaje
|
|
299
|
+
- CLI avanzado
|
|
300
|
+
|
|
301
|
+
### Fase 3 ✅
|
|
302
|
+
- Análisis AST
|
|
303
|
+
- Análisis de IaC (Dockerfile, YAML, Terraform)
|
|
304
|
+
- Detección de malware
|
|
305
|
+
|
|
306
|
+
### Fase 4 ✅
|
|
307
|
+
- Análisis de dependencias (SCA)
|
|
308
|
+
- Software Composition Analysis
|
|
309
|
+
- Detección de CVEs, typosquatting, paquetes maliciosos
|
|
310
|
+
- Soporte para npm, pip, composer, maven, nuget, vcpkg
|
|
311
|
+
|
|
312
|
+
### Fase 5 (Futuro)
|
|
313
|
+
- Dashboard web
|
|
314
|
+
- API REST
|
|
315
|
+
- Multi-tenant SaaS
|
|
316
|
+
|
|
317
|
+
### Fase 6 (Futuro)
|
|
318
|
+
- DAST (análisis dinámico)
|
|
319
|
+
- IAST (instrumentación)
|
|
320
|
+
- RASP (protección runtime)
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Actualización V1.2.1-IA_Performances
|
|
2
|
+
|
|
3
|
+
## Resumen
|
|
4
|
+
|
|
5
|
+
La versión **V1.2.1-IA_Performances** introduce mejoras significativas en el rendimiento, nuevas capacidades de detección de malware, y una arquitectura optimizada para análisis estático de seguridad (SAST). Esta actualización refuerza la escalabilidad, extensibilidad y precisión de la herramienta Secure-Scan.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Nota Importante
|
|
10
|
+
|
|
11
|
+
Windows puede detectar como malware el módulo de `categories` y puede eliminar algunos archivos relacionados. Esto es un falso positivo debido a las reglas de detección avanzadas incluidas en esta actualización.
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Cambios Principales
|
|
18
|
+
|
|
19
|
+
### 1. **Arquitectura Modular Mejorada**
|
|
20
|
+
- Refactorización completa del módulo de detección de malware.
|
|
21
|
+
- Separación de responsabilidades en módulos especializados:
|
|
22
|
+
- `types/`: Definiciones de tipos e interfaces.
|
|
23
|
+
- `constants/`: Configuración y constantes globales.
|
|
24
|
+
- `utils/`: Funciones utilitarias para análisis avanzado.
|
|
25
|
+
- `scoring/`: Sistema de puntuación dinámico.
|
|
26
|
+
- `engine/`: Motor de detección principal.
|
|
27
|
+
- `categories/`: Reglas organizadas por categorías.
|
|
28
|
+
|
|
29
|
+
### 2. **Nuevas Categorías de Reglas de Malware**
|
|
30
|
+
Se añadieron 81 reglas distribuidas en 7 categorías:
|
|
31
|
+
- **Backdoors**: Detección de reverse shells, web shells y RATs.
|
|
32
|
+
- **Cryptominers**: Identificación de mineros de criptomonedas y abuso de CPU.
|
|
33
|
+
- **Keyloggers**: Captura de eventos de teclado y robo de credenciales.
|
|
34
|
+
- **Exfiltración de Datos**: Robo de cookies, tokens y datos sensibles.
|
|
35
|
+
- **Ofuscación**: Patrones de codificación y anti-depuración.
|
|
36
|
+
- **Loaders/Droppers**: Carga de código remoto y malware sin archivos.
|
|
37
|
+
- **Red/C2**: Comunicación con servidores de comando y control (C2).
|
|
38
|
+
|
|
39
|
+
### 3. **Integración con MITRE ATT&CK**
|
|
40
|
+
- Mapeo completo de tácticas y técnicas de MITRE ATT&CK.
|
|
41
|
+
- Ejemplo: T1059 (Command and Scripting Interpreter), T1496 (Resource Hijacking).
|
|
42
|
+
|
|
43
|
+
### 4. **Mejoras en el Motor de Reglas**
|
|
44
|
+
- Soporte para patrones Regex, AST y heurísticos.
|
|
45
|
+
- Protección contra ReDoS con límites de tiempo en Regex.
|
|
46
|
+
- Análisis concurrente de archivos con límites configurables.
|
|
47
|
+
|
|
48
|
+
### 5. **Sistema de Puntuación Dinámico**
|
|
49
|
+
- Puntuación de riesgo (0-100) basada en múltiples factores:
|
|
50
|
+
- Severidad de los hallazgos.
|
|
51
|
+
- Correlación entre patrones detectados.
|
|
52
|
+
- Nivel de ofuscación y actividad de red.
|
|
53
|
+
- Conversión de puntuación a niveles de severidad: Crítico, Alto, Medio, Bajo.
|
|
54
|
+
|
|
55
|
+
### 6. **Análisis Potenciado por IA**
|
|
56
|
+
- Integración con OpenAI GPT-4 y Anthropic Claude.
|
|
57
|
+
- Modelos locales para detección avanzada.
|
|
58
|
+
- Mejora de explicaciones y reducción de falsos positivos.
|
|
59
|
+
|
|
60
|
+
### 7. **Generación de Reportes**
|
|
61
|
+
- Reportes en formato HTML y JSON.
|
|
62
|
+
- Diseño moderno y profesional.
|
|
63
|
+
- Soporte futuro para SARIF.
|
|
64
|
+
|
|
65
|
+
### 8. **Compatibilidad con Versiones Anteriores**
|
|
66
|
+
- Exportaciones y tipos heredados siguen disponibles.
|
|
67
|
+
- Integración sin interrupciones con proyectos existentes.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Cambios Técnicos
|
|
72
|
+
|
|
73
|
+
### Refactorización de Archivos
|
|
74
|
+
- **Nuevos Archivos:**
|
|
75
|
+
- `src/rules/malware/categories/backdoors.ts`
|
|
76
|
+
- `src/rules/malware/categories/cryptominers.ts`
|
|
77
|
+
- `src/rules/malware/categories/keyloggers.ts`
|
|
78
|
+
- `src/rules/malware/categories/exfiltration.ts`
|
|
79
|
+
- `src/rules/malware/categories/obfuscation.ts`
|
|
80
|
+
- `src/rules/malware/categories/loaders.ts`
|
|
81
|
+
- `src/rules/malware/categories/network.ts`
|
|
82
|
+
- **Renombrados:**
|
|
83
|
+
- `src/core/engine/` → `src/analyzers/core/engine/`
|
|
84
|
+
- `src/core/scanner/` → `src/analyzers/core/scanner/`
|
|
85
|
+
- `src/core/scoring/` → `src/analyzers/core/scoring/`
|
|
86
|
+
|
|
87
|
+
### Dependencias Actualizadas
|
|
88
|
+
- **Producción:**
|
|
89
|
+
- `@anthropic-ai/sdk`: ^0.71.2
|
|
90
|
+
- `openai`: ^4.20.0
|
|
91
|
+
- **Desarrollo:**
|
|
92
|
+
- `@typescript-eslint/eslint-plugin`: ^6.13.0
|
|
93
|
+
- `@typescript-eslint/parser`: ^6.13.0
|
|
94
|
+
- `typescript`: ^5.3.2
|
|
95
|
+
|
|
96
|
+
### Scripts de NPM
|
|
97
|
+
- `build`: Compila el proyecto con TypeScript.
|
|
98
|
+
- `test:coverage`: Genera cobertura de pruebas con Jest.
|
|
99
|
+
- `lint`: Ejecuta ESLint para análisis estático.
|
|
100
|
+
- `prepare`: Limpia y construye el proyecto.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Próximos Pasos
|
|
105
|
+
|
|
106
|
+
1. **Integración AST**: Añadir soporte para análisis de árbol sintáctico.
|
|
107
|
+
2. **Análisis Semántico**: Implementar flujo de datos y control.
|
|
108
|
+
3. **Detección de Dependencias Maliciosas**: Integrar análisis SCA.
|
|
109
|
+
4. **Optimización de Rendimiento**: Mejorar patrones Regex y concurrencia.
|
|
110
|
+
5. **Pruebas de Integración**: Validar con muestras reales de malware.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Conclusión
|
|
115
|
+
|
|
116
|
+
La versión **V1.2.1-IA_Performances** establece un nuevo estándar para herramientas SAST con capacidades avanzadas de detección, arquitectura modular y soporte para IA. Esta actualización asegura que Secure-Scan sea una solución confiable, escalable y lista para producción.
|
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "secure-scan",
|
|
3
|
+
"version": "1.2.2",
|
|
4
|
+
"description": "Herramienta SAST (Análisis Estático de Seguridad) para detectar vulnerabilidades y código malicioso.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"secure-scan": "./dist/cli/index.js"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/Luis000923/secure-scan.git"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/Luis000923/secure-scan#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/Luis000923/secure-scan/issues"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc",
|
|
19
|
+
"start": "node dist/cli/index.js",
|
|
20
|
+
"dev": "ts-node src/cli/index.ts",
|
|
21
|
+
"test": "jest",
|
|
22
|
+
"test:coverage": "jest --coverage",
|
|
23
|
+
"lint": "eslint src/**/*.ts",
|
|
24
|
+
"clean": "rimraf dist",
|
|
25
|
+
"prepare": "npm run build"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"security",
|
|
29
|
+
"sast",
|
|
30
|
+
"static-analysis",
|
|
31
|
+
"vulnerability-scanner",
|
|
32
|
+
"malware-detection",
|
|
33
|
+
"code-analysis",
|
|
34
|
+
"owasp",
|
|
35
|
+
"cwe",
|
|
36
|
+
"profesional"
|
|
37
|
+
],
|
|
38
|
+
"author": "Luis000923",
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@anthropic-ai/sdk": "^0.71.2",
|
|
42
|
+
"chalk": "^4.1.2",
|
|
43
|
+
"commander": "^11.1.0",
|
|
44
|
+
"glob": "^10.3.10",
|
|
45
|
+
"handlebars": "^4.7.8",
|
|
46
|
+
"js-yaml": "^4.1.0",
|
|
47
|
+
"openai": "^4.20.0",
|
|
48
|
+
"ora": "^5.4.1",
|
|
49
|
+
"strip-comments": "^2.0.1",
|
|
50
|
+
"winston": "^3.11.0"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@types/glob": "^8.1.0",
|
|
54
|
+
"@types/js-yaml": "^4.0.9",
|
|
55
|
+
"@types/node": "^20.10.0",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^6.13.0",
|
|
57
|
+
"@typescript-eslint/parser": "^6.13.0",
|
|
58
|
+
"eslint": "^8.54.0",
|
|
59
|
+
"jest": "^29.7.0",
|
|
60
|
+
"rimraf": "^5.0.5",
|
|
61
|
+
"ts-jest": "^29.1.1",
|
|
62
|
+
"ts-node": "^10.9.1",
|
|
63
|
+
"typescript": "^5.3.2"
|
|
64
|
+
},
|
|
65
|
+
"engines": {
|
|
66
|
+
"node": ">=18.0.0"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/secure-scan/secure-scan/main/schema.json",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
|
|
5
|
+
"scan": {
|
|
6
|
+
"languages": [
|
|
7
|
+
"javascript",
|
|
8
|
+
"typescript",
|
|
9
|
+
"python",
|
|
10
|
+
"php",
|
|
11
|
+
"java",
|
|
12
|
+
"c",
|
|
13
|
+
"cpp",
|
|
14
|
+
"csharp",
|
|
15
|
+
"dockerfile",
|
|
16
|
+
"yaml",
|
|
17
|
+
"terraform"
|
|
18
|
+
],
|
|
19
|
+
"exclude": [
|
|
20
|
+
"**/node_modules/**",
|
|
21
|
+
"**/vendor/**",
|
|
22
|
+
"**/venv/**",
|
|
23
|
+
"**/.venv/**",
|
|
24
|
+
"**/dist/**",
|
|
25
|
+
"**/build/**",
|
|
26
|
+
"**/target/**",
|
|
27
|
+
"**/.git/**",
|
|
28
|
+
"**/coverage/**",
|
|
29
|
+
"**/__pycache__/**",
|
|
30
|
+
"**/*.min.js",
|
|
31
|
+
"**/*.min.css",
|
|
32
|
+
"**/package-lock.json",
|
|
33
|
+
"**/yarn.lock",
|
|
34
|
+
"**/composer.lock"
|
|
35
|
+
],
|
|
36
|
+
"include": [],
|
|
37
|
+
"maxFileSize": 1048576,
|
|
38
|
+
"maxFiles": 10000,
|
|
39
|
+
"followSymlinks": false
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
"rules": {
|
|
43
|
+
"enabled": true,
|
|
44
|
+
"categories": {
|
|
45
|
+
"vulnerability": true,
|
|
46
|
+
"malware": true
|
|
47
|
+
},
|
|
48
|
+
"severity": {
|
|
49
|
+
"critical": true,
|
|
50
|
+
"high": true,
|
|
51
|
+
"medium": true,
|
|
52
|
+
"low": true,
|
|
53
|
+
"info": false
|
|
54
|
+
},
|
|
55
|
+
"customRulesPath": null,
|
|
56
|
+
"disabledRules": []
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
"ai": {
|
|
60
|
+
"enabled": true,
|
|
61
|
+
"provider": "local",
|
|
62
|
+
"model": "codellama:7b-instruct",
|
|
63
|
+
"apiKey": null,
|
|
64
|
+
"endpoint": "http://localhost:11434/api/generate",
|
|
65
|
+
"enhanceFindings": true,
|
|
66
|
+
"generateSummary": true,
|
|
67
|
+
"maxTokens": 4096,
|
|
68
|
+
"temperature": 0.1,
|
|
69
|
+
"performance": {
|
|
70
|
+
"parallelRequests": 2,
|
|
71
|
+
"numGpuLayers": -1,
|
|
72
|
+
"numThreads": 8,
|
|
73
|
+
"contextSize": 4096,
|
|
74
|
+
"batchSize": 512,
|
|
75
|
+
"enableCache": true,
|
|
76
|
+
"useMmap": true,
|
|
77
|
+
"useMlock": false,
|
|
78
|
+
"timeout": 120000
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
|
|
82
|
+
"output": {
|
|
83
|
+
"format": "html",
|
|
84
|
+
"path": "./secure-scan-report",
|
|
85
|
+
"filename": "security-report",
|
|
86
|
+
"includeSource": true,
|
|
87
|
+
"groupBy": "severity",
|
|
88
|
+
"sortBy": "severity"
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
"scoring": {
|
|
92
|
+
"enabled": true,
|
|
93
|
+
"weights": {
|
|
94
|
+
"critical": 100,
|
|
95
|
+
"high": 50,
|
|
96
|
+
"medium": 20,
|
|
97
|
+
"low": 5,
|
|
98
|
+
"info": 1
|
|
99
|
+
},
|
|
100
|
+
"categoryMultipliers": {
|
|
101
|
+
"vulnerability": 1.0,
|
|
102
|
+
"malware": 1.5
|
|
103
|
+
},
|
|
104
|
+
"thresholds": {
|
|
105
|
+
"fail": 70,
|
|
106
|
+
"warn": 40
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
|
|
110
|
+
"performance": {
|
|
111
|
+
"parallelism": 4,
|
|
112
|
+
"timeout": 300000,
|
|
113
|
+
"cacheEnabled": true,
|
|
114
|
+
"cachePath": ".secure-scan-cache"
|
|
115
|
+
},
|
|
116
|
+
|
|
117
|
+
"integrations": {
|
|
118
|
+
"git": {
|
|
119
|
+
"enabled": true,
|
|
120
|
+
"scanOnlyChanged": false,
|
|
121
|
+
"baseBranch": "main"
|
|
122
|
+
},
|
|
123
|
+
"sarif": {
|
|
124
|
+
"enabled": false,
|
|
125
|
+
"path": "./results.sarif"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
|
|
129
|
+
"logging": {
|
|
130
|
+
"level": "info",
|
|
131
|
+
"file": null,
|
|
132
|
+
"colors": true
|
|
133
|
+
}
|
|
134
|
+
}
|
package/secure-scan.sln
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
2
|
+
# Visual Studio Version 17
|
|
3
|
+
VisualStudioVersion = 17.5.2.0
|
|
4
|
+
MinimumVisualStudioVersion = 10.0.40219.1
|
|
5
|
+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test-samples", "test-samples", "{5E849C8E-AA1E-7CD4-5143-C6E7A8E2EC2D}"
|
|
6
|
+
EndProject
|
|
7
|
+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VulnerableProject", "test-samples\VulnerableProject.csproj", "{970E6386-2235-55A4-270C-676D2128FFFC}"
|
|
8
|
+
EndProject
|
|
9
|
+
Global
|
|
10
|
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
11
|
+
Debug|Any CPU = Debug|Any CPU
|
|
12
|
+
Release|Any CPU = Release|Any CPU
|
|
13
|
+
EndGlobalSection
|
|
14
|
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
15
|
+
{970E6386-2235-55A4-270C-676D2128FFFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
16
|
+
{970E6386-2235-55A4-270C-676D2128FFFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
17
|
+
{970E6386-2235-55A4-270C-676D2128FFFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
18
|
+
{970E6386-2235-55A4-270C-676D2128FFFC}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
19
|
+
EndGlobalSection
|
|
20
|
+
GlobalSection(SolutionProperties) = preSolution
|
|
21
|
+
HideSolutionNode = FALSE
|
|
22
|
+
EndGlobalSection
|
|
23
|
+
GlobalSection(NestedProjects) = preSolution
|
|
24
|
+
{970E6386-2235-55A4-270C-676D2128FFFC} = {5E849C8E-AA1E-7CD4-5143-C6E7A8E2EC2D}
|
|
25
|
+
EndGlobalSection
|
|
26
|
+
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
27
|
+
SolutionGuid = {C65C7978-61E0-4C31-98B7-BA2317A793D2}
|
|
28
|
+
EndGlobalSection
|
|
29
|
+
EndGlobal
|