试用清华Chatglm智能体

清华AI平台,感觉在见过的国内AI平台中做的是比较优秀的,目前该平台提供的智能体功能感觉更智能或者说更傻瓜式一些。定义可以定义专属智能体,这些智能体是自己想要的网络上的汇集处理后的信息,或者是绘画或者是编写某个方面的代码等等,简单理解是上述这样。那现在软件安全威胁情报收集有很多公司在做,还有一些公司提供威胁情报服务,那借助AI平台是否可以实现该功能呢?

要创建专属智能体,你需要做的就是提供智能体的描述,越详细针对性越强。例如:我想了解一下最近的软件安全漏洞情报信息,你能帮我收集汇总一下吗?输入后,AI平台会分析我们想要得到信息,则AI平台会根据我们的输入,给出所创建智能体的描述:

这些描述看起来还是比较专业,当然我们也可以修改这些描述,让AI生成的智能体更符合我们的需要。平台会给出推荐问题,我们也可以在后面添加常见的推荐问题。同时可以上传自己的知识库,可以让AI平台从自己的知识库中提炼数据。

我们先看平台自动生成的智能体,不提供自己的数据文件。我输入问题:最近除了微软暴漏出的安全漏洞之外,还有那些比较重要的安全漏洞呢?

这个描述还不错,但是似乎并不是我想要的问题,我把问题改成:最近软件安全漏洞有哪些呢,我要一份安全漏洞情报。则输出如下:

接着问:除了微软的安全漏洞情报之外,还有没有其它软件的漏洞情报。

还是以微软的安全漏洞比较多,回答并不是太准确。那我使用创建智能体时,给出的推荐问题呢? 看看是否更准确和全面一些。

还是以微软的问题为主。我换个角度再问:2024年初,给我一份完整的全球软件安全漏洞情报吗?

感觉这次回答还是比较好。接着一步问:针对7-card Fakabao漏洞,有对应的POC吗?

我百度了一下,该安全漏洞检索信息非常少,因为智能体是从网络获取的搜索结果的聚合,应该是没有POC,也就是算零day漏洞。

平台上面有一个发布按钮,但是应该是还没有实现对外发布功能。整个平台功能还是比较全面,使用也没有门槛和过多要求。例如,我试用了一下威胁建模:针对软件登录功能,你能帮我做威胁建模吗?其回答是长文本,非常全面。

当然可以。威胁建模是一种系统的安全分析方法,它可以帮助我们识别和评估针对软件系统的潜在威胁。在进行威胁建模时,我们通常使用一些特定的框架和方法,例如STRIDE、Mitre ATT&CK等。下面我将使用STRIDE威胁建模方法来对软件的登录功能进行威胁建模。

STRIDE威胁建模

STRIDE是一个用于识别软件安全威胁的框架,它代表了以下七个威胁类别:

Spoofing(欺骗):攻击者可能会试图冒充合法用户。

Tampering(篡改):攻击者可能会试图修改数据或组件。

Repudiation(抵赖):攻击者可能会试图否认他们的行为。

Information Disclosure(信息泄露):敏感信息可能会被未授权的访问。

Denial of Service(服务拒绝):攻击者可能会试图阻止合法用户访问服务。

Elevation of Privilege(权限提升):攻击者可能会试图获取超出他们权限的访问权限。

Destruction(破坏):攻击者可能会试图破坏系统或数据。

针对登录功能的威胁分析

Spoofing(欺骗):

攻击者可能会尝试使用被盗或伪造的凭证登录系统。

测试用例:使用错误的用户名和/或密码尝试登录。

Tampering(篡改):

攻击者可能会尝试篡改登录表单或数据库中的用户信息。

测试用例:在登录过程中修改表单数据或直接篡改数据库。

Repudiation(抵赖):

用户可能会否认他们进行了某些登录操作。

测试用例:检查登录日志,验证操作的可追溯性。

Information Disclosure(信息泄露):

敏感信息(如用户名、密码、会话令牌)可能在传输过程中被截获。

测试用例:使用抓包工具监控登录过程中的数据传输。

Denial of Service(服务拒绝):

攻击者可能会尝试通过多次登录尝试或恶意流量来淹没登录服务器。

测试用例:模拟大量的登录请求,检查系统的响应能力和稳定性。

Elevation of Privilege(权限提升):

攻击者可能会尝试利用登录功能来获取更高的权限。

测试用例:尝试使用普通用户的凭证执行管理员操作。

Destruction(破坏):

攻击者可能会尝试通过登录功能破坏系统或数据。

测试用例:尝试进行非法操作或执行恶意代码。

防御措施

针对上述威胁,可以采取以下防御措施:

