@vulcn/engine 0.9.1 → 0.9.3

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 CHANGED
@@ -1,5 +1,55 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 90b60ed: Docs: align all documentation with v0.9 refactored architecture
8
+ - Replace all `vulcn.config.yml` references with `.vulcn.yml` flat config
9
+ - Remove `vulcn plugin` command (deleted `cli/plugin.mdx`, removed from nav)
10
+ - Update `vulcn run` examples to argless format (auto-discovers sessions from `sessions/`)
11
+ - Update auth path from `.vulcn/auth.enc` to `auth/state.enc`
12
+ - Replace `driverManager`/`pluginManager` singletons with `new DriverManager()`/`new PluginManager()` + `loadFromConfig()`
13
+ - Replace `Runner.execute()` with `DriverManager.executeScan()`
14
+ - Remove legacy exports section from API overview, add Project Config exports
15
+ - Rewrite plugins overview to document auto-loading from flat config keys
16
+ - Update drivers/browser config, auth workflow, and programmatic examples
17
+ - Update drivers/creating-drivers to remove config-based driver registration
18
+ - Rewrite plugin-api.mdx Session/Step types and PluginManager methods
19
+ - Fix plugin-report, plugin-passive, plugin-payloads, plugin-detect-sqli examples
20
+
21
+ - 90b60ed: Improve reflection detection accuracy — eliminate XSS false positives
22
+
23
+ **@vulcn/driver-browser**
24
+ - `checkReflection`: verbatim-only matches now use type `"reflection"` instead of the payload category, distinguishing low-confidence reflection from confirmed exploitation
25
+ - `checkReflection`: detect patterns only run when the payload appears verbatim in rendered content, preventing false matches on partially-encoded reflections
26
+ - `checkReflection`: encoding suppression now explicitly checks for dangerous HTML chars before calling `isHtmlEncoded`
27
+ - `confirmedTypes` early-exit now only triggers on high-confidence findings (type matches payload category), allowing the scanner to continue trying payloads that may trigger actual execution (e.g. `alert()`)
28
+
29
+ **@vulcn/plugin-detect-reflection**
30
+ - Skip payloads without dangerous HTML characters — reflecting plain text like `alert(1)` is not a vulnerability
31
+ - Include authentication cookies when fetching raw content for encoding checks
32
+ - Simplified encoding check flow
33
+
34
+ **benchmarks**
35
+ - Exclude `"reflection"` findings from XSS benchmark evaluation (reflection ≠ confirmed XSS)
36
+ - Add Youden's J score with qualitative label to per-case summary output
37
+
38
+ **WAVSEP XSS benchmark (before → after)**
39
+ - False Positives: 6 → 0
40
+ - True Negatives: 1 → 7
41
+ - Precision: 88.5% → 100%
42
+ - Youden's J: 0.051 → 0.479
43
+
44
+ ## 0.9.2
45
+
46
+ ### Patch Changes
47
+
48
+ - 800f9db: Fix multi-session report aggregation and CLI exit code behavior.
49
+ - **`@vulcn/plugin-report`**: Added `onScanEnd` hook for aggregate report generation. Multi-session scans (`vulcn run <session-dir>`) now produce a single report containing all findings instead of overwriting per-session. Per-session `onRunEnd` reports are skipped during scans; single-session runs are unaffected. Extracted `writeReports()` helper shared by both hooks.
50
+ - **`vulcn` CLI**: `vulcn run` now exits with code `0` on successful completion regardless of whether findings were detected. Exit code indicates tool success, not vulnerability presence — consistent with standard security tooling (OWASP ZAP, Nuclei, etc.).
51
+ - **Benchmark runner**: Fixed report path to read from `<dir>/vulcn-report.json` (matching plugin output). Bumped per-command timeout from 2min to 5min for CI. Added `VULCN_KEY` env default for non-interactive credential encryption.
52
+
3
53
  ## 0.9.1
4
54
 
5
55
  ### Patch Changes