Skip to main content
Glama
patternsConstants.ts12.2 kB
/** * Security Pattern Constants for Path and File Filtering * * Philosophy: BALANCED SECURITY FOR CODE UNDERSTANDING * - Block actual secrets: credentials, private keys, API tokens * - Block sensitive user data: password managers, cryptocurrency wallets * - Block credential stores: browser passwords, cloud provider keys * - Allow code artifacts: configs, logs, databases, backups, notebooks * * Coverage includes: * ✓ Environment files with secrets (.env*) * ✓ Private SSH keys (id_rsa, id_ed25519, etc.) * ✓ Cloud provider credential files (AWS, GCP, Azure) * ✓ Browser password stores (Login Data, logins.json) * ✓ Password managers (KeePass, 1Password, pass) * ✓ Cryptocurrency wallets (wallet.dat, keystore) * ✓ Shell & database history files (contain typed passwords) * ✓ Token files with actual tokens * ✓ Explicit secret files (secrets.yml, credentials, etc.) * * Explicitly allows (removed from blocking): * ✓ Config files (config.json, settings.json, *.conf) * ✓ Log files (*.log) * ✓ Database files (*.sql, *.db, *.sqlite) * ✓ Backups (*.bak, *.old, *~) * ✓ Public certificates (*.crt, *.cer) * ✓ Jupyter notebooks (*.ipynb) * ✓ CI/CD configs (visible in repos anyway) * */ /** * Directories and paths that contain sensitive security data */ export const IGNORED_PATH_PATTERNS: RegExp[] = [ // SSH directory (contains private keys) /^\.ssh$/, /^\.ssh\//, /\/\.ssh$/, /\/\.ssh\//, // AWS credentials directory /^\.aws$/, /^\.aws\//, /\/\.aws$/, /\/\.aws\//, // Docker credentials directory /^\.docker$/, /^\.docker\//, /\/\.docker$/, /\/\.docker\//, // Google Cloud credentials directory /^\.config\/gcloud$/, /^\.config\/gcloud\//, /\/\.config\/gcloud$/, /\/\.config\/gcloud\//, // Azure credentials directory /^\.azure$/, /^\.azure\//, /\/\.azure$/, /\/\.azure\//, // Kubernetes config directory /^\.kube$/, /^\.kube\//, /\/\.kube$/, /\/\.kube\//, // Terraform directories (can contain secrets in state) /^\.terraform$/, /^\.terraform\//, /\/\.terraform$/, /\/\.terraform\//, // Generic sensitive directories (common naming conventions) /^secrets$/, /^secrets\//, /\/secrets$/, /\/secrets\//, /^private$/, /^private\//, /\/private$/, /\/private\//, // Password managers (pass - Unix password manager) /^\.password-store$/, /^\.password-store\//, /\/\.password-store$/, /\/\.password-store\//, // Browser credential storage /\.mozilla\/firefox\//, /\.config\/chromium\//, /\.config\/google-chrome\//, /Library\/Application Support\/Google\/Chrome\//, /Library\/Application Support\/Firefox\//, // macOS Keychain /Library\/Keychains\//, // Email clients /^\.thunderbird$/, /^\.thunderbird\//, /\/\.thunderbird$/, /\/\.thunderbird\//, /^\.evolution$/, /^\.evolution\//, /\/\.evolution$/, /\/\.evolution\//, // Container/VM tools /^\.vagrant$/, /^\.vagrant\//, /\/\.vagrant$/, /\/\.vagrant\//, /^\.minikube$/, /^\.minikube\//, /\/\.minikube$/, /\/\.minikube\//, // Cryptocurrency wallets /^\.bitcoin$/, /^\.bitcoin\//, /\/\.bitcoin$/, /\/\.bitcoin\//, /^\.ethereum$/, /^\.ethereum\//, /\/\.ethereum$/, /\/\.ethereum\//, /^\.electrum$/, /^\.electrum\//, /\/\.electrum$/, /\/\.electrum\//, ]; /** * Files that contain sensitive security data (credentials, secrets, API keys) */ export const IGNORED_FILE_PATTERNS: RegExp[] = [ // Environment files with secrets /^\.env$/, /^\.env\.local$/, /^\.env\.development$/, /^\.env\.production$/, /^\.env\.test$/, /^\.env\..+$/, /\.env$/, /\.env\.local$/, /\.env\..+$/, // Credential files /^\.npmrc$/, /^\.pypirc$/, /^\.netrc$/, /^\.dockercfg$/, /^\.docker\/config\.json$/, /^credentials$/, /^\.credentials$/, /^\.aws\/credentials$/, /^\.aws\/config$/, // SSH keys (specific patterns) /^\.ssh\/.*$/, /^id_rsa$/, /^id_dsa$/, /^id_ecdsa$/, /^id_ed25519$/, /^id_rsa\.pub$/, /^id_dsa\.pub$/, /^id_ecdsa\.pub$/, /^id_ed25519\.pub$/, /^known_hosts$/, /^authorized_keys$/, // SSH key patterns (broad - any file ending with key types) /.*_rsa$/, /.*_dsa$/, /.*_ecdsa$/, /.*_ed25519$/, // Private keys (specific patterns) /^private.*\.key$/, /^private.*\.pem$/, /^.*[-_]private[-_].*\.key$/, /^.*[-_]private[-_].*\.pem$/, /[-_]private\.key$/, /[-_]private\.pem$/, /^.*\.private\.key$/, /^.*\.private\.pem$/, // Certificates and keys (broad - blocks ALL .pem, .key, .crt, .cer files) /\.pem$/, /\.key$/, /\.crt$/, /\.cer$/, // Certificate stores and keystores (always sensitive) /\.keystore$/, /\.p12$/, /\.pfx$/, /\.jks$/, /\.ppk$/, // PuTTY private keys // Cloud provider credentials /^service[-_]account.*\.json$/, /^.*-service[-_]account.*\.json$/, /^application[-_]default[-_]credentials\.json$/, /^gcloud[-_]credentials\.json$/, // Kubernetes /^kubeconfig$/, /^\.kube\/config$/, /^k8s[-_]config$/, // Terraform /^terraform\.tfstate$/, /^terraform\.tfstate\.backup$/, /^terraform\.tfvars$/, /^\.terraform\.lock\.hcl$/, // Database credentials /^\.pgpass$/, /^\.my\.cnf$/, /^\.psqlrc$/, // Ruby/Rails secrets /^secrets\.yml$/, /^master\.key$/, /^config\/master\.key$/, // PHP/WordPress /^wp-config\.php$/, // Mobile app secrets /^google-services\.json$/, /^GoogleService-Info\.plist$/, /^keystore\.properties$/, /\.mobileprovision$/, /\.provisionprofile$/, // Token files (specific patterns) /^\.token$/, /^token\.txt$/, /^access_token$/, /^refresh_token$/, /^bearer_token$/, /^auth_token$/, // VPN configs /\.ovpn$/, // OAuth/SAML (specific files) /^client_secret.*\.json$/, /^oauth2.*\.json$/, // Password/secret files (specific names only) /^\.password$/, /^password\.txt$/, /^passwords\.txt$/, /^\.secret$/, /^secret\.txt$/, /^secrets\.txt$/, /^apikey\.txt$/, /^api_key\.txt$/, /^api-key\.txt$/, // Git credentials /^\.git-credentials$/, /^git-credentials$/, // Web server authentication /^\.htpasswd$/, // Composer (PHP) authentication /^auth\.json$/, // FTP credentials /^\.ftpconfig$/, /^ftpconfig\.json$/, // Windows credentials /^_netrc$/, // Shell history (can contain secrets in commands) /^\.bash_history$/, /^\.zsh_history$/, /^\.sh_history$/, /^\.history$/, // Database history (can contain credentials in queries) /^\.mysql_history$/, /^\.psql_history$/, /^\.sqlite_history$/, // Python/pip authentication /^\.pip\/pip\.conf$/, // Jenkins credentials /^credentials\.xml$/, /^secrets\/.*\.xml$/, // Unix shadow files /^shadow$/, /^shadow\.bak$/, /^gshadow$/, // Email client configs (can contain passwords) /^\.muttrc$/, /^\.mailrc$/, // IRC client configs (can contain passwords) /^\.ircrc$/, // S3 credentials /^\.s3cfg$/, /^s3cfg$/, // Slack tokens /^\.slack-token$/, /^slack[-_]token$/, // GitHub tokens /^\.github[-_]token$/, /^github[-_]token$/, // Heroku credentials /^\.netrc\.heroku$/, // CircleCI local config /^\.circleci\/local[-_]config\.yml$/, // Ansible vault files /^vault[-_]pass.*\.txt$/, /^\.vault[-_]pass.*$/, // NPM automation tokens /^\.npm[-_]token$/, // Maven settings (can contain repository credentials) /^settings\.xml$/, /^\.m2\/settings\.xml$/, // Gradle credentials /^gradle\.properties$/, /^\.gradle\/gradle\.properties$/, // Subversion credentials /^\.subversion\/auth\/.*$/, // Browser credential storage (CRITICAL - contains saved passwords) /^Login Data$/, /^Cookies$/, /\/Login Data$/, /\/Cookies$/, /\/logins\.json$/, /\/key[34]\.db$/, /\.mozilla\/firefox\/.*\/logins\.json$/, /\.mozilla\/firefox\/.*\/key[34]\.db$/, /\.config\/chromium\/.*\/Login Data$/, /\.config\/google-chrome\/.*\/Login Data$/, // Password manager databases (CRITICAL) /\.kdbx$/, // KeePass database /\.kdb$/, // KeePass (old format) /^1Password\.sqlite$/, /^1Password.*\.sqlite$/, /\.agilekeychain\//, /\.opvault\//, /^password-store$/, /^passwords\.kdbx$/, /^keepass\.kdbx$/, // Cryptocurrency wallet files (CRITICAL) /^wallet\.dat$/, /^default_wallet$/, /^\.bitcoin\/wallet\.dat$/, /^\.ethereum\/keystore\/.*$/, /^\.electrum\/wallets\/.*$/, /\/keystore\/UTC--.*$/, // Database dump files (often contain credentials/sensitive data) /\.sql$/, /\.dump$/, /\.db$/, /\.sqlite$/, /\.sqlite3$/, /^dump\.rdb$/, // Redis dump /^mongodb\.dump$/, /\.bson$/, // Backup files (may contain original sensitive data) /~$/, // Unix backup files (file~) /\.bak$/, /\.backup$/, /\.old$/, /\.orig$/, /\.save$/, // Editor temporary/swap files (may contain unsaved sensitive data) /\.swp$/, // Vim swap /\.swo$/, // Vim swap /\.swn$/, // Vim swap /^\.#.*$/, // Emacs lock files /^\.#.+$/, // Emacs auto-save // IDE configuration with potential secrets /^\.vscode\/settings\.json$/, /^\.vscode\/launch\.json$/, /^\.idea\/workspace\.xml$/, /^\.idea\/dataSources\.xml$/, /^\.idea\/webServers\.xml$/, /^\.idea\/deployment\.xml$/, // CI/CD configuration files (can contain encrypted secrets) /^\.travis\.yml$/, /^\.gitlab-ci\.yml$/, /^bitbucket-pipelines\.yml$/, /^\.circleci\/config\.yml$/, /^\.github\/workflows\/.*\.yml$/, /^\.github\/workflows\/.*\.yaml$/, /^azure-pipelines\.yml$/, /^Jenkinsfile$/, /^\.drone\.yml$/, // Vagrant/VM private keys /^\.vagrant\/machines\/.*\/private_key$/, /^\.vagrant\.d\/insecure_private_key$/, // Session and cookie files /^cookies\.txt$/, /^\.cookies$/, /^session$/, /^sessionid$/, /^\.wget-hsts$/, // Core dumps (contain memory with potential secrets) /^core$/, /^core\.\d+$/, /\.core$/, /\.dmp$/, // Windows crash dump /\.mdmp$/, // Windows minidump // Jupyter notebooks (often contain hardcoded API keys) /\.ipynb$/, /\.ipynb_checkpoints\//, // Generic configuration files (often contain secrets) /^config\.json$/, /^config\.yaml$/, /^config\.yml$/, /^settings\.json$/, /^configuration\.json$/, /^app\.config$/, /^appsettings\.json$/, /^appsettings\..*\.json$/, // Log files (may contain accidentally logged secrets) /\.log$/, /\.out$/, /^debug\.log$/, /^error\.log$/, /^access\.log$/, // Windows credential files /^Credentials$/, /^NTUSER\.DAT$/, /^SAM$/, // macOS keychain files /\.keychain$/, /\.keychain-db$/, // Certificate signing requests (can reveal private key info) /\.csr$/, // Additional token/secret files /^oauth[-_]token.*$/, /^bearer[-_]token.*$/, /^jwt[-_]token.*$/, /^\.token\..*$/, /^api[-_]keys?\..*$/, // Additional database history files /^\.redis_history$/, /^\.mongo_history$/, /^\.dbshell$/, // Docker compose with potential secrets /^docker-compose\.override\.yml$/, /^docker-compose\..*\.yml$/, // Additional cloud provider files /^\.gcp[-_]credentials\.json$/, /^\.azure[-_]credentials$/, /^\.do[-_]token$/, // DigitalOcean /^\.linode[-_]token$/, // Email/SMTP credentials /^\.msmtprc$/, /^\.fetchmailrc$/, // Additional VPN files /\.conf$/, // Can be VPN configs /^wireguard\.conf$/, /^wg[0-9]+\.conf$/, // Private documentation (sometimes contains passwords) /^PASSWORDS\.md$/, /^SECRETS\.md$/, /^CREDENTIALS\.md$/, /^ACCESS\.md$/, // Laravel .env variants /^\.env\.dusk\..*$/, // Private keys for code signing /\.asc$/, // ASCII armored keys /\.gpg$/, // GPG keys // SSH config (can contain jump host credentials) /^\.ssh\/config$/, // RDP files (Windows Remote Desktop - contain credentials) /\.rdp$/, // Credential wallets /^credentials\.db$/, /^credentials\.sqlite$/, // Postman collections (can contain API keys) /\.postman_environment\.json$/, // Additional Ruby secrets /^\.ruby-env$/, /^\.rbenv-vars$/, // Additional Python secrets /^\.python-env$/, // Node.js environment /^\.node-env$/, // Rsync password file /^\.rsync[-_]password$/, /^rsync[-_]password$/, ];

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bgauryy/local-explorer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server