使用强认证机制,如双因素认证。

对所有登录尝试进行日志记录和监控。

使用HTTPS协议来保护数据传输的安全。

对用户输入进行验证和清理,以防止SQL注入等攻击。

实现速率限制和异常检测机制,以防止暴力破解和拒绝服务攻击。

对敏感数据进行加密存储和传输。

通过上述威胁建模分析,我们可以更好地理解登录功能可能面临的安全风险,并采取相应的防御措施来提高系统的安全性。

这些的回答我感觉到这平台语料非常丰富。那我再问一个深入一点的问题:针对银行某核心业务系统软件的网上支付功能,你能帮我做威胁建模吗?

针对网上支付功能的威胁分析

Spoofing(欺骗):

攻击者可能会尝试冒充合法用户进行支付。

测试用例:使用伪造的用户账户尝试支付。

Tampering(篡改):

攻击者可能会尝试篡改支付请求或修改交易数据。

测试用例:在支付过程中修改表单数据或直接篡改数据库。

Repudiation(抵赖):

用户可能会否认他们进行了某笔支付操作。

测试用例:检查支付日志,验证操作的可追溯性。

Information Disclosure(信息泄露):

敏感支付信息可能在传输过程中被截获。

测试用例:使用抓包工具监控支付过程中的数据传输。

Denial of Service(服务拒绝):

攻击者可能会尝试通过大量支付请求或恶意流量来淹没支付服务器。

测试用例:模拟大量的支付请求,检查系统的响应能力和稳定性。

Elevation of Privilege(权限提升):

攻击者可能会尝试利用支付功能来获取更高的权限。

测试用例:尝试使用普通用户的凭证执行管理员操作。

Destruction(破坏):

攻击者可能会尝试通过支付功能破坏系统或数据。

测试用例:尝试进行非法操作或执行恶意代码。

完全按照STRIDE建模方法论建模的结果,感觉非常强大了。

那代码审计功能呢?上篇文章中的代码审计功能,我看看是否同样强大。

bool Vars_ActivePatch_AddData(char* name, void* data, UINT data_size)

{

    UINT name_size;

    UINT i;

    ACTIVE_PATCH_ENTRY* target = NULL;

    if (StrLen(name) == 0return false;

    for (i = 0;i < MAX_ACTIVE_PATCH;i++)

    {

        ACTIVE_PATCH_ENTRY* e = &ActivePatchList[i];

        if (e->Name != NULL && StrCmpi(e->Name, name) == 0)

        {

            target = e;

            break;

        }

        if (e->Name == NULL)

        {

            target = e;

            break;

        }

    }

    if (target == NULL)

    {

        return false;

    }

    name_size = StrSize(name) + 4;

    target->Name = malloc(name_size);

    memset(target->Name, 0, name_size);

    StrCpy(target->Name, name_size, name);

    target->Data = malloc(data_size + 4);

    memset(target->Data, 0, data_size + 4);

    Copy(target->Data, data, data_size);

    

    target->DataSize = data_size;

    return true;

}

这是结果:

在审核您提供的代码段时,我发现了几个潜在的问题,并提出了相应的解决方案:

空指针检查:在分配内存之前,应该检查malloc返回的指针是否为NULL。

内存泄漏:如果malloc失败,没有处理这种情况,可能导致内存泄漏。

数据复制函数:使用了Copy函数,但没有提供该函数的定义。应该使用memcpy或类似的函数来复制内存。

字符串长度计算:使用了StrSize和StrCpy函数,但没有提供这些函数的定义。应该使用标准C函数如strlen和strcpy。

大小计算:在计算name_size时,没有考虑name字符串末尾的 null 终止符。

代码可读性:代码中的一些条件判断可能需要更清晰的注释来提高可读性。

下面是修改后的代码,解决上述问题,并使用标准C函数替换了未定义的函数:

c

复制

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

// 假设这些是之前定义的宏或结构体

#define MAX_ACTIVE_PATCH 100

typedef struct {

    char* Name;

    void* Data;

    UINT DataSize;

} ACTIVE_PATCH_ENTRY;

// 假设这是一个全局数组

ACTIVE_PATCH_ENTRY ActivePatchList[MAX_ACTIVE_PATCH];

bool Vars_ActivePatch_AddData(char* name, void* data, UINT data_size)

{

    UINT i;

    ACTIVE_PATCH_ENTRY* target = NULL;

    if (name == NULL || data_size == 0) return false;

    for (i = 0; i < MAX_ACTIVE_PATCH; i++)

    {

        ACTIVE_PATCH_ENTRY* e = &ActivePatchList[i];

        if (e->Name == NULL)

        {

            target = e;

            break;

        }

        if (strcmp(e->Name, name) == 0)

        {

            target = e;

            break;

        }

    }

    if (target == NULL)

    {

        return false;

    }

    UINT name_size = strlen(name) + 1; // 包括末尾的 null 终止符

    char* new_name = malloc(name_size);

    if (new_name == NULL) return false; // 内存分配失败

    memset(new_name, 0, name_size);

    strcpy(new_name, name); // 复制字符串

    void* new_data = malloc(data_size + 4); // 分配足够的空间用于数据和 null 终止符

    if (new_data == NULL) { free(new_name); return false; } // 内存分配失败

    memset(new_data, 0, data_size + 4);

    memcpy(new_data, data, data_size); // 复制数据

    target->Name = new_name;

    target->Data = new_data;

    target->DataSize = data_size;

    return true;

}

int main()

{

    // 示例调用

    if (Vars_ActivePatch_AddData("test", "some data", 10))

    {

        printf("Data added successfully.\n");

    }

    else

    {

        printf("Failed to add data.\n");

    }

    return 0;

}

在这个修改后的版本中,我使用了strcpy和memcpy来复制字符串和数据,并且在分配内存失败时进行了适当的错误处理。此外,我还添加了对name参数的NULL检查,以及对data_size的零值检查。这些修改旨在提高代码的稳定性和安全性。

虽然给出了代码修复函数,但是对整个代码缺陷的分析没有ChatGpt 3.5分析的更准确。

今天清华Chatglm试用就到这里,下次我上传一个文件,看看是否回答问题更全面。

(结束)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/326963.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

16.桥接模式

桥接模式 介绍 桥接模式是一种结构型设计模式&#xff0c;它通过将抽象部分与实现部分分离&#xff0c;使它们可以独立变化。这种模式通过组合的方式来实现&#xff0c;而不是继承。桥接模式通过将抽象和实现解耦&#xff0c;从而实现抽象和实现的分离&#xff0c;使得系统更加…

数字人系统OEM流程:部署AI数字人系统源码需要注意哪些?

随着数字化技术的不断发展&#xff0c;数字人SaaS系统源码的部署已经成为许多企业关注的焦点。数字人SaaS系统源码的部署可以帮助企业降低成本、提高运营效率&#xff0c;为企业提供更加高效的服务。然而&#xff0c;在部署数字人SaaS源码时&#xff0c;有一些须知事项需要我们…

SpringAOP-说说 JDK动态代理和 CGLIB 代理

Spring 的 AOP 是通过动态代理来实现的&#xff0c;动态代理主要有两种方式 JDK 动态代理和 Cglib 动态代理&#xff0c;这两种动态代理的使用和原理有些不同。 JDK 动态代理 Interface&#xff1a;JDK动态代理是基于接口的代理&#xff0c;它要求目标类实现一个接口。Invoca…

内存四区图练习

带着白卡去旅行 绘制图中三种情况的内存四区图 一个实参 一个形参 取地址 通过指针修改变量 返回 多级指针的训练 #define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #include<stdio.h> #include<string.h> #include<math.h>int getMem(char***p3,…

模拟记事本

1. 模拟记事本 设计一个记事本 &#xff08;1&#xff09;更改字体颜色 &#xff08;2&#xff09;更改字体大小 &#xff08;3&#xff09;新建记事本 &#xff08;4&#xff09;查找记事本中的数据 &#xff08;5&#xff09;设置消息提示 &#xff08;6&#xff09;设置粘贴…

蓝莓产量预测(R语言版)

数据描述 字段名 描述 字段名 描述 id 蓝莓唯一标识 MinOfUpperTRange 花期内最高温带日平均气温的最低记录, Clonesize 蓝莓克隆平均大小 AverageOfUpperTRange 花期内最高温带日平均气温, Honeybee 蜜蜂密度 MaxOfLowerTRange 花期内最低温带日平均气温的最…

GEE:机器学习分类中每个类别的概率图像可视化

作者:CSDN @ _养乐多_ 在 Google Earth Engine(GEE) 中应用机器学习分类器进行多分类时,有一个需求是想知道每个像素对于每个类别的分类概率。 比如在进行随机森林分类时,每个决策树会生成一个类别,通过投票选择票数最多的类别作为最终分类。除了最终分类结果,其他类别…

【昕宝爸爸小模块】浅谈之创建线程的几种方式

➡️博客首页 https://blog.csdn.net/Java_Yangxiaoyuan 欢迎优秀的你&#x1f44d;点赞、&#x1f5c2;️收藏、加❤️关注哦。 本文章CSDN首发&#xff0c;欢迎转载&#xff0c;要注明出处哦&#xff01; 先感谢优秀的你能认真的看完本文&…

开源鸿蒙适配芯片到底都做了哪些工作?

随着智能设备市场的不断扩大和技术的进步&#xff0c;鸿蒙操作系统成为了备受瞩目的开源项目。作为一个全场景智能生态的基础&#xff0c;鸿蒙不仅仅是一个操作系统&#xff0c;还涉及到硬件层面的适配。然而&#xff0c;开源鸿蒙芯片适配并非易事&#xff0c;面临着一些难点和…

国内外好用的 LLM 列表

视频来源&#xff1a;https://www.bilibili.com/video/BV1c64y157Qm/?vd_source1e841703c91b5b77fd20e5707bae49d2 下图是测试括号闭合能力的得分

PointMixer: MLP-Mixer for Point Cloud Understanding

Abstract MLP-Mixer 最近崭露头角,成为对抗CNNs和Transformer领域的新挑战者。尽管相比Transformer更为简单,但通道混合MLPs和令牌混合MLPs的概念在图像识别任务中取得了显著的性能。与图像不同,点云本质上是稀疏、无序和不规则的,这限制了直接将MLP-Mixer用于点云理解。为…

推荐系统模型(一) DFN 详解 Deep Feedback Network for Recommendation

背景 在大多数的推荐系统中&#xff0c;往往注重于隐式正反馈(例如&#xff1a;点击)&#xff0c;而忽略掉用户的其他行为(例如大多数CTR模型只考虑用户的喜欢&#xff0c;而忽略了不喜欢)。腾讯在Deep Feedback Network for Recommendation 一文中&#xff0c;提出了一个新颖…

鸿蒙开发工程师会不会有很好的就业前景?

一&#xff0c;鸿蒙带动IT开发和应用整体结构的变革 1月11日&#xff0c;以鸿蒙为首的华为概念股大幅走强&#xff0c;创业板创识科技拉升封板&#xff0c;传智教育、智度股份、高新发展、立达信、吉大正元等多股涨停&#xff0c;华亚电子、九联科技、软通动力、辰奕智能、芯海…

【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(排查问题指令 - 下)

带你一同学习和实践操作Linux服务器必学的Shell指令 前提介绍more和less命令用法more命令命令格式命令参数 常用操作命令案例分析显示文件中从第3行起的内容将日志内容设置为每屏显示4行快速定位和显示文件中包含特定字符串结合管道和more命令来分页显示 less指令命令格式搜索指…

DataFunSummit:2023年云原生大数据峰会:核心内容与学习收获(附大会核心PPT下载)

随着数字化转型的深入推进&#xff0c;大数据技术已经成为企业获取竞争优势的关键因素之一。本次峰会汇聚了业界顶尖的大数据专家、企业领袖和技术精英&#xff0c;共同探讨云原生大数据领域的最新技术和趋势。本文将深入分析峰会的核心内容&#xff0c;并探讨参会者从中能学到…

大数据之谷歌文件系统论文 GFS The Google File System

原文地址 谷歌文件系统论文 摘要 我们设计并实现了Google文件系统&#xff0c;这是一个面向大规模分布式数据密集型应用的可扩展分布式文件系统。 它在廉价的通用硬件上运行&#xff0c;提供了容错性&#xff0c;并向大量客户端提供高聚合性能。 尽管与先前的分布式文件系统…

vue知识-07

ref # 放在组件上&#xff1a; this.$refs.名字 ---组件对象.组件对象.属性 # 在vue项目中使用: // 写在组件上 <HelloWorld ref"my_hello_world"></HelloWorld>handleClick() {console.log(this.$refs)this.$refs.my_hello_world.name # 获取子组件中…

CSS3十大滤镜效果详解

滤镜效果 类似于美颜相机、美图秀秀这样的美颜工具&#xff0c;能够让我们轻松地应用多种特效&#xff0c;例如转换为黑白照片、复古风格化、调整亮度等。在之前仅凭CSS几乎很难做到这些效果。 但在CSS3的语法中&#xff0c;所有的这些视觉特效都是通过“filter”属性来快速实…

基于Java+SSM的技术的社区人口管理系统详细设计和实现【附源码】

基于JavaSSM的技术的社区人口管理系统详细设计和实现 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 …

备份和容灾讲解

备份和容灾 &#xff08;1&#xff09;容灾&#xff08;容许灾难的发生&#xff09;是一种架构方案&#xff0c;包括了很多方案&#xff0c;如下 本地高可用 双活&#xff08;特指存储&#xff0c;可以理解为两端同时对外提供服务&#xff09;&#xff1a;通过一个双写模块把…