为了账号安全,请及时绑定邮箱和手机立即绑定

使用 golangci go exec 命令安全检查消息

使用 golangci go exec 命令安全检查消息

Go
暮色呼如 2023-08-07 10:52:02
我正在为gosecgolangci-lint 添加一个 linter,并且涵盖了除以下内容之外的所有内容:exec.Command(params[0], params[1:]…)我知道我可以禁用此 lint,但我不想这样做。有没有办法修复代码以满足这个 lint 的要求?错误是: G204: Subprocess launched with function call as argument or cmd arguments ```
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

您可以使用注释排除特定行,而不是禁用 linter;

exec.Command(params[0], params[1:]...) //nolint:gosec


查看完整回答
反对 回复 2023-08-07
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

如果您只想禁用此检查,您可以

exec.Command(params[0], params[1:]...) // #nosec G204


查看完整回答
反对 回复 2023-08-07
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

对命令调用进行硬编码。没有其他选择AFAIS。

golangci.example.yml存储库中的示例配置。

linters-settings:

  gosec:

    # To select a subset of rules to run.

    # Available rules: https://github.com/securego/gosec#available-rules

    includes:

      - G401

      - G306

      - G101

    # To specify a set of rules to explicitly exclude.

    # Available rules: https://github.com/securego/gosec#available-rules

    excludes:

      - G204

    # To specify the configuration of rules.

    # The configuration of rules is not fully documented by gosec:

    # https://github.com/securego/gosec#configuration

    # https://github.com/securego/gosec/blob/569328eade2ccbad4ce2d0f21ee158ab5356a5cf/rules/rulelist.go#L60-L102

    config:

      G306: "0600"

      G101:

        pattern: "(?i)example"

        ignore_entropy: false

        entropy_threshold: "80.0"

        per_char_threshold: "3.0"

        truncate: "32"


查看完整回答
反对 回复 2023-08-07
  • 3 回答
  • 0 关注
  • 260 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信