Use this section to tell people about which versions of your project are currently being supported with security updates.
| Version | Supported |
|---|---|
| v1.0.x | ✅ |
| < v1.0 | ❌ |
This security policy applies to all smart contracts and related software within the ApexChainx-Contracts repository.
Dependency updates that may introduce security or compatibility impacts should use the Dependency Security Review issue template before opening a pull request.
This helps maintainers evaluate security, compatibility, licensing, and supply-chain risks before changes are merged.
Before promoting any release candidate to production, the following
validation gates MUST pass (enforced by the
release-validation.yml CI workflow):
- Native build succeeds —
cargo buildcompletes without errors - WASM build succeeds —
cargo build --target wasm32-unknown-unknown --releasecompletes - WASM artifact hash is deterministic —
sha256sumof the WASM binary is recorded in the release validation report - Artifact hash self-consistency verified —
sha256sum -cpasses on the recorded hash - no_std compliance —
./scripts/check-no-std.shpasses (no accidentalstd::imports) - WASM no-std compliance —
cargo check --target wasm32-unknown-unknown --libpasses
- Formatting —
cargo fmt -- --checkconfirms formatting compliance - Linting —
cargo clippy --all-targets -- -D warningsproduces no warnings - No unused dependencies —
cargo macheteandcargo udepspass
- All unit tests pass —
cargo test --libreportstest result: ok - Fuzz tests pass —
cargo test --lib fuzz_tests::reportstest result: ok
- Contract initializes —
initialize(admin, operator)succeeds - Configuration works —
set_configwith valid parameters succeeds - SLA calculation works —
calculate_slawith valid inputs returns expected result - Stats query works —
get_statsreturns valid statistics - History pruning works —
prune_historywith valid parameters succeeds
- Validation report generated —
release-validation-reportartifact contains the full report - Artifact hash recorded — WASM hash is included in the report for downstream verification
- Ensure the
Release ValidationCI workflow passes on the target commit - Download the
release-validation-reportartifact from the CI run - Verify the WASM artifact hash matches any previous release audit trail
- Create a GitHub Release with the WASM artifact and
manifest.sha256 - Update
CHANGELOG.mdwith the release notes
Release WASM artifacts are governed by the WASM Binary Reproducibility Policy. Every release includes a SHA-256 manifest that links the deployed bytecode to its exact build inputs. Maintainers and security reviewers should verify the published checksum against a local build before deploying.
We take the security of our smart contracts seriously. If you believe you have found a security vulnerability in our contracts, please report it to us as described below.
Please do not report security vulnerabilities through public GitHub issues.
Instead, please email your findings to [security@apexchainx.example.com].
You can encrypt your communication using our PGP key:
-----BEGIN PGP PUBLIC KEY BLOCK-----
...
-----END PGP PUBLIC KEY BLOCK-----
(Please contact us for the actual PGP key if needed, or use the email provided above securely.)
- We will acknowledge receipt of your vulnerability report within 48 hours.
- We will provide a more detailed response to your report within 7 days, including whether we have reproduced the issue and an estimated timeline for remediation.
- We aim to resolve critical issues within 14 days of confirmation.
We ask that you do not disclose the vulnerability publicly until we have had a chance to address it. We will notify you when the issue has been patched and is safe to disclose. We appreciate your cooperation in keeping our ecosystem secure.