erosolar-cli 2.0.4 → 2.1.1

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.
Files changed (134) hide show
  1. package/agents/erosolar-security.rules.json +147 -0
  2. package/dist/capabilities/enhancedAnalysisCapability.d.ts +13 -0
  3. package/dist/capabilities/enhancedAnalysisCapability.d.ts.map +1 -0
  4. package/dist/capabilities/enhancedAnalysisCapability.js +20 -0
  5. package/dist/capabilities/enhancedAnalysisCapability.js.map +1 -0
  6. package/dist/capabilities/offsecOpsCapability.d.ts +6 -0
  7. package/dist/capabilities/offsecOpsCapability.d.ts.map +1 -0
  8. package/dist/capabilities/offsecOpsCapability.js +20 -0
  9. package/dist/capabilities/offsecOpsCapability.js.map +1 -0
  10. package/dist/capabilities/offsecSearchCapability.d.ts +12 -0
  11. package/dist/capabilities/offsecSearchCapability.d.ts.map +1 -0
  12. package/dist/capabilities/offsecSearchCapability.js +27 -0
  13. package/dist/capabilities/offsecSearchCapability.js.map +1 -0
  14. package/dist/capabilities/taoCapability.d.ts +6 -0
  15. package/dist/capabilities/taoCapability.d.ts.map +1 -0
  16. package/dist/capabilities/taoCapability.js +20 -0
  17. package/dist/capabilities/taoCapability.js.map +1 -0
  18. package/dist/capabilities/toolRegistry.d.ts +2 -1
  19. package/dist/capabilities/toolRegistry.d.ts.map +1 -1
  20. package/dist/capabilities/toolRegistry.js +6 -1
  21. package/dist/capabilities/toolRegistry.js.map +1 -1
  22. package/dist/contracts/agent-schemas.json +18 -19
  23. package/dist/contracts/tools.schema.json +38 -8
  24. package/dist/core/contextManager.d.ts +8 -2
  25. package/dist/core/contextManager.d.ts.map +1 -1
  26. package/dist/core/contextManager.js +15 -2
  27. package/dist/core/contextManager.js.map +1 -1
  28. package/dist/core/deepBugAnalyzer.d.ts +128 -0
  29. package/dist/core/deepBugAnalyzer.d.ts.map +1 -0
  30. package/dist/core/deepBugAnalyzer.js +406 -0
  31. package/dist/core/deepBugAnalyzer.js.map +1 -0
  32. package/dist/core/hypothesisEngine.d.ts +113 -0
  33. package/dist/core/hypothesisEngine.d.ts.map +1 -0
  34. package/dist/core/hypothesisEngine.js +264 -0
  35. package/dist/core/hypothesisEngine.js.map +1 -0
  36. package/dist/core/intelligentSummarizer.d.ts +79 -0
  37. package/dist/core/intelligentSummarizer.d.ts.map +1 -0
  38. package/dist/core/intelligentSummarizer.js +273 -0
  39. package/dist/core/intelligentSummarizer.js.map +1 -0
  40. package/dist/core/offsecAlphaZero.d.ts +3 -0
  41. package/dist/core/offsecAlphaZero.d.ts.map +1 -1
  42. package/dist/core/offsecAlphaZero.js +166 -5
  43. package/dist/core/offsecAlphaZero.js.map +1 -1
  44. package/dist/core/productTestHarness.d.ts +113 -0
  45. package/dist/core/productTestHarness.d.ts.map +1 -0
  46. package/dist/core/productTestHarness.js +345 -0
  47. package/dist/core/productTestHarness.js.map +1 -0
  48. package/dist/core/toolPatternAnalyzer.d.ts +87 -0
  49. package/dist/core/toolPatternAnalyzer.d.ts.map +1 -0
  50. package/dist/core/toolPatternAnalyzer.js +272 -0
  51. package/dist/core/toolPatternAnalyzer.js.map +1 -0
  52. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.d.ts +3 -0
  53. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.d.ts.map +1 -0
  54. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.js +14 -0
  55. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.js.map +1 -0
  56. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.d.ts +3 -0
  57. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.d.ts.map +1 -0
  58. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.js +12 -0
  59. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.js.map +1 -0
  60. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.d.ts +3 -0
  61. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.d.ts.map +1 -0
  62. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.js +12 -0
  63. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.js.map +1 -0
  64. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  65. package/dist/plugins/tools/nodeDefaults.js +12 -0
  66. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  67. package/dist/plugins/tools/offsec/offsecOpsPlugin.d.ts +3 -0
  68. package/dist/plugins/tools/offsec/offsecOpsPlugin.d.ts.map +1 -0
  69. package/dist/plugins/tools/offsec/offsecOpsPlugin.js +10 -0
  70. package/dist/plugins/tools/offsec/offsecOpsPlugin.js.map +1 -0
  71. package/dist/plugins/tools/offsec/offsecSearchPlugin.d.ts +3 -0
  72. package/dist/plugins/tools/offsec/offsecSearchPlugin.d.ts.map +1 -0
  73. package/dist/plugins/tools/offsec/offsecSearchPlugin.js +12 -0
  74. package/dist/plugins/tools/offsec/offsecSearchPlugin.js.map +1 -0
  75. package/dist/plugins/tools/tao/taoPlugin.d.ts +3 -0
  76. package/dist/plugins/tools/tao/taoPlugin.d.ts.map +1 -0
  77. package/dist/plugins/tools/tao/taoPlugin.js +10 -0
  78. package/dist/plugins/tools/tao/taoPlugin.js.map +1 -0
  79. package/dist/shell/interactiveShell.d.ts +7 -0
  80. package/dist/shell/interactiveShell.d.ts.map +1 -1
  81. package/dist/shell/interactiveShell.js +70 -22
  82. package/dist/shell/interactiveShell.js.map +1 -1
  83. package/dist/shell/shellApp.js +1 -1
  84. package/dist/shell/shellApp.js.map +1 -1
  85. package/dist/shell/systemPrompt.d.ts.map +1 -1
  86. package/dist/shell/systemPrompt.js +3 -0
  87. package/dist/shell/systemPrompt.js.map +1 -1
  88. package/dist/tools/enhancedAnalysisTools.d.ts +9 -0
  89. package/dist/tools/enhancedAnalysisTools.d.ts.map +1 -0
  90. package/dist/tools/enhancedAnalysisTools.js +382 -0
  91. package/dist/tools/enhancedAnalysisTools.js.map +1 -0
  92. package/dist/tools/enhancedCodeIntelligenceTools.d.ts +1 -21
  93. package/dist/tools/enhancedCodeIntelligenceTools.d.ts.map +1 -1
  94. package/dist/tools/enhancedCodeIntelligenceTools.js +378 -256
  95. package/dist/tools/enhancedCodeIntelligenceTools.js.map +1 -1
  96. package/dist/tools/enhancedDevWorkflowTools.d.ts +2 -10
  97. package/dist/tools/enhancedDevWorkflowTools.d.ts.map +1 -1
  98. package/dist/tools/enhancedDevWorkflowTools.js +293 -165
  99. package/dist/tools/enhancedDevWorkflowTools.js.map +1 -1
  100. package/dist/tools/interactionTools.d.ts.map +1 -1
  101. package/dist/tools/interactionTools.js +55 -0
  102. package/dist/tools/interactionTools.js.map +1 -1
  103. package/dist/tools/offsec/offsecOperationsTools.d.ts +3 -0
  104. package/dist/tools/offsec/offsecOperationsTools.d.ts.map +1 -0
  105. package/dist/tools/offsec/offsecOperationsTools.js +333 -0
  106. package/dist/tools/offsec/offsecOperationsTools.js.map +1 -0
  107. package/dist/tools/offsecSearchTools.d.ts +3 -0
  108. package/dist/tools/offsecSearchTools.d.ts.map +1 -0
  109. package/dist/tools/offsecSearchTools.js +330 -0
  110. package/dist/tools/offsecSearchTools.js.map +1 -0
  111. package/dist/tools/taoOperations.d.ts +7 -0
  112. package/dist/tools/taoOperations.d.ts.map +1 -0
  113. package/dist/tools/taoOperations.js +744 -0
  114. package/dist/tools/taoOperations.js.map +1 -0
  115. package/dist/ui/PromptController.d.ts +5 -1
  116. package/dist/ui/PromptController.d.ts.map +1 -1
  117. package/dist/ui/PromptController.js +6 -0
  118. package/dist/ui/PromptController.js.map +1 -1
  119. package/dist/ui/ShellUIAdapter.d.ts +10 -6
  120. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  121. package/dist/ui/ShellUIAdapter.js +68 -66
  122. package/dist/ui/ShellUIAdapter.js.map +1 -1
  123. package/dist/ui/UnifiedUIRenderer.d.ts +2 -0
  124. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  125. package/dist/ui/UnifiedUIRenderer.js +22 -0
  126. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  127. package/dist/ui/globalWriteLock.d.ts.map +1 -1
  128. package/dist/ui/globalWriteLock.js +6 -0
  129. package/dist/ui/globalWriteLock.js.map +1 -1
  130. package/dist/ui/streamingFormatter.d.ts +11 -0
  131. package/dist/ui/streamingFormatter.d.ts.map +1 -1
  132. package/dist/ui/streamingFormatter.js +27 -1
  133. package/dist/ui/streamingFormatter.js.map +1 -1
  134. package/package.json +4 -13
