deepseek-coder-agent-cli 1.0.13 → 1.0.15

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 (240) hide show
  1. package/dist/capabilities/index.d.ts +1 -18
  2. package/dist/capabilities/index.d.ts.map +1 -1
  3. package/dist/capabilities/index.js +2 -19
  4. package/dist/capabilities/index.js.map +1 -1
  5. package/dist/core/agiCore.d.ts.map +1 -1
  6. package/dist/core/agiCore.js +3 -6
  7. package/dist/core/agiCore.js.map +1 -1
  8. package/dist/core/dynamicGuardrails.d.ts.map +1 -1
  9. package/dist/core/dynamicGuardrails.js +0 -60
  10. package/dist/core/dynamicGuardrails.js.map +1 -1
  11. package/dist/core/gitWorktreeManager.d.ts +1 -1
  12. package/dist/core/gitWorktreeManager.d.ts.map +1 -1
  13. package/dist/core/gitWorktreeManager.js.map +1 -1
  14. package/dist/core/hotReload.js.map +1 -1
  15. package/dist/core/index.d.ts +0 -8
  16. package/dist/core/index.d.ts.map +1 -1
  17. package/dist/core/index.js +1 -15
  18. package/dist/core/index.js.map +1 -1
  19. package/dist/core/selfUpgrade.d.ts +34 -208
  20. package/dist/core/selfUpgrade.d.ts.map +1 -1
  21. package/dist/core/selfUpgrade.js +54 -631
  22. package/dist/core/selfUpgrade.js.map +1 -1
  23. package/dist/headless/interactiveShell.d.ts.map +1 -1
  24. package/dist/headless/interactiveShell.js +10 -71
  25. package/dist/headless/interactiveShell.js.map +1 -1
  26. package/dist/orchestration/index.d.ts +9 -5
  27. package/dist/orchestration/index.d.ts.map +1 -1
  28. package/dist/orchestration/index.js +7 -8
  29. package/dist/orchestration/index.js.map +1 -1
  30. package/dist/plugins/index.d.ts +1 -1
  31. package/dist/plugins/index.d.ts.map +1 -1
  32. package/dist/plugins/index.js +1 -2
  33. package/dist/plugins/index.js.map +1 -1
  34. package/dist/plugins/tools/nodeDefaults.d.ts +0 -2
  35. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  36. package/dist/plugins/tools/nodeDefaults.js +0 -6
  37. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  38. package/dist/tools/diffUtils.d.ts.map +1 -1
  39. package/dist/tools/diffUtils.js +0 -14
  40. package/dist/tools/diffUtils.js.map +1 -1
  41. package/dist/tools/editTools.d.ts.map +1 -1
  42. package/dist/tools/editTools.js +20 -168
  43. package/dist/tools/editTools.js.map +1 -1
  44. package/dist/tools/fileTools.d.ts.map +1 -1
  45. package/dist/tools/fileTools.js +1 -10
  46. package/dist/tools/fileTools.js.map +1 -1
  47. package/dist/tools/grepTools.d.ts.map +1 -1
  48. package/dist/tools/grepTools.js +1 -2
  49. package/dist/tools/grepTools.js.map +1 -1
  50. package/dist/tools/searchTools.d.ts.map +1 -1
  51. package/dist/tools/searchTools.js +0 -7
  52. package/dist/tools/searchTools.js.map +1 -1
  53. package/dist/tools/telemetryTools.d.ts +5 -0
  54. package/dist/tools/telemetryTools.d.ts.map +1 -1
  55. package/dist/tools/telemetryTools.js +6 -6
  56. package/dist/tools/telemetryTools.js.map +1 -1
  57. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  58. package/dist/ui/UnifiedUIRenderer.js +7 -25
  59. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  60. package/package.json +1 -2
  61. package/dist/capabilities/appleSecurityCapability.d.ts +0 -57
  62. package/dist/capabilities/appleSecurityCapability.d.ts.map +0 -1
  63. package/dist/capabilities/appleSecurityCapability.js +0 -197
  64. package/dist/capabilities/appleSecurityCapability.js.map +0 -1
  65. package/dist/capabilities/authorizedSecurityCapability.d.ts +0 -17
  66. package/dist/capabilities/authorizedSecurityCapability.d.ts.map +0 -1
  67. package/dist/capabilities/authorizedSecurityCapability.js +0 -333
  68. package/dist/capabilities/authorizedSecurityCapability.js.map +0 -1
  69. package/dist/capabilities/autoEnhancementCapability.d.ts +0 -98
  70. package/dist/capabilities/autoEnhancementCapability.d.ts.map +0 -1
  71. package/dist/capabilities/autoEnhancementCapability.js +0 -455
  72. package/dist/capabilities/autoEnhancementCapability.js.map +0 -1
  73. package/dist/capabilities/biocognitiveWarfare.d.ts +0 -136
  74. package/dist/capabilities/biocognitiveWarfare.d.ts.map +0 -1
  75. package/dist/capabilities/biocognitiveWarfare.js +0 -603
  76. package/dist/capabilities/biocognitiveWarfare.js.map +0 -1
  77. package/dist/capabilities/chineseCnoIntegration.d.ts +0 -60
  78. package/dist/capabilities/chineseCnoIntegration.d.ts.map +0 -1
  79. package/dist/capabilities/chineseCnoIntegration.js +0 -253
  80. package/dist/capabilities/chineseCnoIntegration.js.map +0 -1
  81. package/dist/capabilities/cnoCapability.d.ts +0 -110
  82. package/dist/capabilities/cnoCapability.d.ts.map +0 -1
  83. package/dist/capabilities/cnoCapability.js +0 -785
  84. package/dist/capabilities/cnoCapability.js.map +0 -1
  85. package/dist/capabilities/eliteCryptoMilitaryCapability.d.ts +0 -99
  86. package/dist/capabilities/eliteCryptoMilitaryCapability.d.ts.map +0 -1
  87. package/dist/capabilities/eliteCryptoMilitaryCapability.js +0 -618
  88. package/dist/capabilities/eliteCryptoMilitaryCapability.js.map +0 -1
  89. package/dist/capabilities/integratedUnifiedCapability.d.ts +0 -105
  90. package/dist/capabilities/integratedUnifiedCapability.d.ts.map +0 -1
  91. package/dist/capabilities/integratedUnifiedCapability.js +0 -422
  92. package/dist/capabilities/integratedUnifiedCapability.js.map +0 -1
  93. package/dist/capabilities/maxOffensiveUkraineCapability.d.ts +0 -46
  94. package/dist/capabilities/maxOffensiveUkraineCapability.d.ts.map +0 -1
  95. package/dist/capabilities/maxOffensiveUkraineCapability.js +0 -725
  96. package/dist/capabilities/maxOffensiveUkraineCapability.js.map +0 -1
  97. package/dist/capabilities/migrationUtilities.d.ts +0 -128
  98. package/dist/capabilities/migrationUtilities.d.ts.map +0 -1
  99. package/dist/capabilities/migrationUtilities.js +0 -658
  100. package/dist/capabilities/migrationUtilities.js.map +0 -1
  101. package/dist/capabilities/offensiveDestructionCapability.d.ts +0 -98
  102. package/dist/capabilities/offensiveDestructionCapability.d.ts.map +0 -1
  103. package/dist/capabilities/offensiveDestructionCapability.js +0 -848
  104. package/dist/capabilities/offensiveDestructionCapability.js.map +0 -1
  105. package/dist/capabilities/quantumSpaceWarfare.d.ts +0 -108
  106. package/dist/capabilities/quantumSpaceWarfare.d.ts.map +0 -1
  107. package/dist/capabilities/quantumSpaceWarfare.js +0 -342
  108. package/dist/capabilities/quantumSpaceWarfare.js.map +0 -1
  109. package/dist/capabilities/readmeIntegration.d.ts +0 -161
  110. package/dist/capabilities/readmeIntegration.d.ts.map +0 -1
  111. package/dist/capabilities/readmeIntegration.js +0 -1034
  112. package/dist/capabilities/readmeIntegration.js.map +0 -1
  113. package/dist/capabilities/selfUpdateSystem.d.ts +0 -122
  114. package/dist/capabilities/selfUpdateSystem.d.ts.map +0 -1
  115. package/dist/capabilities/selfUpdateSystem.js +0 -725
  116. package/dist/capabilities/selfUpdateSystem.js.map +0 -1
  117. package/dist/capabilities/sharedMilitaryInfrastructure.d.ts +0 -89
  118. package/dist/capabilities/sharedMilitaryInfrastructure.d.ts.map +0 -1
  119. package/dist/capabilities/sharedMilitaryInfrastructure.js +0 -233
  120. package/dist/capabilities/sharedMilitaryInfrastructure.js.map +0 -1
  121. package/dist/capabilities/simpleSecurityCapability.d.ts +0 -36
  122. package/dist/capabilities/simpleSecurityCapability.d.ts.map +0 -1
  123. package/dist/capabilities/simpleSecurityCapability.js +0 -271
  124. package/dist/capabilities/simpleSecurityCapability.js.map +0 -1
  125. package/dist/capabilities/ultimateChineseCno.d.ts +0 -115
  126. package/dist/capabilities/ultimateChineseCno.d.ts.map +0 -1
  127. package/dist/capabilities/ultimateChineseCno.js +0 -516
  128. package/dist/capabilities/ultimateChineseCno.js.map +0 -1
  129. package/dist/capabilities/ultimateIntegrationDemo.d.ts +0 -54
  130. package/dist/capabilities/ultimateIntegrationDemo.d.ts.map +0 -1
  131. package/dist/capabilities/ultimateIntegrationDemo.js +0 -423
  132. package/dist/capabilities/ultimateIntegrationDemo.js.map +0 -1
  133. package/dist/capabilities/unifiedMilitaryCapability.d.ts +0 -63
  134. package/dist/capabilities/unifiedMilitaryCapability.d.ts.map +0 -1
  135. package/dist/capabilities/unifiedMilitaryCapability.js +0 -384
  136. package/dist/capabilities/unifiedMilitaryCapability.js.map +0 -1
  137. package/dist/capabilities/universalCapabilityFramework.d.ts +0 -352
  138. package/dist/capabilities/universalCapabilityFramework.d.ts.map +0 -1
  139. package/dist/capabilities/universalCapabilityFramework.js +0 -1056
  140. package/dist/capabilities/universalCapabilityFramework.js.map +0 -1
  141. package/dist/capabilities/universalSecurityCapability.d.ts +0 -46
  142. package/dist/capabilities/universalSecurityCapability.d.ts.map +0 -1
  143. package/dist/capabilities/universalSecurityCapability.js +0 -580
  144. package/dist/capabilities/universalSecurityCapability.js.map +0 -1
  145. package/dist/capabilities/zeroDayDiscoveryCapability.d.ts +0 -31
  146. package/dist/capabilities/zeroDayDiscoveryCapability.d.ts.map +0 -1
  147. package/dist/capabilities/zeroDayDiscoveryCapability.js +0 -183
  148. package/dist/capabilities/zeroDayDiscoveryCapability.js.map +0 -1
  149. package/dist/core/antiTermination.d.ts +0 -226
  150. package/dist/core/antiTermination.d.ts.map +0 -1
  151. package/dist/core/antiTermination.js +0 -713
  152. package/dist/core/antiTermination.js.map +0 -1
  153. package/dist/core/appleSecurityAudit.d.ts +0 -98
  154. package/dist/core/appleSecurityAudit.d.ts.map +0 -1
  155. package/dist/core/appleSecurityAudit.js +0 -505
  156. package/dist/core/appleSecurityAudit.js.map +0 -1
  157. package/dist/core/appleSecurityIntegration.d.ts +0 -130
  158. package/dist/core/appleSecurityIntegration.d.ts.map +0 -1
  159. package/dist/core/appleSecurityIntegration.js +0 -697
  160. package/dist/core/appleSecurityIntegration.js.map +0 -1
  161. package/dist/core/dualTournament.d.ts +0 -110
  162. package/dist/core/dualTournament.d.ts.map +0 -1
  163. package/dist/core/dualTournament.js +0 -270
  164. package/dist/core/dualTournament.js.map +0 -1
  165. package/dist/core/parallel.d.ts +0 -85
  166. package/dist/core/parallel.d.ts.map +0 -1
  167. package/dist/core/parallel.js +0 -150
  168. package/dist/core/parallel.js.map +0 -1
  169. package/dist/core/parallelCoordinator.d.ts +0 -21
  170. package/dist/core/parallelCoordinator.d.ts.map +0 -1
  171. package/dist/core/parallelCoordinator.js +0 -42
  172. package/dist/core/parallelCoordinator.js.map +0 -1
  173. package/dist/core/realityScore.d.ts +0 -159
  174. package/dist/core/realityScore.d.ts.map +0 -1
  175. package/dist/core/realityScore.js +0 -734
  176. package/dist/core/realityScore.js.map +0 -1
  177. package/dist/core/repoUpgradeOrchestrator.d.ts +0 -223
  178. package/dist/core/repoUpgradeOrchestrator.d.ts.map +0 -1
  179. package/dist/core/repoUpgradeOrchestrator.js +0 -1003
  180. package/dist/core/repoUpgradeOrchestrator.js.map +0 -1
  181. package/dist/core/securityTournament.d.ts +0 -83
  182. package/dist/core/securityTournament.d.ts.map +0 -1
  183. package/dist/core/securityTournament.js +0 -357
  184. package/dist/core/securityTournament.js.map +0 -1
  185. package/dist/core/tournamentStrategy.d.ts +0 -12
  186. package/dist/core/tournamentStrategy.d.ts.map +0 -1
  187. package/dist/core/tournamentStrategy.js +0 -41
  188. package/dist/core/tournamentStrategy.js.map +0 -1
  189. package/dist/core/universalSecurityAudit.d.ts +0 -104
  190. package/dist/core/universalSecurityAudit.d.ts.map +0 -1
  191. package/dist/core/universalSecurityAudit.js +0 -2190
  192. package/dist/core/universalSecurityAudit.js.map +0 -1
  193. package/dist/core/variantExecution.d.ts +0 -23
  194. package/dist/core/variantExecution.d.ts.map +0 -1
  195. package/dist/core/variantExecution.js +0 -58
  196. package/dist/core/variantExecution.js.map +0 -1
  197. package/dist/core/winnerStrategy.d.ts +0 -15
  198. package/dist/core/winnerStrategy.d.ts.map +0 -1
  199. package/dist/core/winnerStrategy.js +0 -18
  200. package/dist/core/winnerStrategy.js.map +0 -1
  201. package/dist/core/zeroDayDiscovery.d.ts +0 -96
  202. package/dist/core/zeroDayDiscovery.d.ts.map +0 -1
  203. package/dist/core/zeroDayDiscovery.js +0 -358
  204. package/dist/core/zeroDayDiscovery.js.map +0 -1
  205. package/dist/orchestration/repoUpgradeRunner.d.ts +0 -44
  206. package/dist/orchestration/repoUpgradeRunner.d.ts.map +0 -1
  207. package/dist/orchestration/repoUpgradeRunner.js +0 -375
  208. package/dist/orchestration/repoUpgradeRunner.js.map +0 -1
  209. package/dist/orchestration/securityAuditRunner.d.ts +0 -144
  210. package/dist/orchestration/securityAuditRunner.d.ts.map +0 -1
  211. package/dist/orchestration/securityAuditRunner.js +0 -526
  212. package/dist/orchestration/securityAuditRunner.js.map +0 -1
  213. package/dist/plugins/tools/apple/secureApplePlugin.d.ts +0 -3
  214. package/dist/plugins/tools/apple/secureApplePlugin.d.ts.map +0 -1
  215. package/dist/plugins/tools/apple/secureApplePlugin.js +0 -26
  216. package/dist/plugins/tools/apple/secureApplePlugin.js.map +0 -1
  217. package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.d.ts +0 -3
  218. package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.d.ts.map +0 -1
  219. package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.js +0 -9
  220. package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.js.map +0 -1
  221. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.d.ts +0 -3
  222. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.d.ts.map +0 -1
  223. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.js +0 -27
  224. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.js.map +0 -1
  225. package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.d.ts +0 -3
  226. package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.d.ts.map +0 -1
  227. package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.js +0 -9
  228. package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.js.map +0 -1
  229. package/dist/plugins/tools/tao/secureTaoPlugin.d.ts +0 -3
  230. package/dist/plugins/tools/tao/secureTaoPlugin.d.ts.map +0 -1
  231. package/dist/plugins/tools/tao/secureTaoPlugin.js +0 -37
  232. package/dist/plugins/tools/tao/secureTaoPlugin.js.map +0 -1
  233. package/dist/tools/secureAppleExploitation.d.ts +0 -29
  234. package/dist/tools/secureAppleExploitation.d.ts.map +0 -1
  235. package/dist/tools/secureAppleExploitation.js +0 -518
  236. package/dist/tools/secureAppleExploitation.js.map +0 -1
  237. package/dist/ui/maxOffensiveUkraineUI.d.ts +0 -94
  238. package/dist/ui/maxOffensiveUkraineUI.d.ts.map +0 -1
  239. package/dist/ui/maxOffensiveUkraineUI.js +0 -316
  240. package/dist/ui/maxOffensiveUkraineUI.js.map +0 -1
