npm包 detect-secrets 使用教程

Detect-secrets是现代软件项目的安全代码审查工具。 它由Great Scott Gadgets开发,可以通过扫描代码库以查找硬编码密码,API密钥和其他机密信息来帮助保护其秘密。

在本篇文章中,我们将介绍如何使用 npm 包 detect-secrets 来查找并修复您的代码中的密码和其他敏感信息。

安装 detect-secrets

要安装 npm 包 detect-secrets,您需要在终端中运行以下命令:

--- ------- --------------

这将在本地安装 detect-secrets 库,并准备使用它来扫描您的代码库。

使用 detect-secrets

使用 detect-secrets 软件包很简单。要在代码库中运行 detect-secrets,您需要在终端中运行以下命令:

--- -------------- ----

这将扫描当前目录下的所有文件,并查找在 detect-secrets 规则集中定义的已知敏感信息。

指定自定义的检测规则

为了查找您自己定义的敏感信息,您可以创建一个 .secrets.baseline 文件,该文件将包含您自己的检测规则。要使用此文件进行扫描,您可以运行以下命令:

--- -------------- ---- ---------- -----------------

这将扫描您的文件,并使用 .secrets.baseline 文件中定义的规则来查找敏感信息。

检测结果的处理

一旦 detect-secrets 扫描完成,它将输出检测结果。输出将列出已检测到的敏感密钥及其位置,如下所示:

--------- ------- ----- -- -- --------- -- ---
--------------------------------------------------------------------------------

    --- ------
    --- -------------------
    --- -------------------

    ----- --- ---- --------- ------- --- --- -- ----- ----------
    ------ -------- ------ --- ------- ----- -- ------- ------- -- ---
    ---- -------- --------- -------- --- ------ ---- ---------- ------------

    -- ----- --- ----- ---------- --- --- ----- ---- ----- ----- -------- ----------
    ----- -- ------ -------- --------- ------- -------- -- -------- ------- -- ---
    ---------- ------- ------------------------------------------------------

如果 detect-secrets 发现敏感信息,则建议您手动检查它们。 通常,您可以将这些敏感密钥存储在环境变量中,以避免将它们硬编码进代码库中。

编写规则集

如果您需要自定义 detect-secrets 的规则集,您可以编写自己的规则。规则定义是特定规则,用于侦测代码库中的特定机密信息。您可以定义自己的规则,用于检测您自己的机密信息,并添加到规则集中。

以下是示例规则:

--------
  ---------------------
    - -----------------------
    ------ ---
    - -------------------
    ----- -------------------------------------------------------------------------------------------------------------------------------------------------------------

上述规则的作用是查找定义了诸如RSA、PGP、HMAC密钥等易于破解的硬编码密码。

结论

通过使用 detect-secrets 软件包来扫描您的代码库,您可以查找和修复所谓的“硬编码”密码和其他敏感信息。这是保护您的代码库和应用程序不被黑客攻击的重要一步。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedc8a6b5cbfe1ea061231b


