| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
We actively support the following versions of Ananke with security updates:
| Version | Supported |
|---|---|
| 0.1.x | ✅ |
| < 0.1.0 | ❌ |
We take security seriously. If you discover a security vulnerability in Ananke, please report it responsibly.
DO NOT open a public GitHub issue for security vulnerabilities.
Instead, please email security reports to: security@ananke-project.org
Include:
Example:
# Good: Environment variable
export ANTHROPIC_API_KEY="sk-ant-..."
# Good: From secure credential manager
export ANTHROPIC_API_KEY=$(security find-generic-password -w -s "ananke-api-key")
# Bad: Hardcoded in script
ANTHROPIC_API_KEY="sk-ant-api03-..." # NEVER DO THISSet restrictive permissions on configuration files:
# Create config directory
mkdir -p ~/.config/ananke
# Create config file
touch ~/.config/ananke/config.toml
# Set secure permissions (owner read/write only)
chmod 600 ~/.config/ananke/config.tomlUse encrypted storage for sensitive configuration:
# macOS: Use Keychain
security add-generic-password \
-a "ananke" \
-s "anthropic-api-key" \
-w "sk-ant-..."
# Retrieve in scripts
export ANTHROPIC_API_KEY=$(security find-generic-password \
-a "ananke" \
-s "anthropic-api-key" \
-w)Ananke uses HTTPS for all external API calls:
Always verify TLS certificates (enabled by default):
# Verify certificate pinning is enabled
export ANANKE_VERIFY_TLS=trueWhen using proxies, ensure they support TLS:
# Set HTTPS proxy
export HTTPS_PROXY="https://proxy.example.com:8080"
# DO NOT use HTTP proxies for sensitive traffic
# export HTTP_PROXY="http://proxy.example.com:8080" # Insecure!1. Use Official Images:
# Use official Alpine base
FROM alpine:3.192. Run as Non-Root User:
# Create non-root user
RUN adduser -D -u 1000 ananke
USER ananke3. Scan Images for Vulnerabilities:
# Scan with Trivy
trivy image ananke:latest
# Scan with Snyk
snyk container test ananke:latest4. Limit Container Capabilities:
# docker-compose.yml
services:
ananke:
cap_drop:
- ALL
security_opt:
- no-new-privileges:true5. Use Read-Only Filesystems:
services:
ananke:
volumes:
- ./code:/workspace:ro # Read-only
read_only: trueDO:
# Use environment variables
docker run -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY ananke:latest
# Use Docker secrets (Swarm)
docker secret create anthropic_key api_key.txt
docker service create --secret anthropic_key ananke:latest
# Use Kubernetes secrets
kubectl create secret generic ananke-secrets \
--from-literal=anthropic-api-key=$ANTHROPIC_API_KEYDON'T:
# Never in Dockerfile
ENV ANTHROPIC_API_KEY="sk-ant-..." # NEVER DO THISAnanke validates all inputs to prevent injection attacks:
File Paths:
Code Extraction:
API Inputs:
Generated code is sanitized to prevent:
Never execute generated code without review:
# Bad: Direct execution
eval $(ananke generate "create script")
# Good: Review first
ananke generate "create script" > generated.sh
# Review generated.sh manually
chmod +x generated.sh
./generated.shBy default, Ananke processes data locally:
When using Claude for semantic analysis:
When using Modal for generation:
Disable External Services:
# Extract constraints locally only (no Claude)
ananke extract ./src --no-llm
# Compile locally only
ananke compile constraints.json --no-optimizeEnable audit logging for security-sensitive operations:
# Enable audit log
export ANANKE_AUDIT_LOG="$HOME/.cache/ananke/audit.log"
# Set log level
export LOG_LEVEL="info"
# Rotate logs
logrotate /etc/logrotate.d/anankeAudit log includes:
Audit log excludes:
Ananke's Zig dependencies are minimal and vendored:
Maze's Rust dependencies are regularly audited:
# Audit dependencies
cd maze
cargo audit
# Update dependencies
cargo update
# Check for outdated dependencies
cargo outdatedContainer base images are regularly updated:
# Zig static analysis
zig build test
# Rust static analysis
cd maze
cargo clippy -- -D warnings
# Security-focused linting
cargo clippy -- -D clippy::suspicious# Run with AddressSanitizer
zig build -Doptimize=Debug -Dsanitize-thread=true
# Rust with sanitizers
cd maze
RUSTFLAGS="-Z sanitizer=address" cargo test# Scan Rust dependencies
cargo audit
# Scan container images
trivy image ananke:latest
# Scan with Snyk
snyk testSubscribe to security advisories:
# Check current version
ananke --version
# Update to latest version
curl -fsSL https://raw.githubusercontent.com/ananke-ai/ananke/main/scripts/install.sh | bash
# Verify update
ananke --versionAnanke follows security best practices:
Tree-sitter Parsing: Uses C library with memory safety considerations
Modal Generation: External service dependency
Claude API: External service dependency
Before deploying Ananke in production:
For security concerns:
Last Updated: 2025-11-24 Version: 0.1.0
| Back | FazBrowse Home | New Git URL |