Lint / lint (push) Waiting to run
Release / Release (push) Waiting to run
Scan for secrets / test (push) Waiting to run
Snifftest / Run Snifftest (push) Waiting to run
Test / test (push) Waiting to run
Test / test-detectors (push) Waiting to run
Test / test-community (push) Waiting to run
* Surface extra data and check private keys directly against gitlab and github * fix encrpypted private key test * implement feedback * mod tidy * fix change * Set timeout for SSH connections
35 lines
792 B
Go
35 lines
792 B
Go
package privatekey
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/trufflesecurity/trufflehog/v3/pkg/common"
|
|
"golang.org/x/crypto/ssh"
|
|
)
|
|
|
|
func TestFirstResponseFromSSH(t *testing.T) {
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
|
|
defer cancel()
|
|
testSecrets, err := common.GetSecret(ctx, "trufflehog-testing", "detectors4")
|
|
if err != nil {
|
|
t.Fatalf("could not get test secrets from GCP: %s", err)
|
|
}
|
|
secretGitHub := testSecrets.MustGetField("PRIVATEKEY_GITHUB")
|
|
|
|
parsedKey, err := ssh.ParseRawPrivateKey([]byte(normalize(secretGitHub)))
|
|
if err != nil {
|
|
t.Fatalf("could not parse test secret: %s", err)
|
|
}
|
|
|
|
output, err := firstResponseFromSSH(parsedKey, "git", "github.com:22")
|
|
if err != nil {
|
|
t.Fail()
|
|
}
|
|
|
|
if len(output) == 0 {
|
|
t.Fail()
|
|
}
|
|
}
|