2023-03-15 16:00:52 +00:00
|
|
|
# Copyright (c) HashiCorp, Inc.
|
|
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2022-03-18 18:14:03 +00:00
|
|
|
rules:
|
|
|
|
- id: hmac-needs-new
|
|
|
|
patterns:
|
|
|
|
- pattern-either:
|
|
|
|
- pattern: |
|
|
|
|
$H := $HASH.New()
|
|
|
|
...
|
|
|
|
$FUNC := func() hash.Hash { return $H }
|
|
|
|
...
|
|
|
|
hmac.New($FUNC, ...)
|
|
|
|
- pattern: |
|
|
|
|
$H := $HASH.New()
|
|
|
|
...
|
|
|
|
hmac.New(func() hash.Hash { return $H }, ...)
|
|
|
|
|
|
|
|
- pattern: |
|
|
|
|
hmac.New(func() hash.Hash { return ( $H : hash.Hash) }, ...)
|
|
|
|
|
|
|
|
message: "calling hmac.New with unchanging hash.New"
|
|
|
|
languages: [go]
|
|
|
|
severity: ERROR
|