猜你喜欢

  • npm 包 @types/needle 使用教程

    在前端开发中,所涉及的技术栈极为丰富,其中 NPM 包管理工具则是必不可少的一种。针对前端开发中的 RESTful API 服务进行请求,一个好的请求库也是必不可少的,而 needle 就是一个非常好...

    4 年前
  • npm包@juliangruber/tap-finished的使用教程

    引言 在前端开发过程中,我们常常需要对 JavaScript 代码进行测试以确保其可靠性和稳定性。在这个过程中,往往会使用到 tap 测试框架,因为它具有灵活、简单和易于使用等优点。

    4 年前
  • npm 包 pubsub 使用教程

    在前端开发中,通常我们需要实现不同组件之间的通讯功能。对于这种情况,pubsub 是一个非常实用的解决方案。本文将介绍 npm 包 pubsub 的使用教程,并提供详细的示例代码。

    4 年前
  • npm 包 parse-env-string 使用教程

    在前端开发工作中,环境变量的管理是非常重要的,我们需要将开发环境(dev)、测试环境(test)、生产环境(prod)等不同环境下的变量值分别配置,并在不同环境中正确获取对应的变量值。

    4 年前
  • npm 包 w3c-xmlserializer 使用教程

    前言 w3c-xmlserializer 是一个在 Node.js 和浏览器中序列化 XML 的 npm 包,它可以将文档对象模型 (DOM) 转换为字符串表示形式,可以用于从 DOM 中创建 XML...

    4 年前
  • npm 包 Component-ls 使用教程

    npm 是 Node.js 的包管理器,在前端开发中非常重要。本文将介绍一个叫做 component-ls 的 npm 包,具体使用方法以及总结一些学习和指导意义。

    4 年前
  • npm 包 @lerna/add 使用教程

    什么是 @lerna/add? @lerna/add 是一个 npm 包,用于添加依赖项到 Lerna 项目的 packages 中。Lerna 是一个管理跨多个包的 JavaScript 代码库的工...

    4 年前
  • npm 包 @lerna/has-npm-version 使用教程

    简介 在前端开发中,我们经常使用 npm 包管理工具来安装和管理前端开发所需的各种包。@lerna/has-npm-version 是一个 npm 包,它提供了一种简单的方法来检查 npm 的版本号是...

    4 年前
  • npm 包 @lerna/npm-install 使用教程

    前言 当我们在开发前端应用程序时,需要依赖大量的第三方包才能提高开发效率和项目质量。而这些包的安装和管理是一个费时费力的工作。尤其是在项目的模块数量非常多的情况下,针对每一个模块单独安装和管理第三方包...

    4 年前
  • npm包 @lerna/bootstrap 使用教程

    注:本文主要面向前端开发人员,具备一定npm基础知识 什么是 @lerna/bootstrap 包? @lerna/bootstrap是一个npm包,它的作用是帮助我们更好地管理项目中的多个包之间的引...

    4 年前
  • npm 包 @lerna/changed 使用教程

    在前端开发中,管理多个 npm 包是常见的需求。其中一个常用的工具是 Lerna。Lerna 是一个管理多个 npm 包的工作流工具,它可以帮助自动化版本号生成、依赖管理、发布等操作。

    4 年前
  • npm 包 @lerna/rimraf-dir 使用教程

    在前端项目中,我们经常需要清理目录或文件。rimraf 是一个非常流行的 npm 包,可以实现递归删除文件和目录。而 @lerna/rimraf-dir 是在 rimraf 的基础上封装的更适合多个模...

    4 年前
  • npm 包 @lerna/clean 使用教程

    在前端开发中,我们经常需要管理代码库,包括初始化、打包、发布等。而较大的项目通常分为多个子项目,这些子项目又可能由多个模块组成,需要进行协同开发和管理。为了方便管理这些子项目和模块,我们可以使用 le...

    4 年前
  • npm 包 @lerna/global-options 使用教程

    前言 在前端开发领域,NPM 是一个重要的工具,它为我们提供了一个方便的包管理和依赖解决方案。而 @lerna/global-options 这个 NPM 包,就是一个用于统一管理 Lerna 更新和...

    4 年前
  • npm 包 @lerna/cli 使用教程

    概述 在前端开发中,我们经常会遇到多包管理的情况。例如,我们需要管理多个子包的版本及其依赖。针对这个问题,lerna 是一种解决方案,它是一个基于 Git 和 npm 的工具,可以优雅地管理由多个 n...

    4 年前
  • npm 包 @lerna/create 使用教程

    什么是 @lerna/create @lerna/create是一个npm包,可以用于创建Lerna仓库的基本结构。Lerna是一个工具,用于管理具有多个包的JavaScript项目。

    4 年前
  • npm 包 @lerna/diff 使用教程

    在前端开发过程中,我们可能需要进行项目的版本管理和发布,此时 @lerna/diff 就成为了一个非常有用的 npm 包,可以方便地进行版本对比和检查。 介绍 @lerna/diff 是一个基于 le...

    4 年前
  • npm 包 @lerna/exec 使用教程

    在前端开发中,我们经常需要对项目进行打包、构建、测试等各种操作。然而,多个项目之间的依赖管理和版本控制也是十分重要的。@lerna/exec 是一个能够解决多包管理的 npm 包,它可以让我们在多个项...

    4 年前
  • npm 包 @lerna/import 使用教程

    什么是 @lerna/import ? @lerna/import 是 npm 包 Lerna 的一个子命令,它可以帮助我们快速地将模块和包导入到当前的 Lerna 项目中。

    4 年前
  • npm 包 @lerna/info 使用教程

    简介 @lerna/info 是一个用于查看 Lerna 项目中的信息和状态的 npm 包。它可以帮助您快速了解哪些包已发布,哪些包需要重新发布,以及各个包之间的依赖关系等信息。

    4 年前

相关推荐

    暂无文章