Skip to content

fix: zero-address guard + secrets manager guidance (#78, #74)#207

Open
Agnes432 wants to merge 1 commit into
PrincessnJoy:mainfrom
Agnes432:fix/security-issues-78-74
Open

fix: zero-address guard + secrets manager guidance (#78, #74)#207
Agnes432 wants to merge 1 commit into
PrincessnJoy:mainfrom
Agnes432:fix/security-issues-78-74

Conversation

@Agnes432
Copy link
Copy Markdown

@Agnes432 Agnes432 commented Jun 2, 2026

Closes #78
Closes #74

fix: zero-address guard on transfer_admin + secrets manager guidance (#78, #74 )

Issue #78 — transfer_admin zero-address guard (security/bug)

transfer_admin had no validation on new_admin, meaning passing the all-zeros Stellar account
(GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF) — which has no valid keypair — would
permanently lock all admin functions.

Changes:

  • Reject the zero address in transfer_admin, returning ContractError::InvalidNewAdmin
  • Add test_transfer_admin_zero_address_fails to cover the guard

Issue #74 — Secrets manager guidance for STELLAR_SECRET_KEY (security/devops/docs)

STELLAR_SECRET_KEY was only documented as a .env variable with no guidance on secure handling for
production.

Changes:

  • Add docs/security/key-management.md covering HSM usage, AWS Secrets Manager, HashiCorp Vault
    integration, and key rotation procedure
  • Update deploy.sh and deploy_mainnet.sh to auto-fetch the key from AWS Secrets Manager
    (SECRETS_MANAGER_SECRET_ID) or HashiCorp Vault (VAULT_SECRET_PATH) when the env var is not set directly
  • Expand .env.example warning to explicitly prohibit committing real keys and link to the new guide

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 2, 2026

@Agnes432 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Closes PrincessnJoy#78
Closes PrincessnJoy#74

Issue PrincessnJoy#78: Add zero-address guard to transfer_admin in governance contract.
Rejects the all-zeros Stellar account (GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF),
returning ContractError::InvalidNewAdmin. Adds test_transfer_admin_zero_address_fails.

Issue PrincessnJoy#74: Add docs/security/key-management.md covering HSM, AWS Secrets Manager,
HashiCorp Vault, and key rotation. Update deploy scripts to auto-fetch
STELLAR_SECRET_KEY from secrets manager. Strengthen .env.example warning.
@Agnes432 Agnes432 force-pushed the fix/security-issues-78-74 branch from accb980 to ac57540 Compare June 2, 2026 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

transfer_admin on governance contract has no zero-address guard Secret key is stored in .env with no HSM or secrets manager guidance

1 participant