ferret-scan 1.0.7 → 2.0.0
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/CHANGELOG.md +152 -12
- package/README.md +612 -35
- package/bin/ferret.js +641 -10
- package/dist/ai-rules/RuleGenerator.d.ts +26 -0
- package/dist/ai-rules/RuleGenerator.js +101 -0
- package/dist/analyzers/AstAnalyzer.js +46 -7
- package/dist/analyzers/CorrelationAnalyzer.js +55 -3
- package/dist/compliance/ComplianceMapper.d.ts +37 -0
- package/dist/compliance/ComplianceMapper.js +171 -0
- package/dist/features/capabilityMapping.d.ts +72 -0
- package/dist/features/capabilityMapping.js +506 -0
- package/dist/features/customRules.d.ts +196 -0
- package/dist/features/customRules.js +501 -0
- package/dist/features/dependencyRisk.d.ts +94 -0
- package/dist/features/dependencyRisk.js +387 -0
- package/dist/features/entropyAnalysis.d.ts +54 -0
- package/dist/features/entropyAnalysis.js +283 -0
- package/dist/features/exitCodes.d.ts +102 -0
- package/dist/features/exitCodes.js +175 -0
- package/dist/features/gitHooks.d.ts +55 -0
- package/dist/features/gitHooks.js +260 -0
- package/dist/features/ignoreComments.d.ts +83 -0
- package/dist/features/ignoreComments.js +301 -0
- package/dist/features/interactiveTui.d.ts +44 -0
- package/dist/features/interactiveTui.js +436 -0
- package/dist/features/llmAnalysis.d.ts +34 -0
- package/dist/features/llmAnalysis.js +680 -0
- package/dist/features/mcpValidator.d.ts +60 -0
- package/dist/features/mcpValidator.js +400 -0
- package/dist/features/policyEnforcement.d.ts +330 -0
- package/dist/features/policyEnforcement.js +486 -0
- package/dist/features/scanDiff.d.ts +65 -0
- package/dist/features/scanDiff.js +258 -0
- package/dist/features/webhooks.d.ts +42 -0
- package/dist/features/webhooks.js +280 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/intelligence/ThreatFeed.d.ts +1 -1
- package/dist/intelligence/ThreatFeed.js +9 -2
- package/dist/marketplace/MarketplaceScanner.d.ts +50 -0
- package/dist/marketplace/MarketplaceScanner.js +248 -0
- package/dist/mitre/atlas.d.ts +28 -0
- package/dist/mitre/atlas.js +341 -0
- package/dist/mitre/atlasCatalog.d.ts +17 -0
- package/dist/mitre/atlasCatalog.js +140 -0
- package/dist/monitoring/AgentMonitor.d.ts +76 -0
- package/dist/monitoring/AgentMonitor.js +173 -0
- package/dist/remediation/Fixer.d.ts +4 -0
- package/dist/remediation/Fixer.js +39 -4
- package/dist/remediation/Quarantine.d.ts +1 -1
- package/dist/remediation/Quarantine.js +11 -1
- package/dist/reporters/AtlasNavigatorReporter.d.ts +38 -0
- package/dist/reporters/AtlasNavigatorReporter.js +74 -0
- package/dist/reporters/ConsoleReporter.js +2 -1
- package/dist/reporters/CsvReporter.d.ts +10 -0
- package/dist/reporters/CsvReporter.js +49 -0
- package/dist/reporters/HtmlReporter.js +6 -4
- package/dist/reporters/SarifReporter.d.ts +2 -0
- package/dist/reporters/SarifReporter.js +45 -3
- package/dist/rules/ai-specific.js +23 -0
- package/dist/rules/backdoors.js +4 -1
- package/dist/rules/correlationRules.js +2 -2
- package/dist/rules/credentials.js +11 -14
- package/dist/rules/exfiltration.js +0 -1
- package/dist/rules/injection.js +2 -2
- package/dist/rules/obfuscation.js +3 -2
- package/dist/rules/semanticRules.js +18 -3
- package/dist/rules/supply-chain.js +6 -3
- package/dist/sandbox/SandboxValidator.d.ts +58 -0
- package/dist/sandbox/SandboxValidator.js +125 -0
- package/dist/scanner/FileDiscovery.d.ts +2 -0
- package/dist/scanner/FileDiscovery.js +171 -3
- package/dist/scanner/PatternMatcher.js +15 -3
- package/dist/scanner/Scanner.js +330 -12
- package/dist/scanner/WatchMode.js +0 -2
- package/dist/types.d.ts +119 -16
- package/dist/types.js +46 -2
- package/dist/utils/baseline.d.ts +2 -1
- package/dist/utils/baseline.js +18 -12
- package/dist/utils/config.js +207 -14
- package/dist/utils/ignore.js +2 -3
- package/dist/utils/pathSecurity.d.ts +30 -0
- package/dist/utils/pathSecurity.js +59 -0
- package/dist/utils/redaction.d.ts +18 -0
- package/dist/utils/redaction.js +99 -0
- package/dist/utils/schemas.d.ts +2111 -0
- package/dist/utils/schemas.js +250 -0
- package/package.json +11 -10
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,158 @@ All notable changes to ferret-scan will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Planned Features
|
|
11
|
+
- Complete LSP server implementation
|
|
12
|
+
- Complete IntelliJ plugin implementation
|
|
13
|
+
- Community rule sharing backend
|
|
14
|
+
- Real-time monitoring dashboard
|
|
15
|
+
- CI/CD plugins for Jenkins, Azure DevOps
|
|
16
|
+
- REST API for third-party integrations
|
|
17
|
+
- SIEM/SOAR integrations
|
|
18
|
+
|
|
19
|
+
## [2.0.0] - 2026-02-15
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
- **IDE Integrations**
|
|
23
|
+
- VS Code extension with real-time security scanning
|
|
24
|
+
- Inline diagnostics with severity-based warnings
|
|
25
|
+
- Quick fix code actions for common issues
|
|
26
|
+
- Security findings tree view in sidebar
|
|
27
|
+
- LSP server infrastructure for universal IDE support
|
|
28
|
+
- IntelliJ plugin infrastructure
|
|
29
|
+
|
|
30
|
+
- **Advanced Behavior Analysis**
|
|
31
|
+
- Runtime agent execution monitoring
|
|
32
|
+
- Anomaly detection based on behavioral baselines
|
|
33
|
+
- Resource usage tracking (CPU, memory, disk)
|
|
34
|
+
- Network activity monitoring
|
|
35
|
+
- Sensitive file access detection
|
|
36
|
+
- Event-based real-time alerting system
|
|
37
|
+
|
|
38
|
+
- **Marketplace Security**
|
|
39
|
+
- Claude Skills marketplace scanner
|
|
40
|
+
- Cursor extensions security analysis
|
|
41
|
+
- Plugin permission risk detection
|
|
42
|
+
- Dangerous capability combination analysis
|
|
43
|
+
- Automated risk scoring and recommendations
|
|
44
|
+
- Source code scanning integration
|
|
45
|
+
|
|
46
|
+
- **AI-Powered Features**
|
|
47
|
+
- LLM-based rule generation from threat intelligence
|
|
48
|
+
- Automated rule validation and testing
|
|
49
|
+
- Community rule sharing infrastructure
|
|
50
|
+
- Confidence scoring for generated rules
|
|
51
|
+
- MITRE ATLAS technique mapping
|
|
52
|
+
|
|
53
|
+
- **Sandboxing Integration**
|
|
54
|
+
- Pre-execution security validation
|
|
55
|
+
- Runtime constraint enforcement
|
|
56
|
+
- Policy violation detection
|
|
57
|
+
- Dangerous command pattern blocking
|
|
58
|
+
- Resource limit generation
|
|
59
|
+
- Network and file system access controls
|
|
60
|
+
|
|
61
|
+
- **Compliance Frameworks**
|
|
62
|
+
- SOC2 compliance assessment and reporting
|
|
63
|
+
- ISO 27001 control mapping
|
|
64
|
+
- GDPR privacy impact assessment
|
|
65
|
+
- Automated evidence collection
|
|
66
|
+
- Compliance scoring system
|
|
67
|
+
- Remediation recommendations
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
- Version bumped from 1.0.10 to 2.0.0
|
|
71
|
+
- Package description updated to reflect platform capabilities
|
|
72
|
+
- README enhanced with v2.0 features and IDE integration docs
|
|
73
|
+
- Repository structure reorganized for better maintainability
|
|
74
|
+
- Documentation moved to docs/ folder
|
|
75
|
+
|
|
76
|
+
### Fixed
|
|
77
|
+
- All TypeScript compilation errors in new modules
|
|
78
|
+
- Unused import and variable warnings
|
|
79
|
+
- Build system optimizations
|
|
80
|
+
|
|
81
|
+
## [1.0.10] - 2026-02-12
|
|
82
|
+
|
|
83
|
+
### Changed
|
|
84
|
+
- Release tag update to align with latest main branch
|
|
85
|
+
|
|
86
|
+
## [1.0.9] - 2026-02-12
|
|
87
|
+
|
|
88
|
+
### Added
|
|
89
|
+
- Integration scan test over `test/fixtures`
|
|
90
|
+
|
|
91
|
+
### Fixed
|
|
92
|
+
- Removed unimplemented config/CLI options (AI detection, behavioral analysis, custom rules)
|
|
93
|
+
- SARIF version resolution now works outside npm scripts
|
|
94
|
+
- Docker Compose watch command aligned to `scan --watch`
|
|
95
|
+
|
|
96
|
+
### Docs
|
|
97
|
+
- Clarified threat intel as local-only and moved future items to Planned
|
|
98
|
+
- Added docs index and removed historical planning/phase docs
|
|
99
|
+
- Aligned deployment docs with supported Compose profiles
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## [1.0.8] - 2026-02-12
|
|
103
|
+
|
|
104
|
+
### Added
|
|
105
|
+
- CSV output format for scan results
|
|
106
|
+
- TypeScript/JavaScript file discovery for semantic analysis
|
|
107
|
+
|
|
108
|
+
### Fixed
|
|
109
|
+
- Baseline hashing uses SHA-256 to avoid collisions
|
|
110
|
+
- Baseline stats track actual severity
|
|
111
|
+
- SARIF metadata uses package version and correct repo URL
|
|
112
|
+
- Guard against zero-length regex matches in pattern scanning
|
|
113
|
+
- Config loader no longer accepts unimplemented options
|
|
114
|
+
|
|
115
|
+
### Docs
|
|
116
|
+
- Consolidated deployment docs under `docs/deployment.md`
|
|
117
|
+
- Removed historical planning and phase documents
|
|
118
|
+
- Updated README/CONTRIBUTING examples and docs links
|
|
119
|
+
|
|
120
|
+
## [1.0.7] - 2026-02-01
|
|
121
|
+
|
|
122
|
+
### Fixed
|
|
123
|
+
- Async file discovery for spinner animation during discovery phase
|
|
124
|
+
- Both "Discovering files..." and "Scanning..." spinners now animate smoothly
|
|
125
|
+
|
|
126
|
+
## [1.0.6] - 2026-02-01
|
|
127
|
+
|
|
128
|
+
### Fixed
|
|
129
|
+
- Async file reading (`fs.promises.readFile`) for spinner animation during scan phase
|
|
130
|
+
- Spinner now animates during file scanning on large codebases
|
|
131
|
+
|
|
132
|
+
## [1.0.5] - 2026-02-01
|
|
133
|
+
|
|
134
|
+
### Fixed
|
|
135
|
+
- Time-based yielding (every 100ms) for more reliable spinner updates
|
|
136
|
+
|
|
137
|
+
## [1.0.4] - 2026-02-01
|
|
138
|
+
|
|
139
|
+
### Fixed
|
|
140
|
+
- Yield on every file for spinner animation (intermediate fix)
|
|
141
|
+
|
|
142
|
+
## [1.0.3] - 2026-02-01
|
|
143
|
+
|
|
144
|
+
### Fixed
|
|
145
|
+
- Increased yield frequency for spinner updates
|
|
146
|
+
|
|
147
|
+
## [1.0.2] - 2026-02-01
|
|
148
|
+
|
|
149
|
+
### Added
|
|
150
|
+
- Progress indicators during scanning using ora spinner
|
|
151
|
+
- Real-time file count and findings display during scan
|
|
152
|
+
- TTY detection to disable spinners in CI environments
|
|
153
|
+
|
|
154
|
+
## [1.0.1] - 2026-01-31
|
|
155
|
+
|
|
156
|
+
### Fixed
|
|
157
|
+
- Repository URLs corrected from `ferret-security/ferret-scan` to `fubak/ferret-scan`
|
|
158
|
+
- Added `typescript` as production dependency (required at runtime for AST analysis)
|
|
159
|
+
|
|
8
160
|
## [1.0.0] - 2026-01-31
|
|
9
161
|
|
|
10
162
|
### Added
|
|
@@ -37,15 +189,3 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
37
189
|
- Lazy loading of AI models and threat feeds
|
|
38
190
|
- Parallel processing for large codebases
|
|
39
191
|
- Efficient file discovery with ignore patterns
|
|
40
|
-
|
|
41
|
-
## [Unreleased]
|
|
42
|
-
|
|
43
|
-
### Planned Features
|
|
44
|
-
- VS Code extension for IDE integration
|
|
45
|
-
- CI/CD plugins for Jenkins, GitLab, Azure DevOps
|
|
46
|
-
- REST API for third-party integrations
|
|
47
|
-
- Machine learning model for advanced anomaly detection
|
|
48
|
-
- Compliance framework integration (SOC2, ISO27001)
|
|
49
|
-
- Community rule marketplace
|
|
50
|
-
- Advanced threat hunting capabilities
|
|
51
|
-
- SIEM/SOAR integrations
|