Difficulty: Advanced
Problem
1. No .github/CODEOWNERS file exists
GitHub cannot auto-assign reviewers for PRs touching critical paths (contracts/, sdk/, backend/src/services/, docker/). Any contributor can open a PR modifying contract source with no domain expert automatically notified. Required reviews cannot be enforced by code area without CODEOWNERS.
2. security-scan.yml has no secret scanning step
.github/workflows/security-scan.yml runs cargo-audit (Rust dependency vulnerabilities) and dependency-review (npm dependency vulnerabilities on PRs) but has no step that scans for accidentally committed secrets — API keys, private keys, AWS credentials, Stellar secret keys (S...), or JWT secrets in source files or commit history.
3. No branch protection rule documentation — the repository may have no required status checks
There is no CONTRIBUTING.md section, no docs/governance.md section, and no repo settings documentation specifying which CI checks must pass before merge. Without required status checks, a PR with failing tests can be merged by any repo admin.
Impact: Contract security vulnerabilities can be merged without expert review. A developer could accidentally commit a STELLAR_PRIVATE_KEY in a script or .env file. PRs with failing tests can bypass CI gates.
Proposed Solution
- Create
.github/CODEOWNERS assigning contract owners to contracts/**, SDK owners to sdk/**, and security reviewers to docker/** and *.yml.
- Add
trufflesecurity/trufflehog-actions-scan or gitleaks/gitleaks-action to security-scan.yml.
- Document required branch protection settings in
CONTRIBUTING.md: required CI checks, required reviewers, no force-push to main.
Acceptance Criteria
Contributor Note
If assigned, your PR must show a sample trufflehog/gitleaks run on the current repository (confirm no false positives from test keypairs), and explain the CODEOWNERS syntax for requiring review from multiple owners on high-risk paths.
Difficulty: Advanced
Problem
1. No
.github/CODEOWNERSfile existsGitHub cannot auto-assign reviewers for PRs touching critical paths (
contracts/,sdk/,backend/src/services/,docker/). Any contributor can open a PR modifying contract source with no domain expert automatically notified. Required reviews cannot be enforced by code area without CODEOWNERS.2.
security-scan.ymlhas no secret scanning step.github/workflows/security-scan.ymlrunscargo-audit(Rust dependency vulnerabilities) anddependency-review(npm dependency vulnerabilities on PRs) but has no step that scans for accidentally committed secrets — API keys, private keys, AWS credentials, Stellar secret keys (S...), or JWT secrets in source files or commit history.3. No branch protection rule documentation — the repository may have no required status checks
There is no
CONTRIBUTING.mdsection, nodocs/governance.mdsection, and no repo settings documentation specifying which CI checks must pass before merge. Without required status checks, a PR with failing tests can be merged by any repo admin.Impact: Contract security vulnerabilities can be merged without expert review. A developer could accidentally commit a
STELLAR_PRIVATE_KEYin a script or.envfile. PRs with failing tests can bypass CI gates.Proposed Solution
.github/CODEOWNERSassigning contract owners tocontracts/**, SDK owners tosdk/**, and security reviewers todocker/**and*.yml.trufflesecurity/trufflehog-actions-scanorgitleaks/gitleaks-actiontosecurity-scan.yml.CONTRIBUTING.md: required CI checks, required reviewers, no force-push to main.Acceptance Criteria
.github/CODEOWNERScreated with owners forcontracts/**,sdk/**,backend/**,docker/**,.github/workflows/**security-scan.yml(trufflehog or gitleaks)CONTRIBUTING.mddocuments required branch protection rulesCONTRIBUTING.mddocuments required reviewer process via CODEOWNERSContributor Note
If assigned, your PR must show a sample trufflehog/gitleaks run on the current repository (confirm no false positives from test keypairs), and explain the CODEOWNERS syntax for requiring review from multiple owners on high-risk paths.