Hashicorp Vault plugin for authenticating Trusted Execution Environments (TEE) like SGX enclaves
Find a file
renovate[bot] 26dfa5668f
chore(deps): update trufflesecurity/trufflehog action to v3.62.1 (#12)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[trufflesecurity/trufflehog](https://togithub.com/trufflesecurity/trufflehog)
| action | minor | `v3.60.4` -> `v3.62.1` |

---

### Release Notes

<details>
<summary>trufflesecurity/trufflehog
(trufflesecurity/trufflehog)</summary>

###
[`v3.62.1`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.62.1)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.62.0...v3.62.1)

#### What's Changed

- update kingpin import by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[https://github.com/trufflesecurity/trufflehog/pull/2053](https://togithub.com/trufflesecurity/trufflehog/pull/2053)
- Re-add detector version by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[https://github.com/trufflesecurity/trufflehog/pull/2060](https://togithub.com/trufflesecurity/trufflehog/pull/2060)
- Detector-Competition-Fix: Fix currencycloud.com API key by
[@&#8203;lc](https://togithub.com/lc) in
[https://github.com/trufflesecurity/trufflehog/pull/1917](https://togithub.com/trufflesecurity/trufflehog/pull/1917)
- Detector-Competition-Fix: Fix Bitcoin Average detector by
[@&#8203;lc](https://togithub.com/lc) in
[https://github.com/trufflesecurity/trufflehog/pull/1929](https://togithub.com/trufflesecurity/trufflehog/pull/1929)
- Detector-Competition-Fix: Update formio regex to match Jwt token by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/1935](https://togithub.com/trufflesecurity/trufflehog/pull/1935)
- Detector-Competition-Fix: Fix SalesBlink Detection & Verification by
[@&#8203;lc](https://togithub.com/lc) in
[https://github.com/trufflesecurity/trufflehog/pull/1950](https://togithub.com/trufflesecurity/trufflehog/pull/1950)
- Support multiple custom detectors by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[https://github.com/trufflesecurity/trufflehog/pull/2064](https://togithub.com/trufflesecurity/trufflehog/pull/2064)
- \[chore] Fix SourceManager flaky test by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[https://github.com/trufflesecurity/trufflehog/pull/2059](https://togithub.com/trufflesecurity/trufflehog/pull/2059)
- Centralize logic for checking archive extraction tools by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[https://github.com/trufflesecurity/trufflehog/pull/2063](https://togithub.com/trufflesecurity/trufflehog/pull/2063)

**Full Changelog**:
https://github.com/trufflesecurity/trufflehog/compare/v3.62.0...v3.62.1

###
[`v3.62.0`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.62.0)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.61.0...v3.62.0)

#### What's Changed

- Update module github.com/aws/aws-sdk-go to v1.46.6 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2013](https://togithub.com/trufflesecurity/trufflehog/pull/2013)
- Update module github.com/bradleyfalzon/ghinstallation/v2 to v2.8.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2014](https://togithub.com/trufflesecurity/trufflehog/pull/2014)
- Update module github.com/charmbracelet/lipgloss to v0.9.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2015](https://togithub.com/trufflesecurity/trufflehog/pull/2015)
- Update module github.com/go-logr/logr to v1.3.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2025](https://togithub.com/trufflesecurity/trufflehog/pull/2025)
- Update module github.com/getsentry/sentry-go to v0.25.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2022](https://togithub.com/trufflesecurity/trufflehog/pull/2022)
- Update module github.com/google/go-containerregistry to v0.16.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2026](https://togithub.com/trufflesecurity/trufflehog/pull/2026)
- Update module github.com/google/uuid to v1.4.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2027](https://togithub.com/trufflesecurity/trufflehog/pull/2027)
- Update module github.com/hashicorp/golang-lru to v0.6.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2028](https://togithub.com/trufflesecurity/trufflehog/pull/2028)
- Update module github.com/rabbitmq/amqp091-go to v1.9.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2030](https://togithub.com/trufflesecurity/trufflehog/pull/2030)
- Detector-Competition-Feat: Added LemonSqueezy API token detector by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/2017](https://togithub.com/trufflesecurity/trufflehog/pull/2017)
- Update module github.com/prometheus/client_golang to v1.17.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2029](https://togithub.com/trufflesecurity/trufflehog/pull/2029)
- Detector-Competition-Feat: Added Budibase API token detector by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/2016](https://togithub.com/trufflesecurity/trufflehog/pull/2016)
- Update github.com/bodgit/sevenzip to v1.4.3 by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[https://github.com/trufflesecurity/trufflehog/pull/2039](https://togithub.com/trufflesecurity/trufflehog/pull/2039)
- Update module go.uber.org/mock to v0.3.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2038](https://togithub.com/trufflesecurity/trufflehog/pull/2038)
- Update module github.com/xanzy/go-gitlab to v0.93.2 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2031](https://togithub.com/trufflesecurity/trufflehog/pull/2031)
- Update module github.com/snowflakedb/gosnowflake to v1.6.25 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2042](https://togithub.com/trufflesecurity/trufflehog/pull/2042)
- Update module github.com/launchdarkly/go-server-sdk/v6 to v6.1.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2043](https://togithub.com/trufflesecurity/trufflehog/pull/2043)
- Update module go.uber.org/zap to v1.26.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2044](https://togithub.com/trufflesecurity/trufflehog/pull/2044)
- Update module google.golang.org/api to v0.148.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2045](https://togithub.com/trufflesecurity/trufflehog/pull/2045)
- Developed Deno Deploy Detector by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[https://github.com/trufflesecurity/trufflehog/pull/2040](https://togithub.com/trufflesecurity/trufflehog/pull/2040)
- Detector-Competition-Feat: Added Stripo API token detector by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/2018](https://togithub.com/trufflesecurity/trufflehog/pull/2018)
- fix(deps): update module sigs.k8s.io/yaml to v1.4.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2047](https://togithub.com/trufflesecurity/trufflehog/pull/2047)
- Detector-Competition-Feat: Added Reply.io API token detector by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/2019](https://togithub.com/trufflesecurity/trufflehog/pull/2019)
- fix(deps): update module github.com/go-git/go-git/v5 to v5.10.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2023](https://togithub.com/trufflesecurity/trufflehog/pull/2023)
- adding 'token' keyword to regex for github_old by
[@&#8203;ankushgoel27](https://togithub.com/ankushgoel27) in
[https://github.com/trufflesecurity/trufflehog/pull/2037](https://togithub.com/trufflesecurity/trufflehog/pull/2037)
- Remove verify flag from Aho-Corasick core by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[https://github.com/trufflesecurity/trufflehog/pull/2010](https://togithub.com/trufflesecurity/trufflehog/pull/2010)
- Add TravisCI source by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[https://github.com/trufflesecurity/trufflehog/pull/1877](https://togithub.com/trufflesecurity/trufflehog/pull/1877)

**Full Changelog**:
https://github.com/trufflesecurity/trufflehog/compare/v3.61.0...v3.62.0

###
[`v3.61.0`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.61.0)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.60.4...v3.61.0)

#### What's Changed

- Detector-Competition-Fix: Fix/Remove Happi Detection & Verification by
[@&#8203;lc](https://togithub.com/lc) in
[https://github.com/trufflesecurity/trufflehog/pull/2003](https://togithub.com/trufflesecurity/trufflehog/pull/2003)
- Detector-Competition-Fix: Fix/Remove Flowdock detector by
[@&#8203;lc](https://togithub.com/lc) in
[https://github.com/trufflesecurity/trufflehog/pull/2004](https://togithub.com/trufflesecurity/trufflehog/pull/2004)
- Add temp directory management by
[@&#8203;codevbus](https://togithub.com/codevbus) in
[https://github.com/trufflesecurity/trufflehog/pull/1878](https://togithub.com/trufflesecurity/trufflehog/pull/1878)
- Fix binary handling by
[@&#8203;bill-rich](https://togithub.com/bill-rich) in
[https://github.com/trufflesecurity/trufflehog/pull/1999](https://togithub.com/trufflesecurity/trufflehog/pull/1999)
- Detector-Competition-Fix: Fix SurveyBot Verification by
[@&#8203;lc](https://togithub.com/lc) in
[https://github.com/trufflesecurity/trufflehog/pull/1948](https://togithub.com/trufflesecurity/trufflehog/pull/1948)
- Detector-Competition-Feat: Added BetterStack API token detector by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/1987](https://togithub.com/trufflesecurity/trufflehog/pull/1987)
- Detector-Competition-Feat: Added ZeroTier API token detector by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/1988](https://togithub.com/trufflesecurity/trufflehog/pull/1988)
- Detector-Competition-Feat: Added AppOptics API token detector by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/1989](https://togithub.com/trufflesecurity/trufflehog/pull/1989)
- Detector-Competition-Feat: Add Metabase Session Secret Detector by
[@&#8203;fumblehool](https://togithub.com/fumblehool) in
[https://github.com/trufflesecurity/trufflehog/pull/1902](https://togithub.com/trufflesecurity/trufflehog/pull/1902)
- Add Coinbase Wallet-as-a-Service detector by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[https://github.com/trufflesecurity/trufflehog/pull/1895](https://togithub.com/trufflesecurity/trufflehog/pull/1895)
- Chore(deps): Bump google.golang.org/grpc from 1.56.2 to 1.56.3 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/trufflesecurity/trufflehog/pull/2009](https://togithub.com/trufflesecurity/trufflehog/pull/2009)
- Update module github.com/TheZeroSlave/zapsentry to v1.19.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2012](https://togithub.com/trufflesecurity/trufflehog/pull/2012)
- Update module cloud.google.com/go/secretmanager to v1.11.3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/trufflesecurity/trufflehog/pull/2011](https://togithub.com/trufflesecurity/trufflehog/pull/2011)

**Full Changelog**:
https://github.com/trufflesecurity/trufflehog/compare/v3.60.4...v3.61.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/matter-labs/vault-auth-tee).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuMzEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-03 14:24:18 +01:00
.github chore(deps): update trufflesecurity/trufflehog action to v3.62.1 (#12) 2023-11-03 14:24:18 +01:00
ratee feat: initial commit 2023-10-26 14:15:52 +02:00
tee feat: initial commit 2023-10-26 14:15:52 +02:00
version feat: initial commit 2023-10-26 14:15:52 +02:00
.gitignore feat: initial commit 2023-10-26 14:15:52 +02:00
CONTRIBUTING.md feat: initial commit 2023-10-26 14:15:52 +02:00
Dockerfile feat: initial commit 2023-10-26 14:15:52 +02:00
flake.lock feat: initial commit 2023-10-26 14:15:52 +02:00
flake.nix feat: initial commit 2023-10-26 14:15:52 +02:00
go.mod feat: initial commit 2023-10-26 14:15:52 +02:00
go.sum feat: initial commit 2023-10-26 14:15:52 +02:00
LICENSE feat: initial commit 2023-10-26 14:15:52 +02:00
main.go feat: initial commit 2023-10-26 14:15:52 +02:00
README.md feat: initial commit 2023-10-26 14:15:52 +02:00
renovate.json feat: initial commit 2023-10-26 14:15:52 +02:00
SECURITY.md feat: initial commit 2023-10-26 14:15:52 +02:00

vault-auth-tee

TEE remote attestation plugin for Hashicorp Vault

⚠️☢️☣️ WARNING: not yet for production use ☣️☢️⚠️

License

All of the code is licensed under the Mozilla Public License 2.0 unless otherwise specified. Most of the vault plugin code is based on the vault builtin/credential/cert plugin.

Build Setup

$ wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
$ sudo bash -c 'echo "deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu focal main" > /etc/apt/sources.list.d/intel-sgx.list'
$ sudo apt update
$ sudo apt install -y --no-install-recommends \
    libsgx-headers \
    libsgx-enclave-common \
    libsgx-urts \
    libsgx-dcap-quote-verify \
    libsgx-dcap-quote-verify-dev

Configuration

Create or Update via the ${plugin}/tees/$name endpoint

{
    "name": "TEE_role_name",
    "token_policies": "policy1,policy2,...",
    "types": "sgx",
    "sgx_mrsigner": "298037d88782e022e019b3020745b78aa40ed95c77da4bf7f3253d3a44c4fd7e",
    "sgx_mrenclave": "18946b3547d3ca036f4df7b516857e28fd512d69fed3411dc660537912faabf8",
    "sgx_isv_prodid": 0,
    "sgx_min_isv_svn": 0,
    "sgx_allowed_tcb_levels": "Ok,ConfigNeeded,OutOfDate,OutOfDateConfigNeeded,SwHardeningNeeded,ConfigAndSwHardeningNeeded"
}
  • At least one of sgx_mrsigner or sgx_mrenclave must be set. If both are set, both are used for matching.
  • sgx_isv_prodid is optional and defaults to 0.
  • sgx_min_isv_svn is optional and defaults to 0.
  • sgx_allowed_tcb_levels is optional and defaults to Ok.

Authentication

  • Client TEE generates a self-signed TLS client certificate
  • Client TEE generates an attestation report, which includes the hash of the public key of the client certificate (in case of SGX, a sha256 sum of the public key)
  • Client TEE fetches all collateral material via e.g. Intel DCAP (tee_qv_get_collateral)
  • Client TEE sends POST request with a TLS connection using the client certificate to Vault via the ${plugin}/login endpoint with the name, attestation report and the attestation collateral material
  • An optional challenge can be included in the POST request, which is then included in the attestation report of the vault response
{
    "name": "The name of the TEE role to authenticate against.",
    "quote": "The quote Base64 encoded.",
    "collateral": "The collateral Json string encoded.",
    "challenge": "An optional challenge hex encoded."
}

The response contains the Vault token and, if a challenge was included, the vault attestation report, which must contain the challenge bytes in the report_data of the quote.

{
    "auth": {
        "client_token": "The Vault token.",
        "....": "...."
    },
    "data": {
        "quote": "The vault quote Base64 encoded.",
        "collateral": "The vault collateral Json string encoded."
    }
}

Collateral Json encoding

See sgx_ql_lib_common.h

{
    "major_version": uint16,
    "minor_version": uint16,
    "tee_type": uint32,
    "pck_crl_issuer_chain": []byte,
    "root_ca_crl": []byte,
    "pck_crl": []byte,
    "tcb_info_issuer_chain": []byte,
    "tcb_info": []byte,
    "qe_identity_issuer_chain": []byte,
    "qe_identity": []byte
}