capta1n commited on
Commit
c2015ee
·
verified ·
1 Parent(s): 63d9fd4

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +401 -19
  3. prompts.txt +2 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Testtest
3
- emoji: 🚀
4
- colorFrom: green
5
- colorTo: gray
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: testtest
3
+ emoji: 🐳
4
+ colorFrom: pink
5
+ colorTo: red
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,401 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>AI SDL Digital Twin Dashboard</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
9
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
10
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/atom-one-dark.min.css">
11
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
12
+ <style>
13
+ /* 新增科技感数字人样式 */
14
+ .digital-human {
15
+ position: relative;
16
+ width: 160px;
17
+ height: 160px;
18
+ border-radius: 50%;
19
+ background: linear-gradient(145deg, #00d1ff, #0061ff);
20
+ box-shadow: 0 0 30px rgba(0, 209, 255, 0.5);
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ overflow: hidden;
25
+ }
26
+
27
+ .digital-human::before {
28
+ content: "";
29
+ position: absolute;
30
+ top: -50%;
31
+ left: -50%;
32
+ width: 200%;
33
+ height: 200%;
34
+ background: conic-gradient(
35
+ transparent,
36
+ transparent,
37
+ transparent,
38
+ #00f2ff
39
+ );
40
+ animation: rotate 4s linear infinite;
41
+ }
42
+
43
+ .digital-human::after {
44
+ content: "";
45
+ position: absolute;
46
+ inset: 4px;
47
+ border-radius: 50%;
48
+ background: linear-gradient(145deg, #00d1ff, #0061ff);
49
+ }
50
+
51
+ .digital-human-core {
52
+ position: relative;
53
+ z-index: 10;
54
+ width: 140px;
55
+ height: 140px;
56
+ border-radius: 50%;
57
+ background: rgba(0, 0, 50, 0.7);
58
+ display: flex;
59
+ flex-direction: column;
60
+ align-items: center;
61
+ justify-content: center;
62
+ color: white;
63
+ font-weight: bold;
64
+ text-align: center;
65
+ text-shadow: 0 0 10px rgba(255, 255, 255, 0.7);
66
+ }
67
+
68
+ .digital-human-eyes {
69
+ display: flex;
70
+ gap: 15px;
71
+ margin-bottom: 10px;
72
+ }
73
+
74
+ .digital-human-eye {
75
+ width: 20px;
76
+ height: 20px;
77
+ background: white;
78
+ border-radius: 50%;
79
+ position: relative;
80
+ overflow: hidden;
81
+ }
82
+
83
+ .digital-human-eye::after {
84
+ content: "";
85
+ position: absolute;
86
+ top: 5px;
87
+ left: 5px;
88
+ width: 10px;
89
+ height: 10px;
90
+ background: #00d1ff;
91
+ border-radius: 50%;
92
+ box-shadow: 0 0 10px #00d1ff;
93
+ animation: blink 4s infinite;
94
+ }
95
+
96
+ .digital-human-mouth {
97
+ width: 40px;
98
+ height: 10px;
99
+ background: white;
100
+ border-radius: 5px;
101
+ position: relative;
102
+ overflow: hidden;
103
+ }
104
+
105
+ .digital-human-mouth::after {
106
+ content: "";
107
+ position: absolute;
108
+ top: 0;
109
+ left: 0;
110
+ width: 100%;
111
+ height: 100%;
112
+ background: #ff2a6d;
113
+ border-radius: 5px;
114
+ transform: scaleX(0.8);
115
+ transform-origin: left;
116
+ animation: speak 2s infinite alternate;
117
+ }
118
+
119
+ .digital-human-halo {
120
+ position: absolute;
121
+ width: 180px;
122
+ height: 180px;
123
+ border-radius: 50%;
124
+ border: 2px solid rgba(0, 209, 255, 0.3);
125
+ animation: pulse 3s infinite;
126
+ }
127
+
128
+ .digital-human-halo:nth-child(2) {
129
+ width: 200px;
130
+ height: 200px;
131
+ animation-delay: 0.5s;
132
+ }
133
+
134
+ .digital-human-halo:nth-child(3) {
135
+ width: 220px;
136
+ height: 220px;
137
+ animation-delay: 1s;
138
+ }
139
+
140
+ @keyframes rotate {
141
+ 0% { transform: rotate(0deg); }
142
+ 100% { transform: rotate(360deg); }
143
+ }
144
+
145
+ @keyframes blink {
146
+ 0%, 45%, 55%, 100% { transform: scale(1); }
147
+ 50% { transform: scale(1, 0.1); }
148
+ }
149
+
150
+ @keyframes speak {
151
+ 0%, 100% { transform: scaleX(0.8); }
152
+ 50% { transform: scaleX(1.2); }
153
+ }
154
+
155
+ @keyframes pulse {
156
+ 0% { transform: scale(1); opacity: 1; }
157
+ 100% { transform: scale(1.2); opacity: 0; }
158
+ }
159
+
160
+ /* 原有样式保持不变 */
161
+ @keyframes flow {
162
+ 0% { stroke-dashoffset: 100; }
163
+ 100% { stroke-dashoffset: 0; }
164
+ }
165
+
166
+ .flow-arrow {
167
+ stroke-dasharray: 10;
168
+ animation: flow 2s linear infinite;
169
+ }
170
+
171
+ .risk-high {
172
+ border-left: 4px solid #ef4444;
173
+ }
174
+
175
+ .risk-medium {
176
+ border-left: 4px solid #f59e0b;
177
+ }
178
+
179
+ .risk-low {
180
+ border-left: 4px solid #10b981;
181
+ }
182
+
183
+ .code-line-error {
184
+ position: relative;
185
+ }
186
+
187
+ .code-line-error::after {
188
+ content: "";
189
+ position: absolute;
190
+ left: 0;
191
+ right: 0;
192
+ bottom: -2px;
193
+ height: 2px;
194
+ background: repeating-linear-gradient(45deg, #ef4444, #ef4444 2px, transparent 2px, transparent 4px);
195
+ }
196
+
197
+ .architecture-diagram {
198
+ width: 100%;
199
+ height: 400px;
200
+ border: 1px solid #e5e7eb;
201
+ border-radius: 0.5rem;
202
+ overflow: auto;
203
+ }
204
+
205
+ .threat-model {
206
+ width: 100%;
207
+ height: 400px;
208
+ background-color: #f9fafb;
209
+ border-radius: 0.5rem;
210
+ }
211
+
212
+ .threat-node {
213
+ cursor: pointer;
214
+ transition: all 0.2s;
215
+ }
216
+
217
+ .threat-node:hover {
218
+ filter: drop-shadow(0 0 8px rgba(99, 102, 241, 0.5));
219
+ }
220
+
221
+ .request-flow {
222
+ display: flex;
223
+ flex-direction: column;
224
+ gap: 1rem;
225
+ }
226
+
227
+ .request-step {
228
+ display: flex;
229
+ align-items: center;
230
+ gap: 1rem;
231
+ }
232
+
233
+ .request-arrow {
234
+ width: 20px;
235
+ height: 40px;
236
+ display: flex;
237
+ justify-content: center;
238
+ align-items: center;
239
+ color: #6b7280;
240
+ }
241
+
242
+ .request-box {
243
+ flex: 1;
244
+ padding: 1rem;
245
+ background-color: #f3f4f6;
246
+ border-radius: 0.5rem;
247
+ font-family: monospace;
248
+ white-space: pre-wrap;
249
+ }
250
+ </style>
251
+ </head>
252
+ <body class="bg-gray-50 text-gray-800">
253
+ <!-- 只修改了数字人部分,其他部分保持不变 -->
254
+ <!-- ... 前面的header和stats部分保持不变 ... -->
255
+
256
+ <!-- Main Dashboard -->
257
+ <div class="flex-1 flex space-x-6">
258
+ <!-- SDL Process Visualization -->
259
+ <div class="flex-1 bg-white rounded-xl shadow-sm p-6 relative">
260
+ <h2 class="text-lg font-semibold mb-4">SDL Process Analysis</h2>
261
+
262
+ <div class="relative h-full" style="min-height: 500px;">
263
+ <!-- Circular SDL Process -->
264
+ <div class="absolute inset-0 flex items-center justify-center">
265
+ <svg width="100%" height="100%" viewBox="0 0 600 600" class="max-w-xl mx-auto">
266
+ <!-- Data Flow Arrows -->
267
+ <path id="flow-1" d="M300,100 A200,200 0 0,1 500,300 L480,300 A180,180 0 0,0 300,120 Z" fill="none" stroke="#6366f1" stroke-width="2" class="flow-arrow" />
268
+ <path id="flow-2" d="M500,300 A200,200 0 0,1 300,500 L300,480 A180,180 0 0,0 480,300 Z" fill="none" stroke="#6366f1" stroke-width="2" class="flow-arrow" />
269
+ <path id="flow-3" d="M300,500 A200,200 0 0,1 100,300 L120,300 A180,180 0 0,0 300,480 Z" fill="none" stroke="#6366f1" stroke-width="2" class="flow-arrow" />
270
+ <path id="flow-4" d="M100,300 A200,200 0 0,1 300,100 L300,120 A180,180 0 0,0 120,300 Z" fill="none" stroke="#6366f1" stroke-width="2" class="flow-arrow" />
271
+
272
+ <!-- 科技感数字人 -->
273
+ <foreignObject x="220" y="220" width="160" height="160">
274
+ <div class="digital-human" xmlns="http://www.w3.org/1999/xhtml">
275
+ <div class="digital-human-halo"></div>
276
+ <div class="digital-human-halo"></div>
277
+ <div class="digital-human-halo"></div>
278
+ <div class="digital-human-core">
279
+ <div class="digital-human-eyes">
280
+ <div class="digital-human-eye"></div>
281
+ <div class="digital-human-eye"></div>
282
+ </div>
283
+ <div class="text-xs mb-1">AI SECURITY</div>
284
+ <div class="digital-human-mouth"></div>
285
+ </div>
286
+ </div>
287
+ </foreignObject>
288
+
289
+ <!-- Requirement Design Phase -->
290
+ <g class="cursor-pointer" onclick="showPhaseDetails('requirement')">
291
+ <circle cx="300" cy="100" r="60" fill="#f0fdf4" stroke="#4ade80" stroke-width="3" />
292
+ <text x="300" y="100" text-anchor="middle" dominant-baseline="middle" font-size="14" font-weight="bold" fill="#15803d">Requirement</text>
293
+ <text x="300" y="120" text-anchor="middle" dominant-baseline="middle" font-size="12" fill="#15803d">4 risks</text>
294
+ <circle cx="300" cy="140" r="4" fill="#ef4444" class="animate-pulse" />
295
+ </g>
296
+
297
+ <!-- Code Change Phase -->
298
+ <g class="cursor-pointer" onclick="showPhaseDetails('code')">
299
+ <circle cx="500" cy="300" r="60" fill="#eff6ff" stroke="#60a5fa" stroke-width="3" />
300
+ <text x="500" y="290" text-anchor="middle" dominant-baseline="middle" font-size="14" font-weight="bold" fill="#1d4ed8">Code</text>
301
+ <text x="500" y="310" text-anchor="middle" dominant-baseline="middle" font-size="12" fill="#1d4ed8">6 risks</text>
302
+ <circle cx="500" cy="330" r="4" fill="#ef4444" class="animate-pulse" />
303
+ </g>
304
+
305
+ <!-- Security Testing Phase -->
306
+ <g class="cursor-pointer" onclick="showPhaseDetails('testing')">
307
+ <circle cx="300" cy="500" r="60" fill="#fef2f2" stroke="#f87171" stroke-width="3" />
308
+ <text x="300" y="490" text-anchor="middle" dominant-baseline="middle" font-size="14" font-weight="bold" fill="#b91c1c">Testing</text>
309
+ <text x="300" y="510" text-anchor="middle" dominant-baseline="middle" font-size="12" fill="#b91c1c">3 risks</text>
310
+ <circle cx="300" y="530" r="4" fill="#ef4444" class="animate-pulse" />
311
+ </g>
312
+
313
+ <!-- Release Phase -->
314
+ <g class="cursor-pointer" onclick="showPhaseDetails('release')">
315
+ <circle cx="100" cy="300" r="60" fill="#f5f3ff" stroke="#a78bfa" stroke-width="3" />
316
+ <text x="100" y="290" text-anchor="middle" dominant-baseline="middle" font-size="14" font-weight="bold" fill="#6d28d9">Release</text>
317
+ <text x="100" y="310" text-anchor="middle" dominant-baseline="middle" font-size="12" fill="#6d28d9">2 risks</text>
318
+ <circle cx="100" y="330" r="4" fill="#ef4444" class="animate-pulse" />
319
+ </g>
320
+
321
+ <!-- Production Phase -->
322
+ <g class="cursor-pointer" onclick="showPhaseDetails('production')">
323
+ <circle cx="300" cy="300" r="180" fill="none" stroke="#fcd34d" stroke-width="3" stroke-dasharray="5,5" />
324
+ <text x="300" y="240" text-anchor="middle" dominant-baseline="middle" font-size="14" font-weight="bold" fill="#92400e">Production</text>
325
+ <text x="300" y="260" text-anchor="middle" dominant-baseline="middle" font-size="12" fill="#92400e">3 risks</text>
326
+ <circle cx="300" y="280" r="4" fill="#ef4444" class="animate-pulse" />
327
+ </g>
328
+ </svg>
329
+ </div>
330
+ </div>
331
+
332
+ <!-- Analysis Log -->
333
+ <div class="mt-6 border-t pt-4">
334
+ <h3 class="text-sm font-semibold text-gray-500 mb-2">Real-time Analysis Log</h3>
335
+ <div class="bg-gray-50 rounded-lg p-3 h-40 overflow-y-auto text-sm space-y-2" id="analysis-log">
336
+ <div class="text-green-600">✓ Completed analysis: Alipay National Subsidy Project requirements</div>
337
+ <div class="text-green-600">✓ Completed analysis: Cloud Storage Optimization Project code review</div>
338
+ <div class="text-blue-600">→ Analyzing: Payment Gateway API security testing</div>
339
+ <div class="text-green-600">✓ Completed analysis: User Management System release check</div>
340
+ <div class="text-blue-600">→ Analyzing: E-commerce Platform production monitoring</div>
341
+ <div class="text-red-600">⚠ Found 2 high risks in Financial Reporting Module</div>
342
+ </div>
343
+ </div>
344
+ </div>
345
+
346
+ <!-- Risk Alerts -->
347
+ <div class="w-80 bg-white rounded-xl shadow-sm p-6 flex flex-col">
348
+ <div class="flex justify-between items-center mb-4">
349
+ <h2 class="text-lg font-semibold">Risk Alerts</h2>
350
+ <div class="text-sm text-gray-500" id="alert-count">5 new</div>
351
+ </div>
352
+
353
+ <div class="flex-1 overflow-y-auto space-y-3" id="risk-alerts">
354
+ <div class="p-3 rounded-lg risk-high cursor-pointer hover:bg-gray-50" onclick="showProjectDetails('alipay-subsidy')">
355
+ <div class="font-medium">Alipay National Subsidy</div>
356
+ <div class="text-sm text-gray-600">Requirement, Code</div>
357
+ <div class="text-xs mt-1">
358
+ <span class="bg-red-100 text-red-800 px-2 py-1 rounded">SQL Injection</span>
359
+ <span class="bg-red-100 text-red-800 px-2 py-1 rounded">Privilege Escalation</span>
360
+ </div>
361
+ </div>
362
+
363
+ <div class="p-3 rounded-lg risk-medium cursor-pointer hover:bg-gray-50" onclick="showProjectDetails('cloud-storage')">
364
+ <div class="font-medium">Cloud Storage Optimization</div>
365
+ <div class="text-sm text-gray-600">Code, Testing</div>
366
+ <div class="text-xs mt-1">
367
+ <span class="bg-yellow-100 text-yellow-800 px-2 py-1 rounded">XSS</span>
368
+ <span class="bg-yellow-100 text-yellow-800 px-2 py-1 rounded">Insecure Deserialization</span>
369
+ </div>
370
+ </div>
371
+
372
+ <div class="p-3 rounded-lg risk-high cursor-pointer hover:bg-gray-50" onclick="showProjectDetails('payment-gateway')">
373
+ <div class="font-medium">Payment Gateway API</div>
374
+ <div class="text-sm text-gray-600">Testing</div>
375
+ <div class="text-xs mt-1">
376
+ <span class="bg-red-100 text-red-800 px-2 py-1 rounded">Broken Authentication</span>
377
+ </div>
378
+ </div>
379
+
380
+ <div class="p-3 rounded-lg risk-low cursor-pointer hover:bg-gray-50" onclick="showProjectDetails('user-management')">
381
+ <div class="font-medium">User Management System</div>
382
+ <div class="text-sm text-gray-600">Release</div>
383
+ <div class="text-xs mt-1">
384
+ <span class="bg-green-100 text-green-800 px-2 py-1 rounded">Missing Security Headers</span>
385
+ </div>
386
+ </div>
387
+
388
+ <div class="p-3 rounded-lg risk-medium cursor-pointer hover:bg-gray-50" onclick="showProjectDetails('ecommerce-platform')">
389
+ <div class="font-medium">E-commerce Platform</div>
390
+ <div class="text-sm text-gray-600">Production</div>
391
+ <div class="text-xs mt-1">
392
+ <span class="bg-yellow-100 text-yellow-800 px-2 py-1 rounded">Suspicious Activity</span>
393
+ </div>
394
+ </div>
395
+ </div>
396
+ </div>
397
+ </div>
398
+
399
+ <!-- ... 后面的modal和script部分保持不变 ... -->
400
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=capta1n/testtest" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
401
+ </html>
prompts.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ 目标:创建一个拟人化的AI SDL产品,核心是体现出一个AI数字分身角色在企业SDL链路的每个环节都在持续进行安全分析,存在风险时会主动告警出某个项目在SDL链路中存在风险,无风险时会持续展示每个环节的安全分析报告。 系统分为三大主模块 分别是AI SDL数字分身工作大盘、风险项目告警、风险项目详情 AI SDL数字分身工作大盘 功能需求: 大盘中以游戏的形式呈现出一个AI SDL数字分身持续在SDL的5个链路上持续进行安全分析并不断产出风险项目和风险报告5个链路分别是需求设计、代码变更、安全测试、发布、线上运行。 需求设计环节:AI SDL数字分身不断在对企业中的需求进行安全分析,发现存在风险的项目需求。 代码变更环节:AI SDL数字分身不断在对企业中的代码进行安全评审,发现存在风险的项目代码。 安全测试环节:AI SDL数字分身不断在对企业中的接口进行自动化安全测试,发现存在风险的项目接口地址。 发布环节:AI SDL数字分身对发布环节的全部项目进行安全检查,发现存在风险的项目发布变更行为。 线上运行环节:AI SDL数字分身对全部线上项目进行安全健康,发现存在漏洞或者入侵风险的项目。 设计要求 AI SDL数字分身在中间,5个环节以环形布局排列,每个环节包含: ● 进度环:以持续分析中的动效展示分析结果,例发现4个风险和持续分析中的动效 ● 数据流动态:环形链路间用光效箭头显示数据流动向(如需求→代码→测试→发布→线上) ● 实时分析动态:动态更新展示数字人的分析动态,例完成分析 支付宝国补项目、完成分析云存储优化项目代码分析 ● 实时数据看板:最上方展示全局统计数据(如"今日已分析***个需求发现***个风险") 风险项目告警 AI SDL数字分身在每个环节发现的风险,最终将信息聚合成"某个项目在某个环节存在某风险" 的形式产出告警(项目是唯一维度,如果一个项目在多个环节存在风险需聚合在一起),例 支付宝国补项目在代码和需求环节存在越权和sql注入风险。 项目详情 告警出来的风险项目,点击进入详情页,将项目分为需求-代码-安全测试-发布-线上5个模块,每个模块都包含内容--安全分析结果,需要在内容上动态展示分析过程和同步展示风险对应的内容,因为安全分析是对内容进行分析最终产出安全分析结果。 需求模块: ● 内容:展示项目对应的需求文档内容,包括技术架构图 ● 分析结果:产出威胁建模图、安全风险:包括业务场景-风险点-风险类型-整改建议 代码模块: ● 内容:展示项目对应的全部代码内容 ● 分析结果:安全风险:由风险接口、代码漏洞名称、漏洞描述、存在漏洞的代码内容(点击可定位到代码内容)、修复建议 安全测试: ● 内容:展示对应的风险接口以及每个风险接口对应的攻击payload和攻击结果 ● 分析结果:存在风险的接口、攻击payload请求、风险描述 发布: ● 内容:展示在发布环节进行安全检查的内容,检查之前环节积累下来的风险是否修复 ● 分析结果:未修复的风险,在之前的每个环节发现但未修复的风险,例代码环节的越权风险未修复 线上: ● 内容:展示发现的漏洞或者入侵事件风险 ● 分析结果:展示漏洞的修复情况 设计要求 ● 实时告警:最右侧通过告警中心模块实时展示最新发现的风险项目,不同风险等级展示不同的颜色标记,点击之后进入项目详情 ● 在右上角增加风险项目功能,点击进入展示全部的风险项目,点击项目进入项目详情页。 ● 项目详情中 ○ 需求模块:1、技术架构图支持缩放/平移(集成mermaid.js) 2、威胁建模图采用交互式拓扑图(可点击节点查看风险详情) 3、风险内容高亮展示 ○ 代码模块:1、代码高亮显示(支持多种语言)2、漏洞代码行用红色波浪线标注,点击弹出修复建议浮层 3、支持展示多文件的代码内容结构 ○ 安全测试模块:1、接口攻击过程可视化(请求-响应链路图)2、Payload展示采用代码块样式并支持修复
2
+ 数字人的形态设计的更加有科技感些