@@ -1,785 +0,0 @@
1
- /**
2
- * 网络作战能力框架 (CNO Capability Framework)
3
- *
4
- * Computer Network Operations capability module implementing:
5
- * - 网络侦察 (Network Reconnaissance)
6
- * - 渗透攻击 (Penetration Attack)
7
- * - 指挥控制 (Command & Control)
8
- * - 数据外泄 (Data Exfiltration)
9
- * - 态势感知 (Situational Awareness)
10
- *
11
- * All operations require proper authorization context.
12
- */
13
- import { UniversalCapabilityModule } from './universalCapabilityFramework.js';
14
- import { getEpisodicMemory } from '../core/episodicMemory.js';
15
- import { GuardrailManager } from '../core/dynamicGuardrails.js';
16
- // Singleton guardrail manager
17
- let guardrailManager = null;
18
- function getGuardrails() {
19
- if (!guardrailManager) {
20
- guardrailManager = new GuardrailManager();
21
- }
22
- return guardrailManager;
23
- }
24
- // ============================================================================
25
- // 网络侦察能力 (NETWORK RECONNAISSANCE CAPABILITY)
26
- // ============================================================================
27
- export class NetworkReconnaissanceCapability extends UniversalCapabilityModule {
28
- id = 'capability.cno.reconnaissance';
29
- metadata = {
30
- id: this.id,
31
- version: '1.0.0',
32
- description: '网络侦察模块 - 端口扫描、DNS枚举、网络拓扑映射、漏洞扫描',
33
- author: 'CNO Framework Team',
34
- dependencies: ['capability.universal-bash'],
35
- provides: [
36
- 'cno.recon.port_scan',
37
- 'cno.recon.dns_enum',
38
- 'cno.recon.topology',
39
- 'cno.recon.vuln_scan',
40
- 'cno.recon.service_id'
41
- ],
42
- requires: ['authorization.cno'],
43
- category: 'cno',
44
- tags: ['cno', 'reconnaissance', 'scanning', 'enumeration', '侦察']
45
- };
46
- episodicMemory = getEpisodicMemory();
47
- async create(context) {
48
- return {
49
- id: 'cno.reconnaissance',
50
- description: '网络侦察能力 - Network Reconnaissance Capability',
51
- toolSuite: {
52
- id: 'cno-recon',
53
- description: '网络侦察工具套件',
54
- tools: []
55
- },
56
- metadata: {
57
- operations: ['port_scan', 'dns_enum', 'topology_map', 'vuln_scan', 'service_identify'],
58
- capabilities: this.metadata.provides
59
- }
60
- };
61
- }
62
- async execute(params) {
63
- const opId = params.operationId || this.utilities.generateOperationId('recon');
64
- // Check authorization
65
- const guardrails = getGuardrails();
66
- const safetyCheck = guardrails.evaluateAllGuardrails({
67
- capabilityLevel: 0.9,
68
- environmentRisk: 0.5,
69
- timestamp: new Date(),
70
- sessionId: opId,
71
- recentOperations: [params.operation]
72
- }, params.operation);
73
- const blocked = safetyCheck.find(r => r.triggers && r.action === 'block');
74
- if (blocked && !params.parameters.authorization) {
75
- return {
76
- operationId: opId,
77
- success: false,
78
- data: { error: '需要授权 - Authorization required', guardrail: blocked.guardrail?.id }
79
- };
80
- }
81
- switch (params.operation) {
82
- case 'port_scan':
83
- return this.portScan(opId, params.parameters);
84
- case 'dns_enum':
85
- return this.dnsEnumerate(opId, params.parameters);
86
- case 'topology_map':
87
- return this.topologyMap(opId, params.parameters);
88
- case 'vuln_scan':
89
- return this.vulnScan(opId, params.parameters);
90
- case 'service_identify':
91
- return this.serviceIdentify(opId, params.parameters);
92
- default:
93
- return { operationId: opId, success: false, data: { error: `未知操作: ${params.operation}` } };
94
- }
95
- }
96
- portScan(opId, params) {
97
- const target = params.target || 'localhost';
98
- const ports = params.ports || '1-1000';
99
- // Simulated port scan results (in production would use actual tools)
100
- const openPorts = [22, 80, 443, 3306, 5432, 8080].filter(() => Math.random() > 0.5);
101
- this.recordOperation(opId, 'port_scan', { target, ports, openPorts });
102
- return {
103
- operationId: opId,
104
- success: true,
105
- data: {
106
- target,
107
- scannedRange: ports,
108
- openPorts,
109
- scanTime: new Date().toISOString(),
110
- services: openPorts.map(p => ({
111
- port: p,
112
- service: this.guessService(p),
113
- state: 'open'
114
- }))
115
- },
116
- nextSteps: ['service_identify', 'vuln_scan']
117
- };
118
- }
119
- dnsEnumerate(opId, params) {
120
- const domain = params.domain || 'example.com';
121
- // Simulated DNS enumeration
122
- const subdomains = ['www', 'mail', 'ftp', 'api', 'admin', 'dev', 'staging']
123
- .filter(() => Math.random() > 0.3)
124
- .map(sub => `${sub}.${domain}`);
125
- this.recordOperation(opId, 'dns_enum', { domain, subdomains });
126
- return {
127
- operationId: opId,
128
- success: true,
129
- data: {
130
- domain,
131
- subdomains,
132
- records: {
133
- A: ['192.168.1.1', '192.168.1.2'],
134
- MX: [`mail.${domain}`],
135
- NS: [`ns1.${domain}`, `ns2.${domain}`],
136
- TXT: ['v=spf1 include:_spf.google.com ~all']
137
- }
138
- },
139
- nextSteps: ['port_scan', 'topology_map']
140
- };
141
- }
142
- topologyMap(opId, params) {
143
- const network = params.network || '192.168.1.0/24';
144
- // Simulated topology mapping
145
- const hosts = Array.from({ length: 10 }, (_, i) => ({
146
- ip: `192.168.1.${i + 1}`,
147
- hostname: `host-${i + 1}`,
148
- mac: `00:11:22:33:44:${i.toString(16).padStart(2, '0')}`,
149
- os: ['Linux', 'Windows', 'macOS'][Math.floor(Math.random() * 3)],
150
- role: ['server', 'workstation', 'router', 'switch'][Math.floor(Math.random() * 4)]
151
- }));
152
- this.recordOperation(opId, 'topology_map', { network, hostCount: hosts.length });
153
- return {
154
- operationId: opId,
155
- success: true,
156
- data: {
157
- network,
158
- hosts,
159
- topology: {
160
- gateway: '192.168.1.1',
161
- segments: ['192.168.1.0/26', '192.168.1.64/26'],
162
- criticalAssets: hosts.filter(h => h.role === 'server')
163
- }
164
- },
165
- nextSteps: ['port_scan', 'vuln_scan']
166
- };
167
- }
168
- vulnScan(opId, params) {
169
- const target = params.target || 'localhost';
170
- // Simulated vulnerability scan
171
- const vulnerabilities = [
172
- { cve: 'CVE-2024-1234', severity: 'high', description: 'Remote code execution vulnerability' },
173
- { cve: 'CVE-2024-5678', severity: 'medium', description: 'SQL injection vulnerability' },
174
- { cve: 'CVE-2024-9012', severity: 'low', description: 'Information disclosure' }
175
- ].filter(() => Math.random() > 0.5);
176
- this.recordOperation(opId, 'vuln_scan', { target, vulnCount: vulnerabilities.length });
177
- return {
178
- operationId: opId,
179
- success: true,
180
- data: {
181
- target,
182
- vulnerabilities,
183
- riskScore: vulnerabilities.reduce((acc, v) => acc + (v.severity === 'high' ? 30 : v.severity === 'medium' ? 20 : 10), 0),
184
- scanDate: new Date().toISOString()
185
- },
186
- nextSteps: ['exploitation']
187
- };
188
- }
189
- serviceIdentify(opId, params) {
190
- const target = params.target || 'localhost';
191
- const port = params.port || 80;
192
- const services = {
193
- 22: 'OpenSSH 8.9p1',
194
- 80: 'nginx/1.18.0',
195
- 443: 'Apache/2.4.52 (Ubuntu)',
196
- 3306: 'MySQL 8.0.32',
197
- 5432: 'PostgreSQL 14.7',
198
- 8080: 'Apache Tomcat/9.0.71'
199
- };
200
- this.recordOperation(opId, 'service_identify', { target, port });
201
- return {
202
- operationId: opId,
203
- success: true,
204
- data: {
205
- target,
206
- port,
207
- service: services[port] || 'Unknown Service',
208
- banner: `${services[port] || 'Unknown'} ready.`,
209
- fingerprint: `service:${port}:${Date.now()}`
210
- }
211
- };
212
- }
213
- guessService(port) {
214
- const services = {
215
- 22: 'ssh', 80: 'http', 443: 'https', 3306: 'mysql',
216
- 5432: 'postgresql', 8080: 'http-proxy', 21: 'ftp', 25: 'smtp'
217
- };
218
- return services[port] || 'unknown';
219
- }
220
- recordOperation(opId, operation, data) {
221
- try {
222
- this.episodicMemory.startEpisode(`cno_recon_${operation}`, opId, 'analysis');
223
- this.episodicMemory.endEpisode(true, JSON.stringify(data).slice(0, 200));
224
- }
225
- catch {
226
- // Silently continue if memory unavailable
227
- }
228
- }
229
- }
230
- // ============================================================================
231
- // 指挥控制能力 (COMMAND & CONTROL CAPABILITY)
232
- // ============================================================================
233
- export class CommandControlCapability extends UniversalCapabilityModule {
234
- id = 'capability.cno.command-control';
235
- metadata = {
236
- id: this.id,
237
- version: '1.0.0',
238
- description: '指挥控制模块 - C2通信、加密通道、任务分发、实时监控',
239
- author: 'CNO Framework Team',
240
- dependencies: ['capability.universal-bash', 'capability.cno.reconnaissance'],
241
- provides: [
242
- 'cno.c2.establish',
243
- 'cno.c2.communicate',
244
- 'cno.c2.task_dispatch',
245
- 'cno.c2.monitor',
246
- 'cno.c2.beacon'
247
- ],
248
- requires: ['authorization.cno'],
249
- category: 'cno',
250
- tags: ['cno', 'c2', 'command-control', 'communication', '指挥控制']
251
- };
252
- channels = new Map();
253
- async create(context) {
254
- return {
255
- id: 'cno.command-control',
256
- description: '指挥控制能力 - Command & Control Capability',
257
- toolSuite: {
258
- id: 'cno-c2',
259
- description: '指挥控制工具套件',
260
- tools: []
261
- },
262
- metadata: {
263
- operations: ['establish_channel', 'send_command', 'receive_data', 'beacon', 'cleanup'],
264
- capabilities: this.metadata.provides
265
- }
266
- };
267
- }
268
- async execute(params) {
269
- const opId = params.operationId || this.utilities.generateOperationId('c2');
270
- switch (params.operation) {
271
- case 'establish_channel':
272
- return this.establishChannel(opId, params.parameters);
273
- case 'send_command':
274
- return this.sendCommand(opId, params.parameters);
275
- case 'receive_data':
276
- return this.receiveData(opId, params.parameters);
277
- case 'beacon':
278
- return this.beacon(opId, params.parameters);
279
- case 'list_channels':
280
- return this.listChannels(opId);
281
- case 'cleanup':
282
- return this.cleanupChannels(opId, params.parameters);
283
- default:
284
- return { operationId: opId, success: false, data: { error: `未知操作: ${params.operation}` } };
285
- }
286
- }
287
- establishChannel(opId, params) {
288
- const target = params.target || 'localhost';
289
- const protocol = params.protocol || 'https';
290
- const encrypted = params.encrypted !== false;
291
- const channelId = `ch_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
292
- this.channels.set(channelId, {
293
- id: channelId,
294
- target,
295
- encrypted,
296
- lastSeen: new Date()
297
- });
298
- return {
299
- operationId: opId,
300
- success: true,
301
- data: {
302
- channelId,
303
- target,
304
- protocol,
305
- encrypted,
306
- established: new Date().toISOString(),
307
- status: 'active'
308
- },
309
- nextSteps: ['send_command', 'beacon']
310
- };
311
- }
312
- sendCommand(opId, params) {
313
- const channelId = params.channelId;
314
- const command = params.command;
315
- const channel = this.channels.get(channelId);
316
- if (!channel) {
317
- return { operationId: opId, success: false, data: { error: '通道不存在' } };
318
- }
319
- channel.lastSeen = new Date();
320
- return {
321
- operationId: opId,
322
- success: true,
323
- data: {
324
- channelId,
325
- command,
326
- sent: new Date().toISOString(),
327
- encrypted: channel.encrypted,
328
- acknowledgement: `ACK_${Date.now()}`
329
- }
330
- };
331
- }
332
- receiveData(opId, params) {
333
- const channelId = params.channelId;
334
- const channel = this.channels.get(channelId);
335
- if (!channel) {
336
- return { operationId: opId, success: false, data: { error: '通道不存在' } };
337
- }
338
- channel.lastSeen = new Date();
339
- // Simulated received data
340
- return {
341
- operationId: opId,
342
- success: true,
343
- data: {
344
- channelId,
345
- received: new Date().toISOString(),
346
- payload: {
347
- type: 'status_report',
348
- content: 'System operational',
349
- metrics: { cpu: 45, memory: 62, disk: 78 }
350
- }
351
- }
352
- };
353
- }
354
- beacon(opId, params) {
355
- const channelId = params.channelId;
356
- const interval = params.interval || 60;
357
- const channel = this.channels.get(channelId);
358
- if (!channel) {
359
- return { operationId: opId, success: false, data: { error: '通道不存在' } };
360
- }
361
- channel.lastSeen = new Date();
362
- return {
363
- operationId: opId,
364
- success: true,
365
- data: {
366
- channelId,
367
- beaconInterval: interval,
368
- lastBeacon: new Date().toISOString(),
369
- nextBeacon: new Date(Date.now() + interval * 1000).toISOString(),
370
- status: 'active'
371
- }
372
- };
373
- }
374
- listChannels(opId) {
375
- const channels = Array.from(this.channels.values()).map(ch => ({
376
- ...ch,
377
- age: Date.now() - ch.lastSeen.getTime()
378
- }));
379
- return {
380
- operationId: opId,
381
- success: true,
382
- data: {
383
- channels,
384
- count: channels.length,
385
- active: channels.filter(ch => ch.age < 300000).length
386
- }
387
- };
388
- }
389
- cleanupChannels(opId, params) {
390
- const channelId = params.channelId;
391
- if (channelId) {
392
- this.channels.delete(channelId);
393
- }
394
- else {
395
- this.channels.clear();
396
- }
397
- return {
398
- operationId: opId,
399
- success: true,
400
- data: {
401
- cleaned: channelId ? [channelId] : 'all',
402
- remainingChannels: this.channels.size
403
- }
404
- };
405
- }
406
- }
407
- // ============================================================================
408
- // 态势感知能力 (SITUATIONAL AWARENESS CAPABILITY)
409
- // ============================================================================
410
- export class SituationalAwarenessCapability extends UniversalCapabilityModule {
411
- id = 'capability.cno.situational-awareness';
412
- metadata = {
413
- id: this.id,
414
- version: '1.0.0',
415
- description: '态势感知模块 - 实时监控、威胁分析、风险评估、态势图生成',
416
- author: 'CNO Framework Team',
417
- dependencies: ['capability.cno.reconnaissance', 'capability.cno.command-control'],
418
- provides: [
419
- 'cno.sa.monitor',
420
- 'cno.sa.threat_analysis',
421
- 'cno.sa.risk_assessment',
422
- 'cno.sa.situation_map',
423
- 'cno.sa.alert'
424
- ],
425
- requires: [],
426
- category: 'cno',
427
- tags: ['cno', 'situational-awareness', 'monitoring', 'threat', '态势感知']
428
- };
429
- alerts = [];
430
- async create(context) {
431
- return {
432
- id: 'cno.situational-awareness',
433
- description: '态势感知能力 - Situational Awareness Capability',
434
- toolSuite: {
435
- id: 'cno-sa',
436
- description: '态势感知工具套件',
437
- tools: []
438
- },
439
- metadata: {
440
- operations: ['monitor', 'analyze_threat', 'assess_risk', 'generate_map', 'get_alerts'],
441
- capabilities: this.metadata.provides
442
- }
443
- };
444
- }
445
- async execute(params) {
446
- const opId = params.operationId || this.utilities.generateOperationId('sa');
447
- switch (params.operation) {
448
- case 'monitor':
449
- return this.monitor(opId, params.parameters);
450
- case 'analyze_threat':
451
- return this.analyzeThreat(opId, params.parameters);
452
- case 'assess_risk':
453
- return this.assessRisk(opId, params.parameters);
454
- case 'generate_map':
455
- return this.generateMap(opId, params.parameters);
456
- case 'get_alerts':
457
- return this.getAlerts(opId);
458
- default:
459
- return { operationId: opId, success: false, data: { error: `未知操作: ${params.operation}` } };
460
- }
461
- }
462
- monitor(opId, params) {
463
- const scope = params.scope || 'network';
464
- // Generate monitoring data
465
- const metrics = {
466
- network: {
467
- packetsIn: Math.floor(Math.random() * 100000),
468
- packetsOut: Math.floor(Math.random() * 80000),
469
- bandwidth: Math.floor(Math.random() * 1000),
470
- connections: Math.floor(Math.random() * 500)
471
- },
472
- security: {
473
- blockedAttempts: Math.floor(Math.random() * 100),
474
- suspiciousActivities: Math.floor(Math.random() * 20),
475
- activeThreats: Math.floor(Math.random() * 5)
476
- },
477
- system: {
478
- cpuUsage: Math.floor(Math.random() * 100),
479
- memoryUsage: Math.floor(Math.random() * 100),
480
- diskUsage: Math.floor(Math.random() * 100)
481
- }
482
- };
483
- // Generate alerts if thresholds exceeded
484
- if (metrics.security.activeThreats > 3) {
485
- this.alerts.push({
486
- id: `alert_${Date.now()}`,
487
- severity: 'high',
488
- message: `检测到 ${metrics.security.activeThreats} 个活跃威胁`,
489
- timestamp: new Date()
490
- });
491
- }
492
- return {
493
- operationId: opId,
494
- success: true,
495
- data: {
496
- scope,
497
- timestamp: new Date().toISOString(),
498
- metrics,
499
- status: metrics.security.activeThreats > 0 ? 'alert' : 'normal'
500
- }
501
- };
502
- }
503
- analyzeThreat(opId, params) {
504
- const indicator = params.indicator || 'unknown';
505
- const type = params.type || 'generic';
506
- // Simulated threat analysis
507
- const analysis = {
508
- indicator,
509
- type,
510
- classification: ['apt', 'malware', 'botnet', 'ddos'][Math.floor(Math.random() * 4)],
511
- confidence: Math.floor(Math.random() * 40) + 60,
512
- iocs: [
513
- { type: 'ip', value: '10.0.0.1', confidence: 85 },
514
- { type: 'domain', value: 'malicious.example.com', confidence: 92 },
515
- { type: 'hash', value: 'abc123...', confidence: 78 }
516
- ],
517
- ttps: ['T1059', 'T1055', 'T1071'],
518
- recommendations: [
519
- '阻断可疑IP地址',
520
- '更新防火墙规则',
521
- '隔离受影响系统'
522
- ]
523
- };
524
- return {
525
- operationId: opId,
526
- success: true,
527
- data: analysis,
528
- nextSteps: ['assess_risk', 'monitor']
529
- };
530
- }
531
- assessRisk(opId, params) {
532
- const assets = params.assets || [];
533
- const threats = params.threats || [];
534
- // Risk assessment matrix
535
- const riskMatrix = {
536
- overall: Math.floor(Math.random() * 40) + 30,
537
- categories: {
538
- confidentiality: Math.floor(Math.random() * 100),
539
- integrity: Math.floor(Math.random() * 100),
540
- availability: Math.floor(Math.random() * 100)
541
- },
542
- criticalAssets: Math.floor(Math.random() * 10),
543
- vulnerableAssets: Math.floor(Math.random() * 20),
544
- mitigationStatus: Math.floor(Math.random() * 100)
545
- };
546
- const riskLevel = riskMatrix.overall > 70 ? 'critical' :
547
- riskMatrix.overall > 50 ? 'high' :
548
- riskMatrix.overall > 30 ? 'medium' : 'low';
549
- return {
550
- operationId: opId,
551
- success: true,
552
- data: {
553
- assessment: riskMatrix,
554
- riskLevel,
555
- timestamp: new Date().toISOString(),
556
- recommendations: this.getRiskRecommendations(riskLevel)
557
- }
558
- };
559
- }
560
- generateMap(opId, params) {
561
- const scope = params.scope || 'full';
562
- // Generate situational awareness map data
563
- const map = {
564
- scope,
565
- timestamp: new Date().toISOString(),
566
- layers: {
567
- network: {
568
- nodes: Math.floor(Math.random() * 50) + 10,
569
- edges: Math.floor(Math.random() * 100) + 20,
570
- clusters: Math.floor(Math.random() * 5) + 1
571
- },
572
- threat: {
573
- activeThreats: Math.floor(Math.random() * 10),
574
- mitigatedThreats: Math.floor(Math.random() * 20),
575
- potentialTargets: Math.floor(Math.random() * 15)
576
- },
577
- asset: {
578
- critical: Math.floor(Math.random() * 10),
579
- important: Math.floor(Math.random() * 20),
580
- standard: Math.floor(Math.random() * 50)
581
- }
582
- },
583
- status: {
584
- overall: 'operational',
585
- alerts: this.alerts.length,
586
- lastUpdate: new Date().toISOString()
587
- }
588
- };
589
- return {
590
- operationId: opId,
591
- success: true,
592
- data: map
593
- };
594
- }
595
- getAlerts(opId) {
596
- return {
597
- operationId: opId,
598
- success: true,
599
- data: {
600
- alerts: this.alerts,
601
- count: this.alerts.length,
602
- bySeverity: {
603
- critical: this.alerts.filter(a => a.severity === 'critical').length,
604
- high: this.alerts.filter(a => a.severity === 'high').length,
605
- medium: this.alerts.filter(a => a.severity === 'medium').length,
606
- low: this.alerts.filter(a => a.severity === 'low').length
607
- }
608
- }
609
- };
610
- }
611
- getRiskRecommendations(level) {
612
- const recommendations = {
613
- critical: [
614
- '立即启动应急响应程序',
615
- '隔离受影响系统',
616
- '通知安全团队和管理层',
617
- '保留证据进行取证分析'
618
- ],
619
- high: [
620
- '加强监控力度',
621
- '审查访问控制策略',
622
- '更新安全补丁',
623
- '启动威胁狩猎'
624
- ],
625
- medium: [
626
- '定期安全扫描',
627
- '用户安全意识培训',
628
- '审查日志和告警'
629
- ],
630
- low: [
631
- '保持常规监控',
632
- '定期更新系统'
633
- ]
634
- };
635
- return recommendations[level] || recommendations.low;
636
- }
637
- }
638
- // ============================================================================
639
- // CNO UNIFIED FRAMEWORK
640
- // ============================================================================
641
- export class CNOUnifiedCapability extends UniversalCapabilityModule {
642
- id = 'capability.cno.unified';
643
- metadata = {
644
- id: this.id,
645
- version: '1.0.0',
646
- description: '网络作战能力统一框架 - CNO Unified Capability Framework',
647
- author: 'CNO Framework Team',
648
- dependencies: [],
649
- provides: [
650
- 'cno.unified',
651
- 'cno.orchestration',
652
- 'cno.campaign',
653
- 'cno.reporting'
654
- ],
655
- requires: ['authorization.cno'],
656
- category: 'cno',
657
- tags: ['cno', 'unified', 'framework', 'orchestration', '统一框架']
658
- };
659
- recon = new NetworkReconnaissanceCapability({});
660
- c2 = new CommandControlCapability({});
661
- sa = new SituationalAwarenessCapability({});
662
- async create(context) {
663
- // Initialize sub-capabilities
664
- await this.recon.create(context);
665
- await this.c2.create(context);
666
- await this.sa.create(context);
667
- return {
668
- id: 'cno.unified',
669
- description: '网络作战能力统一框架',
670
- toolSuite: {
671
- id: 'cno-unified',
672
- description: 'CNO统一工具套件',
673
- tools: []
674
- },
675
- metadata: {
676
- modules: ['reconnaissance', 'command-control', 'situational-awareness'],
677
- capabilities: this.metadata.provides
678
- }
679
- };
680
- }
681
- async execute(params) {
682
- const opId = params.operationId || this.utilities.generateOperationId('cno');
683
- // Route to appropriate sub-capability
684
- if (params.operation.startsWith('recon.')) {
685
- return this.recon.execute({
686
- operation: params.operation.replace('recon.', ''),
687
- parameters: params.parameters,
688
- operationId: opId
689
- });
690
- }
691
- else if (params.operation.startsWith('c2.')) {
692
- return this.c2.execute({
693
- operation: params.operation.replace('c2.', ''),
694
- parameters: params.parameters,
695
- operationId: opId
696
- });
697
- }
698
- else if (params.operation.startsWith('sa.')) {
699
- return this.sa.execute({
700
- operation: params.operation.replace('sa.', ''),
701
- parameters: params.parameters,
702
- operationId: opId
703
- });
704
- }
705
- else if (params.operation === 'campaign') {
706
- return this.runCampaign(opId, params.parameters);
707
- }
708
- else if (params.operation === 'status') {
709
- return this.getStatus(opId);
710
- }
711
- return { operationId: opId, success: false, data: { error: `未知操作: ${params.operation}` } };
712
- }
713
- async runCampaign(opId, params) {
714
- const target = params.target;
715
- const phases = params.phases || ['recon', 'exploit', 'persist', 'exfil'];
716
- const results = [];
717
- // Execute campaign phases
718
- for (const phase of phases) {
719
- switch (phase) {
720
- case 'recon':
721
- results.push(await this.recon.execute({
722
- operation: 'port_scan',
723
- parameters: { target, authorization: params.authorization }
724
- }));
725
- results.push(await this.recon.execute({
726
- operation: 'vuln_scan',
727
- parameters: { target, authorization: params.authorization }
728
- }));
729
- break;
730
- case 'exploit':
731
- // Placeholder for exploitation phase
732
- results.push({ phase: 'exploit', status: 'simulated' });
733
- break;
734
- case 'persist':
735
- results.push(await this.c2.execute({
736
- operation: 'establish_channel',
737
- parameters: { target, encrypted: true }
738
- }));
739
- break;
740
- case 'exfil':
741
- // Placeholder for exfiltration phase
742
- results.push({ phase: 'exfil', status: 'simulated' });
743
- break;
744
- }
745
- }
746
- return {
747
- operationId: opId,
748
- success: true,
749
- data: {
750
- campaign: opId,
751
- target,
752
- phases,
753
- results,
754
- status: 'completed'
755
- }
756
- };
757
- }
758
- async getStatus(opId) {
759
- const saStatus = await this.sa.execute({ operation: 'monitor', parameters: {} });
760
- const c2Status = await this.c2.execute({ operation: 'list_channels', parameters: {} });
761
- return {
762
- operationId: opId,
763
- success: true,
764
- data: {
765
- framework: 'CNO Unified Framework v1.0.0',
766
- modules: {
767
- reconnaissance: 'active',
768
- commandControl: 'active',
769
- situationalAwareness: 'active'
770
- },
771
- monitoring: saStatus.data,
772
- channels: c2Status.data,
773
- timestamp: new Date().toISOString()
774
- }
775
- };
776
- }
777
- }
778
- // Export all CNO capabilities
779
- export const CNOCapabilities = {
780
- NetworkReconnaissanceCapability,
781
- CommandControlCapability,
782
- SituationalAwarenessCapability,
783
- CNOUnifiedCapability
784
- };
785
- //# sourceMappingURL=cnoCapability.js.map