使用存在安全问题的 Go linter
using Go linter with security issue
我们使用以下库
import "crypto/sha1"
虽然 运行 golangci-lint 我们得到了以下错误:
G505: Blocklisted import crypto/sha1: weak cryptographic primitive (gosec) for "crypto/sha1"
G401: Use of weak cryptographic primitive (gosec)
sha := sha1.New()
有什么我可以做的而不排除他们吗?不确定我是否理解这些问题。如果它与安全无关,则排除是简单的任务...
更新
我们正在做的是
fdrContent, err := ioutil.ReadFile(filepath.Join(path))
// gets the hashcode of the FDR file
h := sha1.New()
code, err := h.Write(fdrContent)
return code, err
我自己用h.Write
gtarsum
project as in here:
h := sha256.New()
for {
buf := make([]byte, 1024*1024)
bytesRead, err := tr.Read(buf)
if err != nil {
if err != io.EOF {
panic(err)
}
}
if bytesRead > 0 {
_, err := h.Write(buf[:bytesRead])
如果没有明显的性能问题,您所要做的就是切换到 sha256。
不再有警告。
问题是 sha1 冲突,我有 documented here, from the shattered.io
项目。
我们使用以下库
import "crypto/sha1"
虽然 运行 golangci-lint 我们得到了以下错误:
G505: Blocklisted import crypto/sha1: weak cryptographic primitive (gosec) for "crypto/sha1"
G401: Use of weak cryptographic primitive (gosec)
sha := sha1.New()
有什么我可以做的而不排除他们吗?不确定我是否理解这些问题。如果它与安全无关,则排除是简单的任务...
更新
我们正在做的是
fdrContent, err := ioutil.ReadFile(filepath.Join(path))
// gets the hashcode of the FDR file
h := sha1.New()
code, err := h.Write(fdrContent)
return code, err
我自己用h.Write
gtarsum
project as in here:
h := sha256.New()
for {
buf := make([]byte, 1024*1024)
bytesRead, err := tr.Read(buf)
if err != nil {
if err != io.EOF {
panic(err)
}
}
if bytesRead > 0 {
_, err := h.Write(buf[:bytesRead])
如果没有明显的性能问题,您所要做的就是切换到 sha256。
不再有警告。
问题是 sha1 冲突,我有 documented here, from the shattered.io
项目。