SmartPerfetto processes Android performance traces, which may contain sensitive device information (app package names, system calls, kernel events). We take security and privacy seriously.
If you discover a vulnerability, please do not file a public GitHub issue. Instead:
Preferred: Use GitHub's private security advisory reporting.
Alternative: Email smartperfetto@gracker.dev with:
- A description of the vulnerability and its impact
- Steps to reproduce (a minimal proof of concept helps)
- Your name / handle for attribution (optional)
The in-product Agent-assisted feedback flow follows the same boundary. Marking a candidate as security-sensitive prevents a public draft and routes the user to the private advisory path. SmartPerfetto never submits the report automatically.
| Phase | Target |
|---|---|
| Acknowledgement | Within 48 hours |
| Initial assessment | Within 7 days |
| Patch + public advisory | Within 30 days (critical) / 90 days (non-critical) |
If a vulnerability is actively being exploited, we may publish a patched release before the full disclosure window elapses.
In scope:
- SmartPerfetto backend (
backend/) - SmartPerfetto Perfetto plugin (
perfetto/ui/src/plugins/com.smartperfetto.AIAssistant/) - Skill system (
backend/skills/) - CI/CD workflows (
.github/workflows/) - Shell scripts in
scripts/andbackend/scripts/
Out of scope:
- The upstream Perfetto project (
perfetto/submodule root) — please report upstream Perfetto issues to google/perfetto. - Third-party dependencies — please report to the respective maintainers.
- Social engineering, physical attacks, DoS against our infrastructure.
SmartPerfetto is pre-1.0 and under active development. Security patches
target main; older tags receive fixes only on request.
| Version | Supported |
|---|---|
main (latest) |
✅ |
Tagged 0.x releases |
- No secrets in repo: API keys, tokens, and credentials live in
.envfiles (gitignored) or GitHub Secrets. - LLM trust boundary: User-provided trace data and AI-generated content never flow into SQL statements or shell commands without validation.
- Sandboxed trace processing:
trace_processor_shellruns as a subprocess with restricted HTTP RPC ports (9100–9900). - Input redaction: Logged request bodies and device properties go through
sanitizeLogDatabefore persistence (seebackend/src/services/sessionLogger.ts). - Public-artifact boundary: Agent-assisted GitHub drafts and local contribution bundles use the shared public-artifact sanitizer. Drafts reject structural prompt attacks and redact credentials, emails, device/network identifiers, absolute paths, and package identities before preview.
- Validated Agent output: External-issue triage runs without tools, accepts only a bounded JSON contract with real source-run references, and falls back deterministically when provider pinning or validation fails.
- No GitHub write credential: The feedback assistant builds an HTTPS
issues/newURL only. It accepts no GitHub token and calls no GitHub API.
We will credit reporters in release notes unless requested otherwise. Thank you for helping keep SmartPerfetto safe.