Security Considerations
This page documents the security model, known considerations, and best practices for building with Astral Location Services.Astral Signer Address
Current Astral Signer (Base Sepolia):
0x590fdb53ed3f0B52694876d42367192a5336700FResolver contracts must verify that attestation.attester equals this address. See Staging for the full configuration.Trust Model
Current (MVP)
| Trust Assumption | Status |
|---|---|
| TEE executes code correctly | ✓ Verified |
| Astral operates service honestly | ✓ Required |
| Signing key held securely in TEE | ✓ Verified |
| Input locations verified | ✗ Future work |
- Single service with known signer
- TEE (EigenCompute) provides execution attestation
- Deterministic operations ensure reproducibility
Future Enhancements
| Phase | Enhancement | Benefit |
|---|---|---|
| 2 | AVS Consensus | Multiple operators must agree |
| 3 | ZK Proofs | Cryptographic computation proof |
| 4 | Decentralized Signing | No single point of failure |
Known Considerations
Replay Attacks
Status: Documented, resolver responsibility Policy Attestations could potentially be reused:- Temporal replay: Old attestation used for current benefit
- Cross-context replay: Attestation for one resolver used at another
Input Trust
Status: Raw GeoJSON not verified Raw GeoJSON inputs are accepted for flexibility, but are not verified for authenticity:- “Astral computed the relationship between A and B”
- “Geometry A came from a trusted source”
- “User was actually at location B”
GPS Spoofing
Status: Out of scope for MVP Astral can verify that a computation was correct, but cannot verify that the input location represents where the user actually was. GPS can be spoofed. Future: Location proofs with multiple corroborating stamps will make spoofing harder.Best Practices
For Resolver Authors
Always verify attester
Always verify attester
Check timestamp freshness
Check timestamp freshness
Verify input references
Verify input references
Track used attestations
Track used attestations
Support key rotation
Support key rotation
For Application Developers
- Prefer attestation UIDs over raw GeoJSON for sensitive operations
- Set appropriate timeouts — don’t accept stale attestations
- Validate recipient — ensure attestation is for the right user
- Handle signature expiry — delegated attestation signatures have deadlines
Key Management
Service Signing Key
- Key generated/provisioned within TEE
- Cannot be extracted by operators
- Used to sign all Policy Attestations
Key Rotation
Resolver contracts should support key rotation:For the research preview, a simple owner-controlled update is sufficient. For production, consider making the owner a multisig.
Audit Status
| Component | Status |
|---|---|
| Compute Service | Pending |
| SDK | Pending |
| Example Contracts | Pending |
Full security audit will be conducted before mainnet deployment.
Next: Roadmap
See what’s coming