简化导航栏文字,合并某些服务详情

This commit is contained in:
djgj
2025-12-16 10:20:00 +08:00
parent 59d5988e2a
commit a812a96d82
5 changed files with 448 additions and 302 deletions

View File

@@ -19,38 +19,38 @@
<div class="menu-row-items">
<!-- 模块1SBOM 自动化分析 -->
<div v-for="(item, index) in coreModules" :key="index" class="menu-section">
<span class="menu-section-title">{{item.title}}</span>
<span class="menu-section-title">{{ item.title }}</span>
<ul class="hover-child">
<!-- <li class="child-item">-->
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc1}}</a>-->
<!-- </li>-->
<!-- <li class="child-item">-->
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc2}}</a>-->
<!-- </li>-->
<!-- <li class="child-item">-->
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc3}}</a>-->
<!-- </li>-->
<!-- <li class="child-item">-->
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc1}}</a>-->
<!-- </li>-->
<!-- <li class="child-item">-->
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc2}}</a>-->
<!-- </li>-->
<!-- <li class="child-item">-->
<!-- <a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc3}}</a>-->
<!-- </li>-->
<li class="child-item">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc4}}</a>
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc4 }}</a>
</li>
<li class="child-item">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc5}}</a>
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc5 }}</a>
</li>
<li class="child-item">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc6}}</a>
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc6 }}</a>
</li>
<li class="child-item" v-if="item.desc7 !=undefined">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc7}}</a>
<li class="child-item" v-if="item.desc7 != undefined">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc7 }}</a>
</li>
<li class="child-item" v-if="item.desc8 !=undefined">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc8}}</a>
<li class="child-item" v-if="item.desc8 != undefined">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc8 }}</a>
</li>
<li class="child-item" v-if="item.desc9 !=undefined">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc9}}</a>
<li class="child-item" v-if="item.desc9 != undefined">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc9 }}</a>
</li>
<li class="child-item">
<router-link :to="{ path: '/ProductServices/' + (index+1)}" class="LNK">
{{item.linkText}}</router-link>
<router-link :to="{ path: '/ProductServices/' + (index + 1) }" class="LNK">
{{ item.linkText }}</router-link>
</li>
</ul>
</div>
@@ -73,22 +73,15 @@
<div class="menu-row-title">核心安全数据要素服务</div>
<div class="menu-row-items">
<!-- 循环渲染数据服务模块 -->
<div
v-for="(item, index) in dataServiceModules"
:key="index"
class="menu-section"
>
<span class="menu-section-title">{{item.icon}} {{item.title}}</span>
<div v-for="(item, index) in dataServiceModules" :key="index" class="menu-section">
<span class="menu-section-title">{{ item.icon }} {{ item.title }}</span>
<ul class="hover-child">
<li class="child-item">
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{item.desc}}</a>
<a href="javascript:;" class="LNK"><i class="ico-yh"></i>{{ item.desc }}</a>
</li>
<li class="child-item">
<router-link
:to="item.link"
class="LNK"
>
<i class="ico-dp"></i> {{item.linkText}}
<router-link :to="item.link" class="LNK">
<i class="ico-dp"></i> {{ item.linkText }}
</router-link>
</li>
</ul>
@@ -103,54 +96,54 @@
<router-link to="/Situation" class="LNK">态势感知中心 <i class="ico-arrow-down"></i></router-link>
</li>
<!-- <li>-->
<!-- <router-link to="/pricing" class="LNK">定价</router-link>-->
<!-- </li>-->
<!-- <li>-->
<!-- <router-link to="/pricing" class="LNK">定价</router-link>-->
<!-- </li>-->
<!-- <li>-->
<!-- <a href="javascript:;" rel="noopener noreferrer" class="LNK">开源服务专区 <i class="ico-arrow-down"></i></a>-->
<!-- <div class="nav-hover hover-product">-->
<!-- <div class="menu-zh">-->
<!-- <div class="menu-row menu-row1">-->
<!-- <div class="menu-row-title">全栈式开源安全检测与治理工具链</div>-->
<!-- <div class="menu-row-items">-->
<!-- &lt;!&ndash; 循环渲染开源服务专区模块 &ndash;&gt;-->
<!-- <div-->
<!-- v-for="(item, index) in openSourceServiceModules"-->
<!-- :key="index"-->
<!-- class="menu-section"-->
<!-- >-->
<!-- <span class="menu-section-title">{{item.icon}} {{item.title}}</span>-->
<!-- <ul class="hover-child">-->
<!-- <li class="child-item">-->
<!-- <a-->
<!-- :href="item.descLink"-->
<!-- :target="item.isExternal ? '_blank' : '_self'"-->
<!-- class="LNK"-->
<!-- >-->
<!-- <i class="ico-yh"></i>{{item.desc}}-->
<!-- </a>-->
<!-- </li>-->
<!-- <li class="child-item">-->
<!-- <a-->
<!-- :href="item.operateLink"-->
<!-- :target="item.isExternal ? '_blank' : '_self'"-->
<!-- class="LNK"-->
<!-- >-->
<!-- <i class="ico-dp"></i> {{item.operateText}}-->
<!-- </a>-->
<!-- </li>-->
<!-- </ul>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </li>-->
<!-- <li>-->
<!-- <router-link to="/Community" class="LNK">武汉开源建设生态<i class="ico-arrow-down"></i></router-link>-->
<!-- <li>-->
<!-- <a href="javascript:;" rel="noopener noreferrer" class="LNK">开源服务专区 <i class="ico-arrow-down"></i></a>-->
<!-- <div class="nav-hover hover-product">-->
<!-- <div class="menu-zh">-->
<!-- <div class="menu-row menu-row1">-->
<!-- <div class="menu-row-title">全栈式开源安全检测与治理工具链</div>-->
<!-- <div class="menu-row-items">-->
<!-- &lt;!&ndash; 循环渲染开源服务专区模块 &ndash;&gt;-->
<!-- <div-->
<!-- v-for="(item, index) in openSourceServiceModules"-->
<!-- :key="index"-->
<!-- class="menu-section"-->
<!-- >-->
<!-- <span class="menu-section-title">{{item.icon}} {{item.title}}</span>-->
<!-- <ul class="hover-child">-->
<!-- <li class="child-item">-->
<!-- <a-->
<!-- :href="item.descLink"-->
<!-- :target="item.isExternal ? '_blank' : '_self'"-->
<!-- class="LNK"-->
<!-- >-->
<!-- <i class="ico-yh"></i>{{item.desc}}-->
<!-- </a>-->
<!-- </li>-->
<!-- <li class="child-item">-->
<!-- <a-->
<!-- :href="item.operateLink"-->
<!-- :target="item.isExternal ? '_blank' : '_self'"-->
<!-- class="LNK"-->
<!-- >-->
<!-- <i class="ico-dp"></i> {{item.operateText}}-->
<!-- </a>-->
<!-- </li>-->
<!-- </ul>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </li>-->
<!-- <li>-->
<!-- <router-link to="/Community" class="LNK">武汉开源建设生态<i class="ico-arrow-down"></i></router-link>-->
<!-- </li>-->
<!-- </li>-->
<li>
<router-link to="/intro" class="LNK">关于我们 <i class="ico-arrow-down"></i></router-link>
<!-- <div class="nav-hover">-->
@@ -173,10 +166,10 @@
</template>
<script setup lang="ts">
import {ref, reactive} from 'vue';
import {useRoute, useRouter} from 'vue-router';
import {useAccountStore} from '@/stores/user';
import {emitEvent} from '@/utils/eventBus';
import { ref, reactive } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { useAccountStore } from '@/stores/user';
import { emitEvent } from '@/utils/eventBus';
// 定义产品服务模块的数据
const coreModules = reactive([
@@ -186,9 +179,10 @@ const coreModules = reactive([
desc1: '数据底座 国家级视野',
desc2: '全网态势,一屏尽览',
desc3: '基于3D可视化与实时监控技术通过全网态势大屏、实时情报推送、攻击面管理等功能可全方位感知全球开源安全风险态势。',
desc4: '<EFBFBD> 数据标签:基于机器学习与知识图谱技术,智能化为全量开源项目提供精准分类与多维评分。',
desc5: '🛡️ 风险感知基于3D地球与热力图技术实时可视化展示全球开源漏洞、投毒攻击爆发点及受影响行业分布。',
desc6: '📊 数据定制:提供情报订阅中心、深度分析报告、API数据对接等服务,满足企业个性化威胁情报需求。',
desc4: '智能标签:机器学习驱动,为全量开源项目提供精准分类与多维评分。',
desc5: '态势可视3D地球实时展示全球漏洞、投毒攻击爆发点及行业分布。',
desc6: '情报定制:订阅中心、深度报告、API对接,满足个性化威胁情报需求。',
desc7: '应急响应:智能分级预警、应急指引、协同指挥,快速响应形成闭环管理。',
link: '/ProductServices/1',
linkText: '[了解详情 >]'
},
@@ -198,10 +192,10 @@ const coreModules = reactive([
desc1: '核心引擎 AI 驱动',
desc2: '懂代码,更懂安全的 AI 专家',
desc3: '基于AST语法树、CPG图构建与多智能体协同技术结合RAG知识库与COT指令集训练实现从漏洞检测到自动修复的智能闭环。',
desc4: '🔍 漏洞检测:基于AST与CPG图构建,结合静态分析、动态增量分析、AI语义理解检测准确率提升85%以上。',
desc5: '<EFBFBD> 漏洞修复:基于多智能体协同修复技术,自动生成修复方案并完成验证测试,修复准确率提升75%以上。',
desc6: '💬 安全知识问答:基于漏洞知识图谱与RAG检索增强技术,提供高质量、可解释的漏洞分析问答准确率达92%以上。',
desc7: '🛠️ 安全工具调用基于Function Calling技术智能调用第三方安全工具,实现漏洞扫描、代码审计等自动化任务编排。',
desc4: '漏洞检测AST与CPG图结合静态/动态分析、AI语义理解精准识别代码安全风险。',
desc5: '漏洞修复:多智能体协同自动生成修复方案并验证测试,实现智能化修复闭环。',
desc6: '知识问答漏洞知识图谱与RAG检索增强提供可解释的专业漏洞分析。',
desc7: '工具编排:智能调用第三方安全工具,自动化完成扫描、审计等安全任务。',
link: '/ProductServices/2',
linkText: '[了解详情 >]'
},
@@ -211,12 +205,10 @@ const coreModules = reactive([
desc1: '深度治理 合规审计',
desc2: '透视黑盒,溯源无忧',
desc3: '穿透软件“黑盒”,基于源码与二进制双引擎,生成标准化 SBOM彻底解决“成分不清、来源不明”难题。',
desc4: '<EFBFBD> 平台管理与数据服务:提供用户友好的Web界面API确保数据准确性与时效性。',
desc5: '<EFBFBD> 包管理器成分分析针对常见包管理器如npm、PyPI、Maven的依赖分析引擎自动识别组件及其版本。',
desc6: '<EFBFBD> C/C++/项目成分分析专门处理C/C++项目的成分分析,识别第三方库和潜在风险。',
desc7: '<EFBFBD> 二进制文件成分分析: 针对二进制文件的分析引擎,通过反编译和特征匹配识别成分和漏洞。',
desc8: '<27> 供应测链安全检测:精准漏洞检测、恶意代码防护、合规性保障。',
desc9: '<27> 合规性检测:分析软件组件的许可证信息,检查兼容性和合规性,避免法律冲突。',
desc4: '平台服务:Web界面API双通道,确保数据准确性与时效性。',
desc5: '成分分析覆盖主流包管理器、C/C++项目及二进制文件,精准识别组件与风险。',
desc6: '安全检测:精准漏洞检测、恶意代码防护、合规性保障。',
desc7: '许可证合规:分析组件许可证信息,检查兼容性,避免法律冲突。',
link: '/ProductServices/3',
linkText: '[了解详情 >]'
},
@@ -226,10 +218,10 @@ const coreModules = reactive([
desc1: '端侧防御 场景落地',
desc2: '守护终端,运行无界',
desc3: '面向车联网、无人机及 IoT 生态,提供应用逆向分析与运行时安全监测,确保设备在真实环境下的安全运行。',
desc4: '🔍 极速扫描服务:百万级样本秒级初筛能力,支持海量应用快速筛查检测准确率高达99%。',
desc5: '🔬 深度分析服务:精准定位恶意逻辑核心,可视化展示攻击路径分析准确率达88%以上。',
desc6: '🛡️ 持续免疫服务:自适应进化检测模型,秒级响应恶意变种,支持跨平台识别演进。',
desc7: '🌐 威胁情报服务Zero-day预警能力已挖掘498个普通及31个高隐蔽性Zero-day恶意软件。',
desc4: '极速扫描:百万级样本秒级初筛,支持海量应用快速筛查。',
desc5: '深度分析:精准定位恶意逻辑核心,可视化展示攻击路径。',
desc6: '持续免疫:自适应进化检测模型,秒级响应恶意变种,支持跨平台识别。',
desc7: '威胁情报Zero-day预警能力实时发现高隐蔽性恶意软件。',
link: '/intelligent-terminal-monitoring',
linkText: '[了解详情 >]'
}
@@ -298,7 +290,7 @@ const openSourceServiceModules = reactive([
]);
const handleLogin = (type) => {
emitEvent('login', {type, triggerType: '主动注册'});
emitEvent('login', { type, triggerType: '主动注册' });
};
</script>
@@ -359,34 +351,35 @@ const handleLogin = (type) => {
align-items: center
}
.comHeader .nav, .comHeader .nav > ul {
.comHeader .nav,
.comHeader .nav>ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex
}
.comHeader .nav > ul {
.comHeader .nav>ul {
margin: 0 0 0 38px
}
.comHeader .nav > ul > li {
.comHeader .nav>ul>li {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
position: relative
}
.comHeader .nav > ul > li:hover > a {
.comHeader .nav>ul>li:hover>a {
color: #4bb752
}
.comHeader .nav > ul > li:hover .nav-hover {
.comHeader .nav>ul>li:hover .nav-hover {
opacity: 1;
top: 62px;
visibility: visible
}
.comHeader .nav > ul > li .nav-hover {
.comHeader .nav>ul>li .nav-hover {
background-color: #1b1c1d;
font-size: 13px;
left: 0;
@@ -402,21 +395,21 @@ const handleLogin = (type) => {
white-space: nowrap
}
.comHeader .nav > ul > li .nav-hover > ul {
.comHeader .nav>ul>li .nav-hover>ul {
max-height: 452px;
overflow: hidden;
overflow-y: scroll
}
.comHeader .nav > ul > li .nav-hover > ul::-webkit-scrollbar {
.comHeader .nav>ul>li .nav-hover>ul::-webkit-scrollbar {
width: 0
}
.comHeader .nav > ul > li .nav-hover .hover-item {
.comHeader .nav>ul>li .nav-hover .hover-item {
margin: 0 0 10px
}
.comHeader .nav > ul > li .nav-hover .hover-item > a:link {
.comHeader .nav>ul>li .nav-hover .hover-item>a:link {
color: #848484;
font-size: 14px;
padding: 0 20px;
@@ -424,11 +417,11 @@ const handleLogin = (type) => {
transition: none
}
.comHeader .nav > ul > li .nav-hover .hover-item > a:hover {
.comHeader .nav>ul>li .nav-hover .hover-item>a:hover {
color: #4bb752
}
.comHeader .nav > ul > li .nav-hover .child-item a {
.comHeader .nav>ul>li .nav-hover .child-item a {
border-left: 4px solid #1b1c1d;
display: inline-block;
line-height: 25px;
@@ -439,7 +432,7 @@ const handleLogin = (type) => {
white-space: normal
}
.comHeader .nav > ul > li .nav-hover .child-item a .ico-yh {
.comHeader .nav>ul>li .nav-hover .child-item a .ico-yh {
background: url(data:image/png;base64,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) no-repeat 50%;
background-size: 100% 100%;
display: inline-block;
@@ -450,7 +443,7 @@ const handleLogin = (type) => {
width: 12px
}
.comHeader .nav > ul > li .nav-hover .child-item a .ico-dp {
.comHeader .nav>ul>li .nav-hover .child-item a .ico-dp {
background: url(./3.B1j6TFrJ.png) no-repeat 50%;
background-size: 100% 100%;
display: inline-block;
@@ -461,7 +454,7 @@ const handleLogin = (type) => {
width: 12px
}
.comHeader .nav > ul > li .nav-hover .child-item a .ico-mz {
.comHeader .nav>ul>li .nav-hover .child-item a .ico-mz {
background: url(./4.CliINQHr.png) no-repeat 50%;
background-size: 100% 100%;
display: inline-block;
@@ -472,7 +465,7 @@ const handleLogin = (type) => {
width: 12px
}
.comHeader .nav > ul > li .nav-hover .child-item a .ico-xh {
.comHeader .nav>ul>li .nav-hover .child-item a .ico-xh {
background: url(data:image/png;base64,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) no-repeat 50%;
background-size: 100% 100%;
display: inline-block;
@@ -483,7 +476,7 @@ const handleLogin = (type) => {
width: 12px
}
.comHeader .nav > ul > li .nav-hover .child-item a .ico-zn {
.comHeader .nav>ul>li .nav-hover .child-item a .ico-zn {
background: url(./7.CzOWPVUI.png) no-repeat 50%;
background-size: 100% 100%;
display: inline-block;
@@ -494,7 +487,7 @@ const handleLogin = (type) => {
width: 22px
}
.comHeader .nav > ul > li .nav-hover .child-item a .ico-zn2 {
.comHeader .nav>ul>li .nav-hover .child-item a .ico-zn2 {
background: url(./6.CHtcQ5m4.png) no-repeat 50%;
background-size: 100% 100%;
display: inline-block;
@@ -505,11 +498,11 @@ const handleLogin = (type) => {
width: 30px
}
.comHeader .nav > ul > li .nav-hover .child-item a:hover {
.comHeader .nav>ul>li .nav-hover .child-item a:hover {
border-color: #4bb752
}
.comHeader .nav > ul > li .hover-product {
.comHeader .nav>ul>li .hover-product {
background-color: #fff;
-webkit-box-shadow: 0 2px 11px 2px rgba(0, 0, 0, .08);
box-shadow: 0 2px 11px 2px #00000014;
@@ -521,54 +514,54 @@ const handleLogin = (type) => {
right: 0
}
.comHeader .nav > ul > li .hover-product.hover-product2 {
.comHeader .nav>ul>li .hover-product.hover-product2 {
left: 150px;
right: auto
}
.comHeader .nav > ul > li .hover-product.hover-product2 .product-list {
.comHeader .nav>ul>li .hover-product.hover-product2 .product-list {
display: -webkit-box;
display: -ms-flexbox;
display: flex
}
.comHeader .nav > ul > li .hover-product.hover-product2 .product-list .plist {
.comHeader .nav>ul>li .hover-product.hover-product2 .product-list .plist {
padding: 10px
}
.comHeader .nav > ul > li .hover-product.hover-product2 .product-list .plist:first-child > .list-item > ul > .hover-item {
.comHeader .nav>ul>li .hover-product.hover-product2 .product-list .plist:first-child>.list-item>ul>.hover-item {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1
}
.comHeader .nav > ul > li .hover-product.EN {
.comHeader .nav>ul>li .hover-product.EN {
background-color: #040705
}
.comHeader .nav > ul > li .hover-product.EN.hover-product2 {
.comHeader .nav>ul>li .hover-product.EN.hover-product2 {
left: 300px;
right: auto
}
.comHeader .nav > ul > li .hover-product.EN.hover-product2 .plist {
.comHeader .nav>ul>li .hover-product.EN.hover-product2 .plist {
padding-left: 10px
}
.comHeader .nav > ul > li .hover-product.EN.hover-product2 .plist .list-item {
.comHeader .nav>ul>li .hover-product.EN.hover-product2 .plist .list-item {
padding: 0 !important
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist {
padding-bottom: 7px;
padding-top: 7px
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist .list-label {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist .list-label {
width: 60px
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist .list-label span {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist .list-label span {
font-size: 20px;
font-weight: 700;
left: -83px;
@@ -578,36 +571,36 @@ const handleLogin = (type) => {
white-space: nowrap
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:first-child .list-label {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:first-child .list-label {
background: linear-gradient(135deg, #22e68b, #008d35)
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:first-child > .list-item > ul > .hover-item {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:first-child>.list-item>ul>.hover-item {
background-color: #15210f;
border-color: #23e98e
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) .list-label {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2) .list-label {
background: linear-gradient(160deg, #48fffa, #008d9a);
text-align: center
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) .list-label span {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2) .list-label span {
left: -72px
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) > .list-item > ul > .hover-item {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2)>.list-item>ul>.hover-item {
background-color: #101e1f;
border-color: #8b979c
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) > .list-item > ul > .hover-item .child-item {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2)>.list-item>ul>.hover-item .child-item {
background: linear-gradient(160deg, #205c5d, #103f44);
margin: 7px 0 0;
padding: 7px 0 7px 30px
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) > .list-item > ul > .hover-item > .LNK {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2)>.list-item>ul>.hover-item>.LNK {
background: linear-gradient(135deg, #49fefa, #008d9a);
display: -webkit-box;
display: -ms-flexbox;
@@ -620,44 +613,44 @@ const handleLogin = (type) => {
justify-content: center
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) .list-label .span1 {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2) .list-label .span1 {
left: -30px
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(2) .list-label .span2 {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(2) .list-label .span2 {
left: -95px
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) .list-label {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3) .list-label {
background: linear-gradient(135deg, #ffcd68, #fe682d)
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) .list-label .span1 {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3) .list-label .span1 {
left: -38px
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) .list-label .span2 {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3) .list-label .span2 {
left: -106px
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) > .list-item > ul > .hover-item {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3)>.list-item>ul>.hover-item {
background-color: #2d1d08;
border-color: #ffa24b
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist:nth-child(3) > .list-item > ul > .hover-item .child-item {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist:nth-child(3)>.list-item>ul>.hover-item .child-item {
background: linear-gradient(135deg, #442e10, #44230c);
margin: 7px 0 0;
padding: 7px 0 7px 30px;
width: 32.333% !important
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist .list-item .hover-item {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist .list-item .hover-item {
padding-top: 35px;
position: relative
}
.comHeader .nav > ul > li .hover-product.EN .product-list .plist .list-item .hover-item > .LNK {
.comHeader .nav>ul>li .hover-product.EN .product-list .plist .list-item .hover-item>.LNK {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
@@ -675,45 +668,46 @@ const handleLogin = (type) => {
white-space: normal
}
.comHeader .nav > ul > li .hover-product.EN .child-item a {
.comHeader .nav>ul>li .hover-product.EN .child-item a {
color: #dcdbde;
font-size: 12px;
line-height: 18px
}
.comHeader .nav > ul > li .hover-product.EN .child-item a:hover {
.comHeader .nav>ul>li .hover-product.EN .child-item a:hover {
color: #fff
}
.comHeader .nav > ul > li .hover-product.EN .child-item a .ico-yh {
.comHeader .nav>ul>li .hover-product.EN .child-item a .ico-yh {
background: url(data:image/png;base64,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) no-repeat 50%;
background-size: 100% 100%;
top: 3px
}
.comHeader .nav > ul > li .hover-product.EN .child-item a .ico-dp {
.comHeader .nav>ul>li .hover-product.EN .child-item a .ico-dp {
background: url(./3.B1j6TFrJ.png) no-repeat 50%;
background-size: 100% 100%;
top: 3px
}
.comHeader .nav > ul > li .hover-product.EN .child-item a .ico-mz {
.comHeader .nav>ul>li .hover-product.EN .child-item a .ico-mz {
background: url(./4.CliINQHr.png) no-repeat 50%;
background-size: 100% 100%;
top: 3px
}
.comHeader .nav > ul > li .hover-product.EN .child-item a .ico-xh {
.comHeader .nav>ul>li .hover-product.EN .child-item a .ico-xh {
background: url(./5.R14BVqop.png) no-repeat 50%;
background-size: 100% 100%;
top: 3px
}
.comHeader .nav > ul > li .hover-product.EN .ico-zn, .comHeader .nav > ul > li .hover-product.EN .ico-zn2 {
.comHeader .nav>ul>li .hover-product.EN .ico-zn,
.comHeader .nav>ul>li .hover-product.EN .ico-zn2 {
display: none !important
}
.comHeader .nav > ul > li .hover-product.EN .item-tit {
.comHeader .nav>ul>li .hover-product.EN .item-tit {
color: #00e07b;
font-size: 12px;
line-height: 18px;
@@ -723,7 +717,7 @@ const handleLogin = (type) => {
white-space: normal
}
.comHeader .nav > ul > li .hover-product.EN .item-tit:before {
.comHeader .nav>ul>li .hover-product.EN .item-tit:before {
background-color: #00e07b;
content: "";
height: 100%;
@@ -733,21 +727,21 @@ const handleLogin = (type) => {
width: 2px
}
.comHeader .nav > ul > li .hover-product .item-tit {
.comHeader .nav>ul>li .hover-product .item-tit {
font-weight: 700;
margin: 5px 0 0
}
.comHeader .nav > ul > li .hover-product .child-item a {
.comHeader .nav>ul>li .hover-product .child-item a {
border: none;
color: #333
}
.comHeader .nav > ul > li .hover-product .child-item a:hover {
.comHeader .nav>ul>li .hover-product .child-item a:hover {
color: #4bb752
}
.comHeader .nav > ul > li .hover-product .product-list {
.comHeader .nav>ul>li .hover-product .product-list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
@@ -757,7 +751,7 @@ const handleLogin = (type) => {
flex-direction: column
}
.comHeader .nav > ul > li .hover-product .product-list .plist {
.comHeader .nav>ul>li .hover-product .product-list .plist {
color: #333;
display: -webkit-box;
display: -ms-flexbox;
@@ -765,16 +759,16 @@ const handleLogin = (type) => {
padding: 10px 20px
}
.comHeader .nav > ul > li .hover-product .product-list .plist:first-child .list-label {
.comHeader .nav>ul>li .hover-product .product-list .plist:first-child .list-label {
background: -webkit-gradient(linear, right top, left top, from(#49ac8c), to(#79ba49));
background: linear-gradient(270deg, #49ac8c, #79ba49)
}
.comHeader .nav > ul > li .hover-product .product-list .plist:first-child > .list-item {
.comHeader .nav>ul>li .hover-product .product-list .plist:first-child>.list-item {
padding: 0 5px
}
.comHeader .nav > ul > li .hover-product .product-list .plist:first-child > .list-item > ul > .hover-item {
.comHeader .nav>ul>li .hover-product .product-list .plist:first-child>.list-item>ul>.hover-item {
width: 15.8%;
-ms-flex-negative: 0;
background-color: #f5fbf1;
@@ -784,15 +778,15 @@ const handleLogin = (type) => {
margin-right: .43%
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(2) .list-label {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(2) .list-label {
background: #40a9f5
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(2) > .list-item {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(2)>.list-item {
padding: 0 5px
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(2) > .list-item > ul > .hover-item {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(2)>.list-item>ul>.hover-item {
width: 32.333%;
-ms-flex-negative: 0;
background-color: #f8f8f8;
@@ -802,19 +796,19 @@ const handleLogin = (type) => {
margin-right: .5%
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(2) > .list-item > ul > .hover-item > .LNK {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(2)>.list-item>ul>.hover-item>.LNK {
background-color: #40a9f5
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item {
padding: 0 5px
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item > ul {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item>ul {
height: 100%
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item > ul > .hover-item {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item>ul>.hover-item {
width: 99%;
-ms-flex-negative: 0;
flex-shrink: 0;
@@ -824,7 +818,7 @@ const handleLogin = (type) => {
padding-top: 10px
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item > ul > .hover-item .hover-child {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item>ul>.hover-item .hover-child {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
@@ -832,7 +826,7 @@ const handleLogin = (type) => {
flex-wrap: wrap
}
.comHeader .nav > ul > li .hover-product .product-list .plist:nth-child(3) > .list-item > ul > .hover-item .hover-child .child-item {
.comHeader .nav>ul>li .hover-product .product-list .plist:nth-child(3)>.list-item>ul>.hover-item .hover-child .child-item {
width: 24%;
-ms-flex-negative: 0;
flex-shrink: 0;
@@ -840,7 +834,7 @@ const handleLogin = (type) => {
margin-right: .5%
}
.comHeader .nav > ul > li .hover-product .product-list .plist .list-label {
.comHeader .nav>ul>li .hover-product .product-list .plist .list-label {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
@@ -855,13 +849,13 @@ const handleLogin = (type) => {
width: 40px
}
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item {
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1
}
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item > ul {
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item>ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
@@ -871,7 +865,7 @@ const handleLogin = (type) => {
flex-direction: row
}
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item {
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item {
background-color: #fff9ed;
border: 1px solid #e9d0af;
margin: 15px 10px 0;
@@ -880,18 +874,18 @@ const handleLogin = (type) => {
min-height: 200px;
}
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item .child-item {
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item .child-item {
line-height: 22px;
position: relative
}
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item .child-item-2 {
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item .child-item-2 {
position: absolute;
left: 0;
bottom: 12px;
}
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item .child-item:before {
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item .child-item:before {
background: #4bad52;
border-radius: 4px;
content: "";
@@ -903,7 +897,7 @@ const handleLogin = (type) => {
width: 6px
}
.comHeader .nav > ul > li .hover-product .product-list .plist .list-item .hover-item > .LNK {
.comHeader .nav>ul>li .hover-product .product-list .plist .list-item .hover-item>.LNK {
background-color: #7abf4c;
color: #fff;
height: 30px;
@@ -918,7 +912,7 @@ const handleLogin = (type) => {
transform: translate(-50%)
}
.comHeader .nav > ul > li > a {
.comHeader .nav>ul>li>a {
height: 63px;
line-height: 63px;
padding: 0 20px
@@ -963,7 +957,8 @@ const handleLogin = (type) => {
width: 11px
}
.LNK:link, .LNK:visited {
.LNK:link,
.LNK:visited {
color: #fff;
}
@@ -982,7 +977,9 @@ const handleLogin = (type) => {
row-gap: 20px
}
.menu-zh, .menu-zh .menu-row, .menu-zh .menu-row .menu-row-title {
.menu-zh,
.menu-zh .menu-row,
.menu-zh .menu-row .menu-row-title {
display: -webkit-box;
display: -ms-flexbox;
display: flex
@@ -1045,7 +1042,8 @@ const handleLogin = (type) => {
width: 2px
}
.menu-zh .menu-row .menu-row-items .menu-section .item-tit, .menu-zh .menu-row .menu-row-items .menu-section > ul {
.menu-zh .menu-row .menu-row-items .menu-section .item-tit,
.menu-zh .menu-row .menu-row-items .menu-section>ul {
margin: 0 20px
}
@@ -1134,7 +1132,8 @@ const handleLogin = (type) => {
padding: 15px
}
.menu-zh .menu-row.menu-row2 .menu-row-content .content2, .menu-zh .menu-row.menu-row2 .menu-row-content .content2 .link-item {
.menu-zh .menu-row.menu-row2 .menu-row-content .content2,
.menu-zh .menu-row.menu-row2 .menu-row-content .content2 .link-item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
@@ -1164,8 +1163,10 @@ const handleLogin = (type) => {
}
.menu-zh .menu-row.menu-row2 .menu-row-content.product-content-row2 {
background-color: #2d1d08 !important; /* 原智能运营平台背景色 */
border: 1px solid #ffa24b !important; /* 原智能运营平台边框 */
background-color: #2d1d08 !important;
/* 原智能运营平台背景色 */
border: 1px solid #ffa24b !important;
/* 原智能运营平台边框 */
margin-left: 10px !important;
padding: 10px 20px !important;
width: 100% !important;
@@ -1186,7 +1187,8 @@ const handleLogin = (type) => {
align-items: flex-start !important;
width: 24% !important;
padding: 15px 0 15px 15px !important; /* 调整内边距 */
padding: 15px 0 15px 15px !important;
/* 调整内边距 */
margin: 7px .5% 0 !important;
min-height: 100px;
@@ -1195,7 +1197,8 @@ const handleLogin = (type) => {
.link-item-title {
font-size: 14px;
font-weight: bold;
color: #ffcd68; /* 使用原 menu-row2 渐变的主色调 */
color: #ffcd68;
/* 使用原 menu-row2 渐变的主色调 */
display: block;
margin-bottom: 5px;
}
@@ -1210,19 +1213,22 @@ const handleLogin = (type) => {
.card-desc-row2 {
margin: 0;
line-height: 1.4;
min-height: 36px; /* 确保两行描述的空间 */
min-height: 36px;
/* 确保两行描述的空间 */
}
.link-item-link {
display: block;
margin-top: 5px;
color: #ffa24b; /* 链接颜色 */
color: #ffa24b;
/* 链接颜色 */
font-weight: 500;
}
.link-item-placeholder {
visibility: hidden;
width: 24% !important; /* 必须保留宽度 */
width: 24% !important;
/* 必须保留宽度 */
margin: 7px .5% 0 !important;
height: 0;
padding: 0 !important;

View File

@@ -11,91 +11,121 @@
</li>
</ul>
<!-- 全景大屏标签页 -->
<!-- 智能标签服务标签页 -->
<div class="tab-con con1 wow animated" v-show="activeTab === 0" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">全景大屏</h4>
<div class="l-desc">基于<strong>3D地球与热力图</strong>技术融合实时漏洞数据可视化展示全球开源风险分布及趋势变化</div>
<h4 class="l-tit">智能标签</h4>
<div class="l-desc">基于<strong>机器学习与知识图谱</strong>技术融合行业属性技术领域开源贡献组件画像四大标签体系可智能化为全量开源项目提供精准分类与多维度评分</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>资产全量梳理</h6>
<p>自动扫描企业全量软件资产深度解析项目依赖关系构建完整的软件物料清单SBOM覆盖开源组件第三方库的全维度信息</p></div>
<div class="list-con"><h6>多维标签体系</h6>
<p>自动为开源项目提供行业属性技术领域开源贡献组件画像四大类标签体系覆盖金融能源政务等12大行业分类支持AI框架云原生大数据等技术栈分类</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>数据标准化输出</h6>
<p>支持生成CycloneDXSPDX等国际标准SBOM格式兼容主流安全工具生态实现数据在不同平台间的无缝流通与对接</p></div>
<div class="list-con"><h6>智能画像分析</h6>
<p>支持公司地区维度的人才画像和贡献统计提供组件维护活跃度许可证合规性开发者信誉度供应链健康度等多维度评分</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>供应链全链路追溯</h6>
<p>为每个组件赋予唯一标识在安全事件发生时可快速定位受影响组件的传播路径与关联版本将应急响应时间缩短80%以上</p></div>
<div class="list-con"><h6>精准标签定位</h6>
<p>无需人工标注在全量开源项目中快速定位目标组件可根据行业属性和技术栈自动分类标签准确率达90%以上</p></div>
</div>
</div>
</div>
</div>
<!-- 极速预警标签页 -->
<!-- 态势可视标签页 -->
<div class="tab-con con2 wow animated" v-show="activeTab === 1" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">极速预警</h4>
<div class="l-desc">整合全球漏洞数据源实现漏洞披露感知与响应时间<strong> 5分钟</strong>提前规避安全风险</div>
<h4 class="l-tit">态势可视</h4>
<div class="l-desc">基于<strong>3D可视化与实时监控</strong>技术通过全网态势大屏实时情报推送攻击面管理等功能可全方位感知全球开源安全风险态势</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">检测机制</h5>
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>层级依赖解析</h6>
<p>深度构建项目的直接与间接依赖关系图谱穿透式扫描所有依赖层级确保无遗漏任何潜在的漏洞组件</p></div>
<div class="list-con"><h6>网态势监控</h6>
<p>基于3D地球与热力图技术实时可视化展示全球开源漏洞投毒攻击的爆发点及受影响行业分布提供全方位的安全态势</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>实时漏洞匹配</h6>
<p>同步NVDCNVDCNNVD等全球主流漏洞数据库毫秒级完成组件版本与CVE/CNVD漏洞的精准匹配并触发实时告警</p></div>
<div class="list-con"><h6>智能预警推送</h6>
<p>支持通过Webhook邮件短信等多渠道按需推送用户关注组件的风险动态基于SBOM清单自动映射威胁并生成受影响资产清单</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">修复指导</h5>
<div class="list-item"><i class="ICO 3"></i>
<div class="list-con"><h6>漏洞修复路径可视化</h6>
<p>直观展示漏洞在依赖链中的传播路径智能推荐最小成本修复方案如版本升级补丁部署组件替换降低修复难度与成本</p></div>
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>实时风险感知</h6>
<p>无需手动排查在安全事件发生时可快速定位受影响资产并推送预警信息响应速度提升80%以上</p></div>
</div>
</div>
</div>
</div>
<!-- 多维图谱标签页 -->
<!-- 情报定制服务标签页 -->
<div class="tab-con con3 wow animated" v-show="activeTab === 2" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">多维图谱</h4>
<div class="l-desc">构建<strong>组件-版本-漏洞-厂商四层知识图谱</strong>实现开源风险的关联分析与主动防御</div>
<h4 class="l-tit">情报定制</h4>
<div class="l-desc">基于<strong>灵活订阅与API对接</strong>机制提供情报订阅中心深度分析报告API数据对接等服务可满足企业个性化威胁情报需求</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">关键防御点</h5>
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>依赖混淆攻击识别</h6>
<p>实时检测私有包与公共仓库包的重名风险识别攻击者利用依赖混淆发起的投毒攻击从源头阻断攻击路径</p></div>
<div class="list-con"><h6>情报订阅中心</h6>
<p>支持按CVE编号组件PURL厂商名称等维度订阅专属情报流提供包含漏洞原理PoC验证代码补丁对比的深度分析报告</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>组件完整性校验</h6>
<p>通过哈希值校验数字签名验证等方式确保下载与部署的组件未被篡改防御中间人攻击与仓库投毒行为</p></div>
<div class="list-con"><h6>API数据对接</h6>
<p>提供RESTful API接口支持企业将漏洞库投毒库数据集成至自研的DevOps或安全平台实现无缝数据对接</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">主动拦截</h5>
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>异常行为智能分析</h6>
<p>对新增或变更组件进行深度行为画像识别网络连接敏感文件读写系统命令执行等高风险操作主动拦截后门与恶意组件植入</p></div>
<div class="list-con"><h6>灵活数据集成</h6>
<p>无需重复开发在现有安全平台基础上快速集成威胁情报可通过API实现自动化数据同步集成效率提升70%以上</p></div>
</div>
</div>
</div>
</div>
<!-- 应急响应标签页 -->
<div class="tab-con con4 wow animated" v-show="activeTab === 3" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">应急响应</h4>
<div class="l-desc">基于<strong>智能分级与协同指挥</strong>机制提供智能分级预警应急处置指引行业协同指挥等功能可快速响应安全事件并形成闭环管理</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>智能分级预警</h6>
<p>结合漏洞危害程度与资产重要性自动生成红蓝四级预警信号提供"临时止血"WAF规则"根源修复"版本升级双重应对方案</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>协同应急指挥</h6>
<p>支持监管机构一键下发排查指令并接收企业端的处置反馈形成闭环管理实现行业级协同应急响应</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>高效应急响应</h6>
<p>无需人工研判在安全事件发生后自动分级预警并提供处置方案可协助监管机构统一指挥应急响应时间缩短60%以上</p></div>
</div>
</div>
</div>
@@ -116,9 +146,10 @@ const props = defineProps({
});
const tabs = ref([
{ title: '全景大屏' },
{ title: '极速预警' },
{ title: '多维图谱' },
{ title: '智能标签' },
{ title: '态势可视' },
{ title: '情报定制' },
{ title: '应急响应' },
]);
const activeTab = ref(props.defaultTab);

View File

@@ -14,27 +14,39 @@
<div class="tab-con con1 wow animated" v-show="activeTab === 0" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">🤖 智能修复</h4>
<div class="l-desc">多智能体协同**不仅发现漏洞更自动生成修复补丁**实现漏洞发现分析修复的闭环自动化</div>
<h4 class="l-tit">漏洞检测</h4>
<div class="l-desc">基于AST语法树与CPG图构建技术结合静态分析动态增量分析AI语义理解等多种检测手段可自动化完成函数调用关系构建漏洞精准定位与去重</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">自动化修复能力</h5>
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>自动补丁生成 (A-Patch)</h6>
<p>基于代码语义分析和漏洞上下文智能体自动生成可用于 Git Pull Request 的最小化修复补丁无需手动编码</p></div>
<div class="list-con"><h6>函数调用图构建</h6>
<p>基于AST语法树的函数调用图构建支持RAG知识库Agent工作流AI工具集等代码检索工具实现自底向上分析函数索引全格式化</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>多版本兼容性验证</h6>
<p>在生成补丁后自动在目标组件的不同版本环境中进行兼容性测试确保修复方案不会引入新的功能性缺陷</p></div>
<div class="list-con"><h6>项目CPG图构建</h6>
<p>基于Joern的代码属性图构建通过Joern环境初始化CPG图构建终端叶子节点获取高风险函数排序等流程提供完整的代码语义和控制流信息</p></div>
</div>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>漏洞扫描与验证</h6>
<p>支持函数内嵌消除基于CPG图查询漏洞点污点风险点代码路径识别等功能结合Agent智能体实现代码片段索引污点分析可达性分析等深度检测提供大模型与形式化双重验证机制</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>加速安全合规</h6>
<p>将安全漏洞的平均修复时间MTTR从数小时或数天缩短至分钟级别极大提升 DevSecOps 流程的效率</p></div>
<div class="list-con"><h6>精准高效检测</h6>
<p>无需人工逐行审计在代码提交或构建阶段自动完成漏洞检测可通过静态分析与大模型协同构建函数调用关系检测准确率提升85%以上</p></div>
</div>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>智能去重降噪</h6>
<p>无需手动筛选重复告警在漏洞检测完成后自动识别并合并重复漏洞可将误报率降低70%大幅提升安全团队工作效率</p></div>
</div>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>持续增量分析</h6>
<p>无需全量重复扫描在代码变更时仅处理变更部分及影响范围可支持精准定位代码演进持续更新缩环快速迭代验证检测速度提升60%以上</p></div>
</div>
</div>
</div>
@@ -43,27 +55,39 @@
<div class="tab-con con2 wow animated" v-show="activeTab === 1" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">🧠 精准识别</h4>
<div class="l-desc">采用**多引擎联合检测**漏洞检测准确率 ** 95%**大幅降低误报干扰提高开发人员信任度</div>
<h4 class="l-tit">漏洞修复</h4>
<div class="l-desc">基于NVD数据库与多智能体协同修复技术结合高质量评估数据集测试环境构建RAG知识库等能力可自动化完成漏洞修复方案生成验证与测试</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">多引擎检测机制</h5>
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>静态代码分析 (SAST)</h6>
<p>从代码层面深入分析数据流和控制流识别潜在的注入越权等代码缺陷覆盖 OWASP Top 10</p></div>
<div class="list-con"><h6>评估数据集构建</h6>
<p>基于NVD数据库构建高质量评估数据集涵盖漏洞项目漏洞补丁漏洞利用测试套件等维度支持测试环境构建漏洞利用测试补丁测试等全流程验证</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>动态安全测试 (DAST)</h6>
<p>在运行时模拟外部攻击验证应用程序对已知漏洞模式的抵抗能力捕捉SAST遗漏的配置和环境问题</p></div>
<div class="list-con"><h6>多维漏洞知识提取与融合</h6>
<p>通过软件漏洞特征多维漏洞知识提取与融合技术整合全网函数信息级代码级函数级技术级等多层次知识基于自注意力机制的漏洞行定位技术保证漏洞知识相关性与可解释性</p></div>
</div>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>多智能体协同修复</h6>
<p>基于RAG知识库的多智能体协同修复系统包含漏洞修复智能体供应链修复智能体验证智能体测试智能体等支持记忆/决策工具集石线搜索工具动态执行工具等协同工作</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">结果优化</h5>
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>Taint-flow 路径追溯</h6>
<p>可视化展示从污染源Source到危害点Sink的完整数据路径提供高可信度的漏洞证据避免误报困扰</p></div>
<div class="list-con"><h6>智能修复建议</h6>
<p>无需人工编写修复代码在漏洞检测完成后自动生成修复方案可基于多维知识融合与大模型推理修复准确率提升75%以上</p></div>
</div>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>自动化验证测试</h6>
<p>无需手动构建测试环境在修复方案生成后自动完成漏洞利用测试与补丁验证可确保修复方案不引入新问题测试覆盖率达90%以上</p></div>
</div>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>可解释性保障</h6>
<p>无需担心黑盒修复风险在修复过程中提供完整的知识溯源与决策路径可清晰展示修复依据与影响范围提升安全团队信任度</p></div>
</div>
</div>
</div>
@@ -72,27 +96,80 @@
<div class="tab-con con3 wow animated" v-show="activeTab === 2" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">💬 安全问答</h4>
<div class="l-desc">集成**大规模语言模型LLM**支持自然语言交互快速解答代码安全法律合规等复杂难题</div>
<h4 class="l-tit">知识问答</h4>
<div class="l-desc">基于漏洞知识图谱构建与RAG检索增强技术结合多Agent漏洞语义增强系统与COT指令集训练可智能化回答安全领域专业问题提供高质量可解释的漏洞分析与修复建议</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">知识与交互</h5>
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>代码安全咨询</h6>
<div class="list-con"><h6>漏洞数据实时更新</h6>
<p>直接提问这段 Go 语言代码是否存在 SQL 注入风险即时获得分析结果安全建议与修复示例</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>开源许可证合规查询</h6>
<p>快速查询 GPLMITApache 等主流开源许可证的法律要求限制和兼容性避免潜在的法律风险</p></div>
<div class="list-con"><h6>漏洞知识图谱构建</h6>
<p>针对每种漏洞类型结合专业静态分析的漏洞底层知识提取技术提取漏洞知识并构建知识图谱基于大模型获取漏洞之间以及变量与补丁之间的联系构建变量类型知识图谱</p></div>
</div>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>知识图谱增强检测</h6>
<p>通过知识图谱的双阶段检测机制分阶段检索知识图谱获得漏洞与补丁知识增强大模型漏洞检测能力支持一阶段检测漏洞节点补丁节点和二阶段检测一阶段检测结果补丁节点知识图谱</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">集成与赋能</h5>
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>安全培训赋能</h6>
<p>将问答系统集成到开发环境作为实时安全导师辅助初级开发者理解漏洞原理和最佳安全实践</p></div>
<div class="list-con"><h6>专业知识支撑</h6>
<p>无需人工查阅大量文档在遇到安全问题时可快速获取专业知识与修复建议可基于知识图谱提供准确的漏洞分析问答准确率达92%以上</p></div>
</div>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>可解释性保障</h6>
<p>无需担心黑盒推理风险在回答问题时提供完整的推理链路与知识溯源可清晰展示答案依据与相关漏洞知识提升安全团队信任度</p></div>
</div>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>持续学习更新</h6>
<p>无需手动维护知识库在漏洞数据更新后自动增强知识图谱与模型能力可持续跟踪最新安全威胁知识覆盖率提升85%以上</p></div>
</div>
</div>
</div>
</div>
<div class="tab-con con4 wow animated" v-show="activeTab === 3" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">工具编排</h4>
<div class="l-desc">基于上下文构建项目CPG图构建漏洞扫描与分析验证等技术流程结合Agent智能体与多种安全分析工具可自动化完成代码安全检测漏洞定位与修复验证</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>上下文构建</h6>
<p>基于用户问题驱动的上下文环境构建通过用户查询理解Agent记忆检索相关代码文件提取上下文环境构建等流程为后续分析提供完整的代码上下文信息</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>项目CPG图构建</h6>
<p>基于Joern的代码属性图构建技术通过Joern环境初始化CPG图构建终端叶子节点获取高风险函数排序等步骤提供完整的代码语义和控制流信息</p></div>
</div>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>漏洞扫描与多工具协同</h6>
<p>支持函数内嵌消除基于CPG图查询漏洞点污点风险点及漏洞路径识别等功能集成静态分析工具动态测试工具符号执行工具等多种安全工具支持工具链自动编排与结果融合</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>自动化工具编排</h6>
<p>无需手动调用多个工具在检测任务启动后自动选择合适的工具组合并编排执行流程可根据代码特征智能调度工具检测效率提升70%以上</p></div>
</div>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>深度分析能力</h6>
<p>无需人工构建分析环境在代码提交后自动完成CPG图构建污点分析可达性分析等深度检测可精准定位漏洞路径与风险点分析准确率达88%以上</p></div>
</div>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>智能结果融合</h6>
<p>无需手动整合多工具结果在检测完成后自动融合各工具输出并去重降噪可生成统一的漏洞报告与修复建议结果可用性提升80%以上</p></div>
</div>
</div>
</div>
@@ -113,9 +190,10 @@ const props = defineProps({
});
const tabs = ref([
{ title: '智能修复' },
{ title: '精准识别' },
{ title: '安全问答' },
{ title: '漏洞检测' },
{ title: '漏洞修复' },
{ title: '知识问答' },
{ title: '工具编排' },
]);
const activeTab = ref(props.defaultTab);

View File

@@ -13,27 +13,27 @@
<div class="tab-con con1 wow animated" v-show="activeTab === 0" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">🔍 双模引擎</h4>
<div class="l-desc">支持**源码Source Code及二进制文件Binary**的深度成分分析SCA 实现组件资产的**无死角清点**</div>
<h4 class="l-tit">平台服务</h4>
<div class="l-desc">提供用户友好的Web界面和API支持项目管理扫描任务配置结果可视化和自定义报告</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">SCA 核心能力</h5>
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>源码级依赖解析</h6>
<p>针对 Maven, npm, Go Modules 等项目精确分析直接和间接依赖关系构建完整的代码级软件物料清单SBOM</p></div>
<div class="list-con"><h6>平台展示及用户交互</h6>
<p>提供用户友好的Web界面和API支持项目管理扫描任务配置结果可视化和自定义报告包括仪表盘图表和交互式元素帮助用户快速理解供应链风险</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>二进制指纹识别 (Binary Fingerprinting)</h6>
<p>即使没有源代码也能通过文件结构符号表熵分析等技术识别出二进制文件和固件中所包含的开源组件</p></div>
<div class="list-con"><h6>数据管理</h6>
<p>负责内部和外部数据的采集存储清洗和更新包括漏洞数据组件信息许可证文本和恶意代码特征支持数据版本控制和一致性检查确保数据准确性与时效性</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>兼容复杂交付场景</h6>
<p>完美适配黑盒交付固件分析等场景确保在**缺乏源码****供应链中间环节**也能对组件风险进行全面审计</p></div>
<div class="list-con"><h6>高效管理</h6>
<p>通过直观的界面和强大的API实现项目的高效管理和数据的准确维护提升整体工作效率</p></div>
</div>
</div>
</div>
@@ -42,56 +42,86 @@
<div class="tab-con con2 wow animated" v-show="activeTab === 1" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">📜 合规落地</h4>
<div class="l-desc">**一键生成符合国家标准的 SBOM 清单** 支持开源许可证检测助力企业快速满足法规和行业要求</div>
<h4 class="l-tit">成分分析</h4>
<div class="l-desc">覆盖主流包管理器npmPyPIMaven等C/C++项目及二进制文件全面识别组件版本及潜在风险输出标准化SBOM报告</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">SBOM 与标准输出</h5>
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>多格式标准支持</h6>
<p>支持 CycloneDXSPDX 等国际标准格式同时兼容软件物料清单SBOM技术要求等国家标准</p></div>
<div class="list-con"><h6>全面成分识别</h6>
<p>支持包管理器C/C++项目及二进制文件的成分分析通过依赖引擎代码相似度检测反编译与特征匹配等技术自动识别组件版本及潜在风险</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>关键信息深度采集</h6>
<p>SBOM 清单包含组件名称版本哈希值依赖关系许可证信息及关联的已知漏洞CVE等全维度数据</p></div>
<div class="list-con"><h6>特征检索与版本推断</h6>
<p>基于TF-IDF特征检索技术通过特征签名和组件召回模型全面匹配从复杂依赖关系中精准定位版本来源输出标准化SBOM格式化报告</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">许可证合规管理</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>GPL 传染性风险评估</h6>
<p>自动识别具有强传染性风险的许可证并标记其在依赖链中的位置辅助法务和开发团队制定合规策略</p></div>
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>深度依赖分析</h6>
<p>支持多层级依赖关系分析完整呈现软件供应链全貌帮助企业快速定位潜在安全隐患与合规风险</p></div>
</div>
</div>
</div>
</div>
<div class="tab-con con3 wow animated" v-show="activeTab === 2" style="visibility: visible;">
<div class="tab-con con5 wow animated" v-show="activeTab === 2" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">🚀 高效检测</h4>
<div class="l-desc">**标准场景检测耗时 30分钟**具备线性扩展能力快速适配 CI/CD 流水线 实现安全左移</div>
<h4 class="l-tit">安全检测</h4>
<div class="l-desc">综合多个数据源和引擎结果检测供应链中的安全漏洞并提供修复建议和优先级排序</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">集成与性能</h5>
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>DevSecOps 无缝集成</h6>
<p>提供 Jenkins, GitLab, GitHub Actions 等主流 CI/CD 工具链的插件和 API 接口实现自动化安全扫描</p></div>
<div class="list-con"><h6>供应链漏洞检测</h6>
<p>综合多个数据源和引擎结果检测供应链中的安全漏洞并提供修复建议和优先级排序支持漏洞影响范围分析与风险评估</p></div>
</div>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>增量扫描优化</h6>
<p>在非首次扫描时仅对变更的代码和依赖进行检测将平均检测时间进一步缩短至数分钟</p></div>
<div class="list-con"><h6>恶意代码检测</h6>
<p>集成恶意代码扫描功能通过特征码和行为分析识别供应链中的恶意组件支持投毒攻击检测与异常行为分析</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">部署优势</h5>
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico3"></i>
<div class="list-con"><h6>高并发与可扩展性</h6>
<p>基于微服务和容器化架构设计轻松应对大规模代码仓库和高并发的扫描请求支持私有化部署</p></div>
<div class="list-con"><h6>精准漏洞检测</h6>
<p>在成分分析完成后自动匹配已知漏洞并评估风险等级可提供修复建议与优先级排序漏洞检出率提升90%以上</p></div>
</div>
<div class="list-item"><i class="ICO ico4"></i>
<div class="list-con"><h6>恶意代码防护</h6>
<p>在组件引入前自动检测恶意代码与异常行为可识别后门木马等安全威胁恶意组件检出率提升85%以上</p></div>
</div>
</div>
</div>
</div>
<div class="tab-con con6 wow animated" v-show="activeTab === 3" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">许可证合规</h4>
<div class="l-desc">分析软件组件的许可证信息检查兼容性和合规性避免法律冲突</div>
</div>
</div>
<div class="item-r">
<div class="item-list">
<h5 class="list-tit">核心能力</h5>
<div class="list-item"><i class="ICO ico1"></i>
<div class="list-con"><h6>许可证兼容性检测</h6>
<p>分析软件组件的许可证信息检查兼容性和合规性避免法律冲突支持多种开源许可证识别与冲突检测</p></div>
</div>
</div>
<div class="item-list">
<h5 class="list-tit">价值体现</h5>
<div class="list-item"><i class="ICO ico2"></i>
<div class="list-con"><h6>合规性保障</h6>
<p>在组件识别后自动检测许可证兼容性与合规性问题可避免法律风险与开源协议冲突合规检测覆盖率达98%以上</p></div>
</div>
</div>
</div>
@@ -112,9 +142,10 @@ const props = defineProps({
});
const tabs = ref([
{ title: '双模引擎' },
{ title: '合规落地' },
{ title: '高效检测' },
{ title: '平台服务' },
{ title: '成分分析' },
{ title: '安全检测' },
{ title: '许可证合规' },
]);
const activeTab = ref(props.defaultTab);

View File

@@ -13,7 +13,7 @@
<div class="tab-con con1 wow animated" v-show="activeTab === 0" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">🔍 极速扫描服务</h4>
<h4 class="l-tit">极速扫描</h4>
<div class="l-desc">百万级样本秒级初筛能力支持海量应用快速筛查检测准确率高达99%</div>
</div>
</div>
@@ -50,7 +50,7 @@
<div class="tab-con con2 wow animated" v-show="activeTab === 1" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">🔬 深度分析服务</h4>
<h4 class="l-tit">深度分析</h4>
<div class="l-desc">精准定位恶意逻辑核心可视化展示攻击路径分析准确率达88%以上</div>
</div>
</div>
@@ -87,7 +87,7 @@
<div class="tab-con con3 wow animated" v-show="activeTab === 2" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">🛡 持续免疫服务</h4>
<h4 class="l-tit">持续免疫</h4>
<div class="l-desc">自适应进化检测模型秒级响应恶意变种支持跨平台识别演进</div>
</div>
</div>
@@ -124,7 +124,7 @@
<div class="tab-con con4 wow animated" v-show="activeTab === 3" style="visibility: visible;">
<div class="item-l">
<div class="l-txt">
<h4 class="l-tit">🌐 威胁情报服务</h4>
<h4 class="l-tit">威胁情报</h4>
<div class="l-desc">强调Zero-day预警家族溯源全球态势498+31个恶意软件挖掘实绩</div>
</div>
</div>
@@ -173,10 +173,10 @@ const props = defineProps({
});
const tabs = ref([
{ title: '极速扫描服务' },
{ title: '深度分析服务' },
{ title: '持续免疫服务' },
{ title: '威胁情报服务' },
{ title: '极速扫描' },
{ title: '深度分析' },
{ title: '持续免疫' },
{ title: '威胁情报' },
]);
const activeTab = ref(props.defaultTab);