Labels: Stellar Wave, stellar, audit, security, drips, help-wanted
Tier: 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.toml dependencies). For each finding, document:
- Description — what is the issue?
- Severity — Critical / High / Medium / Low / Informational, using the Trail of Bits severity matrix.
- Reproduction — a Rust
#[test] that demonstrates the issue, or a soroban-cli invocation that triggers it.
- Recommendation — a concrete fix.
Specific areas we want covered (non-exhaustive):
- Event payload integrity — can a caller forge
caller field, oversize metadata, or smuggle malicious data through ephemeral_pub_key?
- Auth model —
require_auth() placement, who can call announce, can it be called from CPI by a malicious contract?
- Resource exhaustion — extremely long
metadata, repeated calls, event spam pricing.
- Soroban-specific footguns —
Env::events().publish topic ordering, type confusion across SDK versions.
- Dependency review — pin versions, audit transitive
soroban-sdk features.
- Comparison against the ERC-5564 reference behavior — semantic parity with the EVM
Announcer.
Acceptance criteria
Resources
Deliverable format
Reports follow this template:
# stealth-announcer audit — <author> — <date>
## Summary
3–5 sentences.
## Findings table
| ID | Severity | Title | Status |
## Findings
### WA-ANN-01 — <Title>
**Severity:** ...
**Reproduction:** ...
**Recommendation:** ...
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: