鬼故事 - 我不晓得这东西为甚麽会动

鬼故事 - 我不晓得这东西为甚麽会动

https://ithelp.ithome.com.tw/upload/images/20210909/20141165P0Bsw3AdUU.jpg
source: starecat.com

故事开始

故事主角:小弯

这次的故事又回到 RD 小弯的身上了,
小弯自从上次进公司发现许多程序的漏洞,并且发现程序码里面有一些奇怪的现象。
这些现象包括:

  • 变数名称不统一甚至跟功能完全无关
  • 无效的变数很多
  • coding style 不同,但却都出自同一人
  • 或多或少还有一些奇怪的 BUG/漏洞

小弯发现这个东西都出自同一人手中,便开始观察这位同事,
观察之後发现这位同事非常喜欢去 StackOverflow 复制贴上程序码,
其实小弯自己也常去上面找一些问题的答案。

但小弯发现这个同事也 copy 太多了吧,而且并没有去了解程序码的运作,
单纯觉得会动就贴上去了,难怪一个人像是精神分裂有三十几种 coding style。

可怕的是,小弯发现他们单位有一半的 RD 都是这样写程序的,
而这些可能还存放着你的资料或是替你守护资料...

资安探讨

其实复制程序码这件事没有甚麽对错,
重用别人程序码减少了开发人员的时间,可以将时间更多专注在重要的功能上,
但如果在复制别人程序码并没有注意内容将安全漏洞同时复制了呢?

其实这件事情在 2018 年就有人研究了,论文连结
而这件事还曾经上过 BBC News https://www.bbc.com/news/technology-49960387
有趣的是这些被研究的主体已 C/C++ 为主,或许是因为这类型的语言大家最不会写也最懒的 code review吧。

作为程序开发人员在复制贴上程序码之前,请先阅读程序本身。
就连开源专案编译的时候也请注意是不是可靠来源,曾经也出现针对研究人员/开发人员所出的攻击,
趁你编译程序的时候执行恶意程序,这种操作已经有许多历史案例,应要多加注意。


<<:  D9 - 如何用 Google Apps Script 自动化对 Google Drive 的操作?(一)列出所有档案 ID 与相关资讯

>>:  绘制便利贴以及定义模型

尚气与十环传奇

尚气与十环传奇在线观看 漫威影业荣誉出品史诗冒险《尚气与十环传奇》,结合前所未见的震撼性动作、令人惊...

DAY1 学习动机与选择原因

这是一个在疫情期间无法去学校上课且刚放暑假的我, 为了自己的目标和理想所以努力的学习, 在完成了前一...

Java:观念厘清(新手用)-单元运算子a++与++a的差异

本篇用记录笔者在上课时,笔记a++与++a的差异。 单看结果虽然都是一样,但是搭配其他运算及操作时,...

[ JS个人笔记 ] const、let、var的区别—DAY3

主要区别 var: 变数未宣告前使用,会出现undefined var为函式作用域(function...