<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>DevSecOps on 翟志军 Jack Zhai</title>
    <link>https://showme.codes/tags/devsecops/</link>
    <description>Recent content in DevSecOps on 翟志军 Jack Zhai</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>showme.codes</copyright>
    <lastBuildDate>Mon, 25 Dec 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://showme.codes/tags/devsecops/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用Google OSV工具扫描依赖安全漏洞</title>
      <link>https://showme.codes/zh-cn/2023-12-25-google-osv/</link>
      <pubDate>Mon, 25 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://showme.codes/zh-cn/2023-12-25-google-osv/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://showme.codes/assets/images/xkcd-dependency.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;安全漏洞是软件工程化能力的试金石&#34;&gt;安全漏洞是软件工程化能力的试金石&lt;/h2&gt;
&lt;p&gt;2021年年底，Log4j的漏洞陆续被公开。因为该框架被大量的开源软件依赖，所以，漏洞影响面非常大。&lt;/p&gt;
&lt;p&gt;面对这个漏洞，我们遇到的第一个问题是：如何知道我们哪些工程使用了Log4j？&lt;/p&gt;
&lt;p&gt;在我看来，这个漏洞是企业软件工程化的一颗非常好的试金石。因为：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;如何第一时间了解到这个漏洞，反应这家企业的安全能力；&lt;/li&gt;
&lt;li&gt;如何第一时间能找到所有使用了Log4j的位置，体现了这家企业第三方软件依赖管理能力；&lt;/li&gt;
&lt;li&gt;替换Log4j的速度，体现企业的持续集成、持续部署的能力。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;google的开源软件安全漏洞扫描工具&#34;&gt;Google的开源软件安全漏洞扫描工具&lt;/h2&gt;
&lt;p&gt;今天介绍的OSC-Scanner，能加强我们第1项和第2项能力。&lt;/p&gt;
&lt;p&gt;OSV-Scanner是Google在2022年12月13日推出的一款免费的安全扫描工具。它具有以下特点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;支持多生态系统，包括：Go、PyPI、RubyGens、Linux、Maven等16个生态系统；&lt;/li&gt;
&lt;li&gt;同时支持直接依赖的扫描和间接依赖的扫描；&lt;/li&gt;
&lt;li&gt;采用标准的漏洞记录格式；&lt;/li&gt;
&lt;li&gt;从当前最大的开源软件漏洞数据库（https://osv.dev/）获取信息。这也是DenpencyTrack和Flutter安全工具的漏洞数据库。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;OSV-Scanner是一款命令行工具，我们可以将它集成到我们的构建工具或者CICD Pipeline中。目前它已经被集成到Scorecard中。Scorecard是一款为开发源软件的安全健康度打分的开源软件。我们可以在Github Actions中使用它：https://github.com/ossf/scorecard/tree/main?tab=readme-ov-file#scorecard-github-action&lt;/p&gt;
&lt;h2 id=&#34;osv-scanner的安装&#34;&gt;OSV-Scanner的安装&lt;/h2&gt;
&lt;p&gt;Windows：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;scoop install osv-scanner
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Mac Homebrew:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;brew install osv-scanner
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;也可以直接下载二进制包：https://github.com/google/osv-scanner/releases&lt;/p&gt;
&lt;p&gt;具体安装文档：https://google.github.io/osv-scanner/installation/&lt;/p&gt;
&lt;h2 id=&#34;osv-scanner的使用&#34;&gt;OSV-Scanner的使用&lt;/h2&gt;
&lt;p&gt;Keras是一个使用Python编写的开源人工神经网络库。我们以它为例。命令行里运行以下命令：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./osv-scanner_1.3.6_linux_amd64 --format json keras/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://showme.codes/assets/images/osv-scanner-keras.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;输出内容说明：keras存在一个“潜在内存泄漏”的漏洞。&lt;/p&gt;
&lt;p&gt;当拿到json结果后，我们的DevOps平台就可以进行一些告警监控的操作。&lt;/p&gt;
&lt;h2 id=&#34;后记&#34;&gt;后记&lt;/h2&gt;
&lt;p&gt;osv-scanner目前需要连osv.dev，才能使用。但是，已经开放实验功能，允许用户离线使用osv-scanner。这是自建DevOps平台的福音！&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