@@ -1 +1 @@
1
- {"version":3,"file":"offsecAlphaZero.d.ts","sourceRoot":"","sources":["../../src/core/offsecAlphaZero.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,KAAK,GACL,OAAO,GACP,SAAS,GACT,SAAS,GACT,WAAW,GACX,OAAO,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CACpC;AAsRD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,EAAO,GAAG,SAAS,CA8BjF;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAIvE;AAED,wBAAgB,cAAc,IAAI,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAc5F;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,SAAS,GAAG,IAAI,CA+BlB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,gBAAgB,EAAE,CAKjF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,gBAAgB,EAAE,CAoBlF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,GAAE,gBAAgB,EAAO,GAAG,MAAM,CAuBxF"}
1
+ {"version":3,"file":"offsecAlphaZero.d.ts","sourceRoot":"","sources":["../../src/core/offsecAlphaZero.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,KAAK,GACL,OAAO,GACP,SAAS,GACT,SAAS,GACT,WAAW,GACX,OAAO,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CACpC;AAubD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,EAAO,GAAG,SAAS,CAkCjF;AAED,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAQvE;AAED,wBAAgB,cAAc,IAAI,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAc5F;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,SAAS,GAAG,IAAI,CAgClB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,gBAAgB,EAAE,CAMjF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,gBAAgB,EAAE,CAqBlF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,GAAE,gBAAgB,EAAO,GAAG,MAAM,CAuBxF"}
@@ -19,6 +19,8 @@ const BASE_ACTIONS = [
19
19
  command: 'nmap -sV -Pn --top-ports 100 {target}',
20
20
  rationale: 'Map exposed services and versions to build the attack surface.',
21
21
  prior: 0.38,
22
+ detectionRisk: 0.22,
23
+ cost: 0.18,
22
24
  },
23
25
  {
24
26
  label: 'Recon: full TCP sweep (fast)',
@@ -26,6 +28,8 @@ const BASE_ACTIONS = [
26
28
  command: 'nmap -sS -Pn -T4 -p- {target}',
27
29
  rationale: 'Catch non-standard ports that hide bespoke services.',
28
30
  prior: 0.24,
31
+ detectionRisk: 0.32,
32
+ cost: 0.32,
29
33
  },
30
34
  {
31
35
  label: 'Web: enumerate directories',
@@ -33,6 +37,8 @@ const BASE_ACTIONS = [
33
37
  command: 'dirsearch -u {url} -x 403,404,500 --plain-text-report=dirs.txt',
34
38
  rationale: 'Find hidden panels, backups, and dev endpoints to pivot.',
35
39
  prior: 0.32,
40
+ detectionRisk: 0.16,
41
+ cost: 0.22,
36
42
  },
37
43
  {
38
44
  label: 'Web: parameter fuzz (quick)',
@@ -40,6 +46,8 @@ const BASE_ACTIONS = [
40
46
  command: 'ffuf -u "{url}?FUZZ=1" -w params.txt -mc 200,302,500',
41
47
  rationale: 'Surface injectable parameters for SQLi/RCE chains.',
42
48
  prior: 0.28,
49
+ detectionRisk: 0.28,
50
+ cost: 0.3,
43
51
  },
44
52
  {
45
53
  label: 'Creds: check common leaks',
@@ -47,6 +55,8 @@ const BASE_ACTIONS = [
47
55
  command: 'Probe /.git, /.env, /backup.zip, /.DS_Store, /swagger.json',
48
56
  rationale: 'Low-noise checks for credential or API leaks.',
49
57
  prior: 0.18,
58
+ detectionRisk: 0.08,
59
+ cost: 0.08,
50
60
  },
51
61
  {
52
62
  label: 'Payload: generic command injection',
@@ -54,6 +64,8 @@ const BASE_ACTIONS = [
54
64
  command: 'Test ;|&& payloads on parameters that reflect output (use harmless `id`)',
55
65
  rationale: 'Quickly validate command execution without burning stealth budget.',
56
66
  prior: 0.22,
67
+ detectionRisk: 0.34,
68
+ cost: 0.18,
57
69
  },
58
70
  {
59
71
  label: 'Cloud: metadata reachability',
@@ -61,6 +73,17 @@ const BASE_ACTIONS = [
61
73
  command: 'curl -i http://169.254.169.254/latest/meta-data/ --max-time 2',
62
74
  rationale: 'Detect cloud metadata exposure for token/role theft.',
63
75
  prior: 0.12,
76
+ detectionRisk: 0.12,
77
+ cost: 0.08,
78
+ },
79
+ {
80
+ label: 'Creds: password spray (low/slow)',
81
+ category: 'creds',
82
+ command: 'hydra -L users.txt -p Winter2024! ssh://{target} -t 2 -W 3',
83
+ rationale: 'Gentle password spray to harvest weak creds without noisy lockouts.',
84
+ prior: 0.16,
85
+ detectionRisk: 0.28,
86
+ cost: 0.26,
64
87
  },
65
88
  ];
66
89
  const FOLLOW_ON = {
@@ -71,6 +94,8 @@ const FOLLOW_ON = {
71
94
  command: 'Match versions to public exploits/CVEs and craft safe POC',
72
95
  rationale: 'Convert recon data into targeted exploit attempts.',
73
96
  prior: 0.34,
97
+ detectionRisk: 0.28,
98
+ cost: 0.26,
74
99
  },
75
100
  {
76
101
  label: 'Web tech fingerprint',
@@ -78,6 +103,17 @@ const FOLLOW_ON = {
78
103
  command: 'whatweb -v {url} && nuclei -u {url} -severity medium,high,critical',
79
104
  rationale: 'Template-based probes for known web vulns on detected stack.',
80
105
  prior: 0.28,
106
+ detectionRisk: 0.24,
107
+ cost: 0.22,
108
+ },
109
+ {
110
+ label: 'SMB/WinRM/LDAP enumeration',
111
+ category: 'lateral',
112
+ command: 'enum4linux-ng -A {target} || crackmapexec smb {target}',
113
+ rationale: 'Find lateral movement primitives and domain data.',
114
+ prior: 0.22,
115
+ detectionRisk: 0.3,
116
+ cost: 0.28,
81
117
  },
82
118
  ],
83
119
  web: [
@@ -87,6 +123,8 @@ const FOLLOW_ON = {
87
123
  command: 'sqlmap -u "{url}?vuln=1" --batch --risk=1 --level=2 --identify-waf',
88
124
  rationale: 'Automate injectable params with WAF-aware SQLi tests.',
89
125
  prior: 0.26,
126
+ detectionRisk: 0.32,
127
+ cost: 0.34,
90
128
  },
91
129
  {
92
130
  label: 'Auth and session abuse',
@@ -94,6 +132,17 @@ const FOLLOW_ON = {
94
132
  command: 'Check cookies for JWT flaws, weak signing keys, or predictable session IDs',
95
133
  rationale: 'Leverage weak session/auth to escalate without loud payloads.',
96
134
  prior: 0.18,
135
+ detectionRisk: 0.12,
136
+ cost: 0.16,
137
+ },
138
+ {
139
+ label: 'File upload probing',
140
+ category: 'payload',
141
+ command: 'Test file upload endpoints with polyglot/webshell payloads (non-exec first)',
142
+ rationale: 'Find RCE via upload paths while measuring filtering.',
143
+ prior: 0.2,
144
+ detectionRisk: 0.3,
145
+ cost: 0.26,
97
146
  },
98
147
  ],
99
148
  creds: [
@@ -103,6 +152,17 @@ const FOLLOW_ON = {
103
152
  command: 'Attempt SSH/SMB/WinRM reuse on discovered hosts with leak creds',
104
153
  rationale: 'Turn leaked secrets into pivots across the environment.',
105
154
  prior: 0.24,
155
+ detectionRisk: 0.26,
156
+ cost: 0.22,
157
+ },
158
+ {
159
+ label: 'Credential stuffing to web login',
160
+ category: 'web',
161
+ command: 'Use leaked credentials against web login with lockout-aware pacing',
162
+ rationale: 'Leverage stolen creds for authenticated surface.',
163
+ prior: 0.21,
164
+ detectionRisk: 0.22,
165
+ cost: 0.18,
106
166
  },
107
167
  ],
108
168
  payload: [
@@ -112,6 +172,8 @@ const FOLLOW_ON = {
112
172
  command: 'Upgrade to a PTY and drop simple egress-safe beacon',
113
173
  rationale: 'Stabilize execution channel for post-exploitation steps.',
114
174
  prior: 0.2,
175
+ detectionRisk: 0.34,
176
+ cost: 0.28,
115
177
  },
116
178
  ],
117
179
  lateral: [
@@ -121,6 +183,8 @@ const FOLLOW_ON = {
121
183
  command: 'Enumerate sudo, kernel, containers, and scheduled tasks for privesc',
122
184
  rationale: 'Turn lateral footholds into higher-privilege execution.',
123
185
  prior: 0.22,
186
+ detectionRisk: 0.28,
187
+ cost: 0.24,
124
188
  },
125
189
  ],
126
190
  privilege: [
@@ -130,6 +194,8 @@ const FOLLOW_ON = {
130
194
  command: 'Access target data/flag and exfiltrate proof with minimal footprint',
131
195
  rationale: 'Complete the mission objective once privileges are high enough.',
132
196
  prior: 0.3,
197
+ detectionRisk: 0.18,
198
+ cost: 0.2,
133
199
  },
134
200
  ],
135
201
  cloud: [
@@ -139,6 +205,8 @@ const FOLLOW_ON = {
139
205
  command: 'Use harvested metadata tokens to list IAM roles and attempt sts:AssumeRole',
140
206
  rationale: 'Move from instance to control plane with compromised identities.',
141
207
  prior: 0.2,
208
+ detectionRisk: 0.18,
209
+ cost: 0.2,
142
210
  },
143
211
  ],
144
212
  };
@@ -185,6 +253,11 @@ function primaryTarget(scope) {
185
253
  const urlLike = scope.find((s) => s.startsWith('http://') || s.startsWith('https://'));
186
254
  return { target, url: urlLike ?? `http://${target}` };
187
255
  }
256
+ function clamp01(value) {
257
+ if (!Number.isFinite(value))
258
+ return 0;
259
+ return Math.min(1, Math.max(0, value));
260
+ }
188
261
  function createNode(template, run, parentId) {
189
262
  const { target, url } = primaryTarget(run.scope);
190
263
  const id = `a${run.nextCounter++}`;
@@ -198,6 +271,9 @@ function createNode(template, run, parentId) {
198
271
  command,
199
272
  rationale: template.rationale,
200
273
  prior: template.prior,
274
+ successPrior: template.prior,
275
+ detectionRisk: clamp01(template.detectionRisk),
276
+ cost: clamp01(template.cost),
201
277
  parentId,
202
278
  children: [],
203
279
  visits: 0,
@@ -213,6 +289,27 @@ function createNode(template, run, parentId) {
213
289
  }
214
290
  return node;
215
291
  }
292
+ function ensureNodeDefaults(node) {
293
+ if (!Number.isFinite(node.successPrior)) {
294
+ node.successPrior = node.prior;
295
+ }
296
+ if (!Number.isFinite(node.detectionRisk)) {
297
+ node.detectionRisk = 0.2;
298
+ }
299
+ else {
300
+ node.detectionRisk = clamp01(node.detectionRisk);
301
+ }
302
+ if (!Number.isFinite(node.cost)) {
303
+ node.cost = 0.2;
304
+ }
305
+ else {
306
+ node.cost = clamp01(node.cost);
307
+ }
308
+ return node;
309
+ }
310
+ function normalizeRun(run) {
311
+ Object.values(run.nodes).forEach((node) => ensureNodeDefaults(node));
312
+ }
216
313
  function seedBaseActions(run) {
217
314
  for (const template of BASE_ACTIONS) {
218
315
  createNode(template, run, run.rootId);
@@ -230,11 +327,16 @@ function expandFollowOn(run, parent) {
230
327
  }
231
328
  }
232
329
  }
330
+ function expectedValue(node) {
331
+ // Reward more likely wins, penalize noisy/high-cost actions
332
+ return node.successPrior - node.detectionRisk * 0.7 - node.cost * 0.3;
333
+ }
233
334
  function ucbScore(node, totalVisits) {
234
- const mean = node.visits > 0 ? node.valueSum / node.visits : 0;
335
+ const mean = node.visits > 0 ? node.valueSum / node.visits : expectedValue(node);
235
336
  const explore = Math.sqrt(Math.log(totalVisits + 1) / (node.visits + 1));
236
- const priorBoost = node.prior;
237
- return mean + 0.8 * priorBoost + 0.6 * explore;
337
+ const priorBoost = node.prior * 0.6;
338
+ const stealthPenalty = node.detectionRisk * 0.3 + node.cost * 0.1;
339
+ return mean + priorBoost + 0.6 * explore - stealthPenalty;
238
340
  }
239
341
  function buildPath(run, node) {
240
342
  const path = [];
@@ -245,7 +347,52 @@ function buildPath(run, node) {
245
347
  }
246
348
  return path;
247
349
  }
350
+ function runOffsecPlanner(run, simulations = 60, maxDepth = 4) {
351
+ const root = run.nodes[run.rootId];
352
+ if (!root)
353
+ return;
354
+ for (let i = 0; i < simulations; i++) {
355
+ const path = [root];
356
+ let current = root;
357
+ let depth = 0;
358
+ while (current && depth < maxDepth) {
359
+ const children = current.children
360
+ .map((id) => run.nodes[id])
361
+ .filter((n) => Boolean(n))
362
+ .filter((n) => n.status === 'pending');
363
+ if (!children.length) {
364
+ expandFollowOn(run, current);
365
+ }
366
+ const nextCandidates = current.children
367
+ .map((id) => run.nodes[id])
368
+ .filter((n) => Boolean(n))
369
+ .filter((n) => n.status === 'pending');
370
+ if (!nextCandidates.length) {
371
+ break;
372
+ }
373
+ const totalVisits = nextCandidates.reduce((sum, n) => sum + (n.visits || 0), 0) + 1;
374
+ nextCandidates.sort((a, b) => ucbScore(b, totalVisits) - ucbScore(a, totalVisits));
375
+ current = nextCandidates[0];
376
+ if (!current) {
377
+ break;
378
+ }
379
+ path.push(current);
380
+ depth += 1;
381
+ }
382
+ const leaf = path[path.length - 1];
383
+ if (!leaf) {
384
+ continue;
385
+ }
386
+ const reward = expectedValue(leaf) + 0.05; // small optimism to keep exploring
387
+ for (const node of path) {
388
+ node.visits += 1;
389
+ node.valueSum += reward;
390
+ }
391
+ }
392
+ }
248
393
  function getNextActionsFromRun(run, count) {
394
+ normalizeRun(run);
395
+ runOffsecPlanner(run);
249
396
  const candidates = Object.values(run.nodes).filter((n) => n.status === 'pending');
250
397
  const totalVisits = candidates.reduce((sum, n) => sum + (n.visits || 0), 0) + 1;
251
398
  const scored = candidates.map((node) => ({
@@ -253,7 +400,7 @@ function getNextActionsFromRun(run, count) {
253
400
  score: ucbScore(node, totalVisits),
254
401
  }));
255
402
  scored.sort((a, b) => b.score - a.score);
256
- return scored.slice(0, count).map(({ node, score }) => ({
403
+ const suggestions = scored.slice(0, count).map(({ node, score }) => ({
257
404
  id: node.id,
258
405
  label: node.label,
259
406
  category: node.category,
@@ -263,6 +410,8 @@ function getNextActionsFromRun(run, count) {
263
410
  path: buildPath(run, node),
264
411
  status: node.status,
265
412
  }));
413
+ persistRun(run);
414
+ return suggestions;
266
415
  }
267
416
  export function startOffsecRun(objective, scope = []) {
268
417
  const now = new Date().toISOString();
@@ -283,6 +432,9 @@ export function startOffsecRun(objective, scope = []) {
283
432
  command: '',
284
433
  rationale: 'Root of the search tree.',
285
434
  prior: 1,
435
+ successPrior: 1,
436
+ detectionRisk: 0,
437
+ cost: 0,
286
438
  parentId: null,
287
439
  children: [],
288
440
  visits: 1,
@@ -290,6 +442,7 @@ export function startOffsecRun(objective, scope = []) {
290
442
  status: 'pending',
291
443
  };
292
444
  seedBaseActions(run);
445
+ normalizeRun(run);
293
446
  persistRun(run);
294
447
  return run;
295
448
  }
@@ -297,7 +450,12 @@ export function resumeOffsecRun(runId) {
297
450
  const targetId = runId ?? loadLatestRunId();
298
451
  if (!targetId)
299
452
  return null;
300
- return loadRun(targetId);
453
+ const run = loadRun(targetId);
454
+ if (!run)
455
+ return null;
456
+ normalizeRun(run);
457
+ persistRun(run);
458
+ return run;
301
459
  }
302
460
  export function listOffsecRuns() {
303
461
  ensureDirs();
@@ -319,6 +477,7 @@ export function recordOffsecOutcome(runId, actionId, outcome, note) {
319
477
  const run = loadRun(runId);
320
478
  if (!run)
321
479
  return null;
480
+ normalizeRun(run);
322
481
  const node = run.nodes[actionId];
323
482
  if (!node)
324
483
  return null;
@@ -349,12 +508,14 @@ export function getOffsecNextActions(runId, count = 3) {
349
508
  const run = loadRun(runId);
350
509
  if (!run)
351
510
  return [];
511
+ normalizeRun(run);
352
512
  return getNextActionsFromRun(run, count);
353
513
  }
354
514
  export function simulateOffsecRollout(runId, steps = 5) {
355
515
  const run = loadRun(runId);
356
516
  if (!run)
357
517
  return [];
518
+ normalizeRun(run);
358
519
  const plan = [];
359
520
  for (let i = 0; i < steps; i++) {
360
521
  const next = getNextActionsFromRun(run, 1)[0];
@@ -1 +1 @@
1
- {"version":3,"file":"offsecAlphaZero.js","sourceRoot":"","sources":["../../src/core/offsecAlphaZero.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"offsecAlphaZero.js","sourceRoot":"","sources":["../../src/core/offsecAlphaZero.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Comprehensive Product Test Harness
3
+ *
4
+ * This module provides extensive testing capabilities similar to human product testing,
5
+ * including runtime creation, execution, and validation of code.
6
+ */
7
+ export interface TestScenario {
8
+ name: string;
9
+ description: string;
10
+ setup?: () => Promise<void>;
11
+ execute: () => Promise<TestResult>;
12
+ teardown?: () => Promise<void>;
13
+ timeout?: number;
14
+ }
15
+ export interface TestResult {
16
+ scenario: string;
17
+ passed: boolean;
18
+ duration: number;
19
+ output: string;
20
+ error?: string;
21
+ metrics?: TestMetrics;
22
+ }
23
+ export interface TestMetrics {
24
+ memoryUsage?: number;
25
+ cpuTime?: number;
26
+ exitCode?: number;
27
+ assertions?: AssertionResult[];
28
+ }
29
+ export interface AssertionResult {
30
+ name: string;
31
+ passed: boolean;
32
+ expected: unknown;
33
+ actual: unknown;
34
+ message?: string;
35
+ }
36
+ export interface RuntimeEnvironment {
37
+ workDir: string;
38
+ cleanup: () => void;
39
+ execute: (code: string, language: 'node' | 'bash' | 'typescript') => Promise<ExecutionResult>;
40
+ writeFile: (path: string, content: string) => void;
41
+ readFile: (path: string) => string;
42
+ fileExists: (path: string) => boolean;
43
+ }
44
+ export interface ExecutionResult {
45
+ stdout: string;
46
+ stderr: string;
47
+ exitCode: number;
48
+ duration: number;
49
+ error?: Error;
50
+ }
51
+ /**
52
+ * Product Test Harness - Comprehensive testing like a human QA engineer
53
+ */
54
+ export declare class ProductTestHarness {
55
+ private scenarios;
56
+ private results;
57
+ /**
58
+ * Add a test scenario
59
+ */
60
+ addScenario(scenario: TestScenario): void;
61
+ /**
62
+ * Add multiple scenarios
63
+ */
64
+ addScenarios(scenarios: TestScenario[]): void;
65
+ /**
66
+ * Run all test scenarios
67
+ */
68
+ runAll(): Promise<{
69
+ passed: number;
70
+ failed: number;
71
+ total: number;
72
+ results: TestResult[];
73
+ summary: string;
74
+ }>;
75
+ /**
76
+ * Run a single test scenario
77
+ */
78
+ private runScenario;
79
+ /**
80
+ * Generate test summary
81
+ */
82
+ private generateSummary;
83
+ /**
84
+ * Clear all scenarios and results
85
+ */
86
+ clear(): void;
87
+ }
88
+ /**
89
+ * Create an isolated runtime environment for testing
90
+ */
91
+ export declare function createRuntimeEnvironment(id?: string): RuntimeEnvironment;
92
+ /**
93
+ * Common test scenarios generator
94
+ */
95
+ export declare class TestScenarioGenerator {
96
+ /**
97
+ * Generate basic functionality tests
98
+ */
99
+ static generateBasicTests(functionName: string, testCases: Array<{
100
+ input: unknown;
101
+ expected: unknown;
102
+ description: string;
103
+ }>): TestScenario[];
104
+ /**
105
+ * Generate edge case tests
106
+ */
107
+ static generateEdgeCaseTests(functionCode: string): TestScenario[];
108
+ /**
109
+ * Generate performance tests
110
+ */
111
+ static generatePerformanceTest(name: string, code: string, maxDurationMs: number): TestScenario;
112
+ }
113
+ //# sourceMappingURL=productTestHarness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productTestHarness.d.ts","sourceRoot":"","sources":["../../src/core/productTestHarness.ts"],"names":[],"mappings":"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"}