草庐IT

请收下这十个安全相关的开源项目

HelloGitHub 2023-03-28 原文
开源为我们的开发带来了极大便利,但这些便利也伴随着一些安全隐患。每当项目引入一个库、框架、服务时,随之而来的安全风险也不可忽视。

所以,当开源吞噬世界的时候,代码安全就更得重视了。今天 HelloGitHub 就给大家带来了 10 款关于安全主题的开源项目,涵盖了编码安全、Web 安全、工具三个方面,虽不能做到面面俱到,但希望它可以抛砖引玉,借此唤起大家的安全意识。

如果你早就认识到代码安全的重要性,那这些开源项目中肯定也有适合你的一款,话不多说,下面就开始今天的“安全教育”。

一、编码安全

从编码习惯入手,提高安全意识。

1、secguide

腾讯开源的代码安全指南。该项目包含:C/C++、Python、JavaScript、Java、Go 等语言的安全编码指南,内容简单易懂能够帮助开发者,在代码源头规避安全风险、减少漏洞。

地址:https://github.com/Tencent/secguide

2、safe-rules

由 360 质量工程部开源的《代码安全规则集合》。一份全面详细的 C/C++ 编程规范指南,适用于桌面、服务端以及嵌入式等软件开发。

地址:https://github.com/Qihoo360/safe-rules

二、Web 安全

通过检查容易出错的地方,从而保证 Web 服务的安全性。

3、security-guide-for-developers

实用的 Web 开发人员安全须知。作为一个 Web 开发者,你应该在实际工作中认真、经常地使用这套列表,能够有效地减少安全隐患。

地址:https://github.com/FallibleInc/security-guide-for-developers

4、Learn-Web-Hacking

一份很全面的 Web 安全学习笔记,内容包括网络协议、信息收集、常见漏洞攻防、内网渗透等。

地址:https://github.com/LyleMi/Learn-Web-Hacking

5、Top10

该项目由 OWASP 社区(开放式 Web 应用程序安全项目)一个致力于提高软件安全性的非盈利基金会维护,OWASP Top 10 是针对 Web 应用程序的 10 大安全风险提示。

地址:https://github.com/OWASP/Top10

6、API-Security-Checklist

开发安全的 API 所需要核对的清单。在设计、测试和发布 API 的时候,需要核对的重要安全措施。

地址:https://github.com/shieldfy/API-Security-Checklist

三、工具

代码千万行,安全第一行。代码量多了,就得借助工具来发现安全隐患啦。

7、nuclei

基于 YAML 语法模板的定制化快速漏洞扫描器,工程师可以轻松地使用它创建一套自定义的检查方式。

支持多种协议:TCP、DNS、HTTP 等。

通过工作流和动态请求实现复杂的漏洞扫描。

易于集成到 CI/CD,可以轻松的集成到发布流程上。

地址:https://github.com/projectdiscovery/nuclei

8、gitleaks

一款静态应用程序安全测试(SAST)工具。它可以检测 Git 项目中是否包含密码、API Key、token 等敏感信息,还能够轻松整合到 Git Hook 和 GitHub Action,实现提交代码时自动检测,通过告警和阻止 push 等方式,有效地防止敏感信息泄漏。

地址:https://github.com/zricethezav/gitleaks

9、trivy

一款全面的容器安全扫描工具。当下最流行的开源容器镜像漏洞扫描工具,拥有速度快、精准度高、依赖检测、机密检查、对 CI 友好等特点。它不仅安装简单而且容易上手,仅需一条命令,即可发现镜像存在的安全漏洞。

地址:https://github.com/aquasecurity/trivy

10、vulhub

一个面向大众的开源漏洞环境集合。无需 Docker 知识,仅需通过一条简单的命令,就能跑起来一个存在某个漏洞的完整应用。使得安全研究人员能够方便地复现与研究漏洞,省去了学习复杂的部署知识、寻找有漏洞的旧版本应用、搭建依赖的服务等麻烦。

地址:https://github.com/vulhub/vulhub

最后

本期的项目虽然没有太多的趣味性,但都是良心之作“苦口婆心”。代码安全无小事,只有不出事和事故两种情况,嘴上喊一万遍“安全第一”(我都懂,空了就改),不如立马带上个“安全帽”(跑个安全扫描器)来得实在。

有关请收下这十个安全相关的开源项目的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  3. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  4. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  5. ruby-on-rails - 相关表上的范围为 "WHERE ... LIKE" - 2

    我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que

  6. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  7. ruby - 如何安全地删除文件? - 2

    在Ruby中是否有Gem或安全删除文件的方法?我想避免系统上可能不存在的外部程序。“安全删除”指的是覆盖文件内容。 最佳答案 如果您使用的是*nix,一个很好的方法是使用exec/open3/open4调用shred:`shred-fxuz#{filename}`http://www.gnu.org/s/coreutils/manual/html_node/shred-invocation.html检查这个类似的帖子:Writingafileshredderinpythonorruby?

  8. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

  9. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  10. ruby-on-rails - 在具有 ActiveRecord 条件的相关模型中按字段排序 - 2

    我正在尝试按Rails相关模型中的字段进行排序。我研究的所有解决方案都没有解决如果相关模型被另一个参数过滤?元素模型classItem相关模型:classPriority我正在使用where子句检索项目:@items=Item.where('company_id=?andapproved=?',@company.id,true).all我需要按相关表格中的“位置”列进行排序。问题在于,在优先级模型中,一个项目可能会被多家公司列出。因此,这些职位取决于他们拥有的company_id。当我显示项目时,它是针对一个公司的,按公司内的职位排序。完成此任务的正确方法是什么?感谢您的帮助。PS-我

随机推荐