Currently, we are in active development (v0.x). Security updates will be applied to the latest version.
| Version | Supported |
|---|---|
| 0.1.x | ✅ |
We take security vulnerabilities seriously. If you discover a security issue, please follow these steps:
DO NOT create a public GitHub issue for security vulnerabilities.
Instead, please report security issues privately:
- Email: Send details to the project maintainers (update with actual contact)
- GitHub Security Advisories: Use the GitHub Security Advisory feature
Please provide the following information:
- Description: Clear description of the vulnerability
- Impact: What an attacker could achieve
- Steps to Reproduce: Detailed steps to reproduce the issue
- Affected Versions: Which versions are affected
- Suggested Fix: If you have ideas on how to fix it (optional)
- Proof of Concept: Code or commands demonstrating the issue (if applicable)
- Initial Response: Within 48 hours
- Assessment: Within 1 week
- Fix Timeline: Depends on severity
- Critical: Within 7 days
- High: Within 14 days
- Medium: Within 30 days
- Low: Next release cycle
We appreciate security researchers who help keep ADS safe:
- We will acknowledge your contribution in the release notes (unless you prefer to remain anonymous)
- We may add you to a security contributors list
- NEVER commit
.envor.env.*files to version control - Store sensitive credentials securely (use password managers or secret management tools)
- Rotate API keys and tokens regularly
- Use
.env.exampleas a template, not production config
- Set proper permissions on sensitive files:
chmod 600 .env
- Ensure the Telegram bot script validates file permissions before starting
- Whitelist Users: Set
TELEGRAM_ALLOWED_USER_IDin the connector service environment. Do not put Telegram credentials in the ADS Core environment. - Connector Authentication: Set the same high-entropy
ADS_CONNECTOR_TOKENfor Core and the connector. Treat it as a credential with access to the configured Core workspace. - Connector Credential Owner: Connector prompts use the first active Web Console user's provider credentials by default. Restrict
ADS_CONNECTOR_USER_IDto an explicit Web user ID only when a different owner is intentionally required. - Limit Directories: Use
ALLOWED_DIRS(全端共享)限制 Core 可访问路径 - Sandbox Mode: Use
read-onlyorworkspace-writemode unless absolutely necessaryread-only: Core can only read filesworkspace-write: Core can write within allowed directoriesdanger-full-access:⚠️ Use with extreme caution
- Token Security: Keep
TELEGRAM_BOT_TOKENprivate in the connector service environment- If leaked, immediately revoke via @BotFather
- Generate a new token
- Use separate API keys for development and production
- Implement rate limiting to prevent abuse
- Monitor API usage for anomalies
- Use environment-specific
.envfiles (.env.development,.env.production)
- Review code for potential security issues
- Look for hardcoded credentials
- Check for SQL injection, command injection, path traversal vulnerabilities
- Validate user inputs
- Keep dependencies up to date
- Run
npm auditregularly - Address high and critical vulnerabilities promptly
Before committing:
# Check for potential secrets
git diff --cached
# Use git-secrets or similar tools to prevent commits with secretsIf you accidentally commit a secret:
- Immediately revoke/rotate the credential
- Remove it from Git history using
git filter-repoorgit filter-branch - Force push (if not yet public) or notify maintainers
-
Telegram Connector Access: The connector can submit prompts to ADS Core with
ADS_CONNECTOR_TOKEN. Run it separately, restrictTELEGRAM_ALLOWED_USER_ID, and configure CoreALLOWED_DIRSand sandbox mode conservatively. -
SQLite Database: Workspace databases live under the centralized ADS state dir (default
.ads/workspaces/<workspaceId>/ads.db, plus.ads/state.dbfor shared state) and may contain sensitive information. Ensure they are not committed to version control (covered by.gitignore). -
Environment Files:
.envand any overrides contain secrets. Ensure all.env*files stay out of Git.- Keep Core and connector environment files separate so Telegram credentials never need to be loaded by ADS Core.
- Follow the security best practices above
- Regularly review access logs
- Keep the software updated
- Report any security concerns
Security updates will be announced via:
- GitHub Security Advisories
- Release notes
- CHANGELOG.md
Subscribe to repository notifications to stay informed.
For general security questions (not vulnerabilities), feel free to:
- Open a discussion on GitHub
- Refer to our documentation in
docs/
Thank you for helping keep ADS and its users safe!