-
Notifications
You must be signed in to change notification settings - Fork 21
Security audit of stealth-announcer Soroban contract #1
Copy link
Copy link
Closed
Labels
Stellar WaveIssues in the Stellar wave programIssues in the Stellar wave programauditProduces a written report as primary deliverableProduces a written report as primary deliverabledripsFunded via Drips NetworkFunded via Drips Networkhelp wantedExtra attention is neededExtra attention is neededsecuritySecurity-sensitive workSecurity-sensitive workstellarTouches Stellar / Soroban codeTouches Stellar / Soroban code
Metadata
Metadata
Assignees
Labels
Stellar WaveIssues in the Stellar wave programIssues in the Stellar wave programauditProduces a written report as primary deliverableProduces a written report as primary deliverabledripsFunded via Drips NetworkFunded via Drips Networkhelp wantedExtra attention is neededExtra attention is neededsecuritySecurity-sensitive workSecurity-sensitive workstellarTouches Stellar / Soroban codeTouches Stellar / Soroban code
Type
Fields
Give feedbackNo fields configured for issues without a type.
Labels:
Stellar Wave,stellar,audit,security,drips,help-wantedTier: L (1–2 weeks)
Type: audit
Context
contracts/stellar/stealth-announcer/is the Soroban contract that emits stealth address announcements consumed by every Wraith client and indexer. It is event-only (no storage), so the attack surface is narrow — but because every payment flows through it, even a low-severity issue compounds across the entire protocol.Today the contract has only its in-tree unit tests (
#[cfg(test)]modules). It has never been independently reviewed.We need a full security audit from a contributor with Soroban experience.
Scope
Review the entire crate (
lib.rs, any helpers,Cargo.tomldependencies). For each finding, document:#[test]that demonstrates the issue, or asoroban-cliinvocation that triggers it.Specific areas we want covered (non-exhaustive):
callerfield, oversizemetadata, or smuggle malicious data throughephemeral_pub_key?require_auth()placement, who can callannounce, can it be called from CPI by a malicious contract?metadata, repeated calls, event spam pricing.Env::events().publishtopic ordering, type confusion across SDK versions.soroban-sdkfeatures.Announcer.Acceptance criteria
contracts/stellar/stealth-announcer/audits/2026-XX-author.md.tests/audit.rsmodule) reproducing the issue. Tests that demonstrate safe behavior should be marked#[test] #[should_panic]or assert the panic message.## Unreleasedsummarizing the review.Resources
contracts/evm/contracts/ERC5564Announcer.solDeliverable format
Reports follow this template: