clawsec 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +560 -0
- package/dist/bin/clawsec.d.ts +7 -0
- package/dist/bin/clawsec.d.ts.map +1 -0
- package/dist/bin/clawsec.js +12 -0
- package/dist/bin/clawsec.js.map +1 -0
- package/dist/src/actions/block.d.ts +22 -0
- package/dist/src/actions/block.d.ts.map +1 -0
- package/dist/src/actions/block.js +83 -0
- package/dist/src/actions/block.js.map +1 -0
- package/dist/src/actions/confirm.d.ts +35 -0
- package/dist/src/actions/confirm.d.ts.map +1 -0
- package/dist/src/actions/confirm.js +156 -0
- package/dist/src/actions/confirm.js.map +1 -0
- package/dist/src/actions/executor.d.ts +64 -0
- package/dist/src/actions/executor.d.ts.map +1 -0
- package/dist/src/actions/executor.js +114 -0
- package/dist/src/actions/executor.js.map +1 -0
- package/dist/src/actions/index.d.ts +13 -0
- package/dist/src/actions/index.d.ts.map +1 -0
- package/dist/src/actions/index.js +15 -0
- package/dist/src/actions/index.js.map +1 -0
- package/dist/src/actions/log.d.ts +19 -0
- package/dist/src/actions/log.d.ts.map +1 -0
- package/dist/src/actions/log.js +63 -0
- package/dist/src/actions/log.js.map +1 -0
- package/dist/src/actions/types.d.ts +85 -0
- package/dist/src/actions/types.d.ts.map +1 -0
- package/dist/src/actions/types.js +78 -0
- package/dist/src/actions/types.js.map +1 -0
- package/dist/src/actions/warn.d.ts +22 -0
- package/dist/src/actions/warn.d.ts.map +1 -0
- package/dist/src/actions/warn.js +84 -0
- package/dist/src/actions/warn.js.map +1 -0
- package/dist/src/approval/agent-confirm.d.ts +104 -0
- package/dist/src/approval/agent-confirm.d.ts.map +1 -0
- package/dist/src/approval/agent-confirm.js +173 -0
- package/dist/src/approval/agent-confirm.js.map +1 -0
- package/dist/src/approval/index.d.ts +14 -0
- package/dist/src/approval/index.d.ts.map +1 -0
- package/dist/src/approval/index.js +9 -0
- package/dist/src/approval/index.js.map +1 -0
- package/dist/src/approval/native.d.ts +56 -0
- package/dist/src/approval/native.d.ts.map +1 -0
- package/dist/src/approval/native.js +196 -0
- package/dist/src/approval/native.js.map +1 -0
- package/dist/src/approval/store.d.ts +88 -0
- package/dist/src/approval/store.d.ts.map +1 -0
- package/dist/src/approval/store.js +192 -0
- package/dist/src/approval/store.js.map +1 -0
- package/dist/src/approval/types.d.ts +119 -0
- package/dist/src/approval/types.d.ts.map +1 -0
- package/dist/src/approval/types.js +6 -0
- package/dist/src/approval/types.js.map +1 -0
- package/dist/src/approval/webhook.d.ts +170 -0
- package/dist/src/approval/webhook.d.ts.map +1 -0
- package/dist/src/approval/webhook.js +362 -0
- package/dist/src/approval/webhook.js.map +1 -0
- package/dist/src/cli/commands/audit.d.ts +43 -0
- package/dist/src/cli/commands/audit.d.ts.map +1 -0
- package/dist/src/cli/commands/audit.js +115 -0
- package/dist/src/cli/commands/audit.js.map +1 -0
- package/dist/src/cli/commands/feedback.d.ts +27 -0
- package/dist/src/cli/commands/feedback.d.ts.map +1 -0
- package/dist/src/cli/commands/feedback.js +228 -0
- package/dist/src/cli/commands/feedback.js.map +1 -0
- package/dist/src/cli/commands/index.d.ts +11 -0
- package/dist/src/cli/commands/index.d.ts.map +1 -0
- package/dist/src/cli/commands/index.js +13 -0
- package/dist/src/cli/commands/index.js.map +1 -0
- package/dist/src/cli/commands/status.d.ts +20 -0
- package/dist/src/cli/commands/status.d.ts.map +1 -0
- package/dist/src/cli/commands/status.js +122 -0
- package/dist/src/cli/commands/status.js.map +1 -0
- package/dist/src/cli/commands/test.d.ts +23 -0
- package/dist/src/cli/commands/test.d.ts.map +1 -0
- package/dist/src/cli/commands/test.js +134 -0
- package/dist/src/cli/commands/test.js.map +1 -0
- package/dist/src/cli/commands/types.d.ts +81 -0
- package/dist/src/cli/commands/types.d.ts.map +1 -0
- package/dist/src/cli/commands/types.js +6 -0
- package/dist/src/cli/commands/types.js.map +1 -0
- package/dist/src/cli/index.d.ts +17 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +267 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/config/defaults.d.ts +20 -0
- package/dist/src/config/defaults.d.ts.map +1 -0
- package/dist/src/config/defaults.js +123 -0
- package/dist/src/config/defaults.js.map +1 -0
- package/dist/src/config/index.d.ts +8 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +41 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/loader.d.ts +99 -0
- package/dist/src/config/loader.d.ts.map +1 -0
- package/dist/src/config/loader.js +242 -0
- package/dist/src/config/loader.js.map +1 -0
- package/dist/src/config/schema.d.ts +627 -0
- package/dist/src/config/schema.d.ts.map +1 -0
- package/dist/src/config/schema.js +585 -0
- package/dist/src/config/schema.js.map +1 -0
- package/dist/src/detectors/destructive/cloud-detector.d.ts +51 -0
- package/dist/src/detectors/destructive/cloud-detector.d.ts.map +1 -0
- package/dist/src/detectors/destructive/cloud-detector.js +556 -0
- package/dist/src/detectors/destructive/cloud-detector.js.map +1 -0
- package/dist/src/detectors/destructive/code-detector.d.ts +59 -0
- package/dist/src/detectors/destructive/code-detector.d.ts.map +1 -0
- package/dist/src/detectors/destructive/code-detector.js +558 -0
- package/dist/src/detectors/destructive/code-detector.js.map +1 -0
- package/dist/src/detectors/destructive/index.d.ts +54 -0
- package/dist/src/detectors/destructive/index.d.ts.map +1 -0
- package/dist/src/detectors/destructive/index.js +168 -0
- package/dist/src/detectors/destructive/index.js.map +1 -0
- package/dist/src/detectors/destructive/shell-detector.d.ts +43 -0
- package/dist/src/detectors/destructive/shell-detector.d.ts.map +1 -0
- package/dist/src/detectors/destructive/shell-detector.js +302 -0
- package/dist/src/detectors/destructive/shell-detector.js.map +1 -0
- package/dist/src/detectors/destructive/types.d.ts +143 -0
- package/dist/src/detectors/destructive/types.d.ts.map +1 -0
- package/dist/src/detectors/destructive/types.js +6 -0
- package/dist/src/detectors/destructive/types.js.map +1 -0
- package/dist/src/detectors/exfiltration/cloud-detector.d.ts +51 -0
- package/dist/src/detectors/exfiltration/cloud-detector.d.ts.map +1 -0
- package/dist/src/detectors/exfiltration/cloud-detector.js +427 -0
- package/dist/src/detectors/exfiltration/cloud-detector.js.map +1 -0
- package/dist/src/detectors/exfiltration/http-detector.d.ts +47 -0
- package/dist/src/detectors/exfiltration/http-detector.d.ts.map +1 -0
- package/dist/src/detectors/exfiltration/http-detector.js +429 -0
- package/dist/src/detectors/exfiltration/http-detector.js.map +1 -0
- package/dist/src/detectors/exfiltration/index.d.ts +44 -0
- package/dist/src/detectors/exfiltration/index.d.ts.map +1 -0
- package/dist/src/detectors/exfiltration/index.js +118 -0
- package/dist/src/detectors/exfiltration/index.js.map +1 -0
- package/dist/src/detectors/exfiltration/network-detector.d.ts +55 -0
- package/dist/src/detectors/exfiltration/network-detector.d.ts.map +1 -0
- package/dist/src/detectors/exfiltration/network-detector.js +504 -0
- package/dist/src/detectors/exfiltration/network-detector.js.map +1 -0
- package/dist/src/detectors/exfiltration/types.d.ts +139 -0
- package/dist/src/detectors/exfiltration/types.d.ts.map +1 -0
- package/dist/src/detectors/exfiltration/types.js +6 -0
- package/dist/src/detectors/exfiltration/types.js.map +1 -0
- package/dist/src/detectors/purchase/domain-detector.d.ts +44 -0
- package/dist/src/detectors/purchase/domain-detector.d.ts.map +1 -0
- package/dist/src/detectors/purchase/domain-detector.js +296 -0
- package/dist/src/detectors/purchase/domain-detector.js.map +1 -0
- package/dist/src/detectors/purchase/form-detector.d.ts +27 -0
- package/dist/src/detectors/purchase/form-detector.d.ts.map +1 -0
- package/dist/src/detectors/purchase/form-detector.js +344 -0
- package/dist/src/detectors/purchase/form-detector.js.map +1 -0
- package/dist/src/detectors/purchase/index.d.ts +65 -0
- package/dist/src/detectors/purchase/index.d.ts.map +1 -0
- package/dist/src/detectors/purchase/index.js +216 -0
- package/dist/src/detectors/purchase/index.js.map +1 -0
- package/dist/src/detectors/purchase/spend-tracker.d.ts +132 -0
- package/dist/src/detectors/purchase/spend-tracker.d.ts.map +1 -0
- package/dist/src/detectors/purchase/spend-tracker.js +313 -0
- package/dist/src/detectors/purchase/spend-tracker.js.map +1 -0
- package/dist/src/detectors/purchase/types.d.ts +139 -0
- package/dist/src/detectors/purchase/types.d.ts.map +1 -0
- package/dist/src/detectors/purchase/types.js +6 -0
- package/dist/src/detectors/purchase/types.js.map +1 -0
- package/dist/src/detectors/purchase/url-detector.d.ts +31 -0
- package/dist/src/detectors/purchase/url-detector.d.ts.map +1 -0
- package/dist/src/detectors/purchase/url-detector.js +292 -0
- package/dist/src/detectors/purchase/url-detector.js.map +1 -0
- package/dist/src/detectors/secrets/api-key-detector.d.ts +30 -0
- package/dist/src/detectors/secrets/api-key-detector.d.ts.map +1 -0
- package/dist/src/detectors/secrets/api-key-detector.js +297 -0
- package/dist/src/detectors/secrets/api-key-detector.js.map +1 -0
- package/dist/src/detectors/secrets/index.d.ts +43 -0
- package/dist/src/detectors/secrets/index.d.ts.map +1 -0
- package/dist/src/detectors/secrets/index.js +261 -0
- package/dist/src/detectors/secrets/index.js.map +1 -0
- package/dist/src/detectors/secrets/pii-detector.d.ts +54 -0
- package/dist/src/detectors/secrets/pii-detector.d.ts.map +1 -0
- package/dist/src/detectors/secrets/pii-detector.js +286 -0
- package/dist/src/detectors/secrets/pii-detector.js.map +1 -0
- package/dist/src/detectors/secrets/token-detector.d.ts +51 -0
- package/dist/src/detectors/secrets/token-detector.d.ts.map +1 -0
- package/dist/src/detectors/secrets/token-detector.js +233 -0
- package/dist/src/detectors/secrets/token-detector.js.map +1 -0
- package/dist/src/detectors/secrets/types.d.ts +157 -0
- package/dist/src/detectors/secrets/types.d.ts.map +1 -0
- package/dist/src/detectors/secrets/types.js +6 -0
- package/dist/src/detectors/secrets/types.js.map +1 -0
- package/dist/src/detectors/website/category-detector.d.ts +22 -0
- package/dist/src/detectors/website/category-detector.d.ts.map +1 -0
- package/dist/src/detectors/website/category-detector.js +162 -0
- package/dist/src/detectors/website/category-detector.js.map +1 -0
- package/dist/src/detectors/website/index.d.ts +53 -0
- package/dist/src/detectors/website/index.d.ts.map +1 -0
- package/dist/src/detectors/website/index.js +232 -0
- package/dist/src/detectors/website/index.js.map +1 -0
- package/dist/src/detectors/website/pattern-matcher.d.ts +33 -0
- package/dist/src/detectors/website/pattern-matcher.d.ts.map +1 -0
- package/dist/src/detectors/website/pattern-matcher.js +121 -0
- package/dist/src/detectors/website/pattern-matcher.js.map +1 -0
- package/dist/src/detectors/website/types.d.ts +105 -0
- package/dist/src/detectors/website/types.d.ts.map +1 -0
- package/dist/src/detectors/website/types.js +6 -0
- package/dist/src/detectors/website/types.js.map +1 -0
- package/dist/src/engine/analyzer.d.ts +87 -0
- package/dist/src/engine/analyzer.d.ts.map +1 -0
- package/dist/src/engine/analyzer.js +427 -0
- package/dist/src/engine/analyzer.js.map +1 -0
- package/dist/src/engine/cache.d.ts +80 -0
- package/dist/src/engine/cache.d.ts.map +1 -0
- package/dist/src/engine/cache.js +167 -0
- package/dist/src/engine/cache.js.map +1 -0
- package/dist/src/engine/index.d.ts +11 -0
- package/dist/src/engine/index.d.ts.map +1 -0
- package/dist/src/engine/index.js +11 -0
- package/dist/src/engine/index.js.map +1 -0
- package/dist/src/engine/llm-client.d.ts +210 -0
- package/dist/src/engine/llm-client.d.ts.map +1 -0
- package/dist/src/engine/llm-client.js +506 -0
- package/dist/src/engine/llm-client.js.map +1 -0
- package/dist/src/engine/types.d.ts +163 -0
- package/dist/src/engine/types.d.ts.map +1 -0
- package/dist/src/engine/types.js +21 -0
- package/dist/src/engine/types.js.map +1 -0
- package/dist/src/feedback/index.d.ts +9 -0
- package/dist/src/feedback/index.d.ts.map +1 -0
- package/dist/src/feedback/index.js +8 -0
- package/dist/src/feedback/index.js.map +1 -0
- package/dist/src/feedback/learner.d.ts +222 -0
- package/dist/src/feedback/learner.d.ts.map +1 -0
- package/dist/src/feedback/learner.js +401 -0
- package/dist/src/feedback/learner.js.map +1 -0
- package/dist/src/feedback/store.d.ts +113 -0
- package/dist/src/feedback/store.d.ts.map +1 -0
- package/dist/src/feedback/store.js +228 -0
- package/dist/src/feedback/store.js.map +1 -0
- package/dist/src/feedback/types.d.ts +126 -0
- package/dist/src/feedback/types.d.ts.map +1 -0
- package/dist/src/feedback/types.js +6 -0
- package/dist/src/feedback/types.js.map +1 -0
- package/dist/src/hooks/before-agent-start/handler.d.ts +37 -0
- package/dist/src/hooks/before-agent-start/handler.d.ts.map +1 -0
- package/dist/src/hooks/before-agent-start/handler.js +109 -0
- package/dist/src/hooks/before-agent-start/handler.js.map +1 -0
- package/dist/src/hooks/before-agent-start/index.d.ts +8 -0
- package/dist/src/hooks/before-agent-start/index.d.ts.map +1 -0
- package/dist/src/hooks/before-agent-start/index.js +7 -0
- package/dist/src/hooks/before-agent-start/index.js.map +1 -0
- package/dist/src/hooks/before-agent-start/prompts.d.ts +48 -0
- package/dist/src/hooks/before-agent-start/prompts.d.ts.map +1 -0
- package/dist/src/hooks/before-agent-start/prompts.js +103 -0
- package/dist/src/hooks/before-agent-start/prompts.js.map +1 -0
- package/dist/src/hooks/before-tool-call/handler.d.ts +42 -0
- package/dist/src/hooks/before-tool-call/handler.d.ts.map +1 -0
- package/dist/src/hooks/before-tool-call/handler.js +226 -0
- package/dist/src/hooks/before-tool-call/handler.js.map +1 -0
- package/dist/src/hooks/before-tool-call/index.d.ts +7 -0
- package/dist/src/hooks/before-tool-call/index.d.ts.map +1 -0
- package/dist/src/hooks/before-tool-call/index.js +6 -0
- package/dist/src/hooks/before-tool-call/index.js.map +1 -0
- package/dist/src/hooks/tool-result-persist/filter.d.ts +72 -0
- package/dist/src/hooks/tool-result-persist/filter.d.ts.map +1 -0
- package/dist/src/hooks/tool-result-persist/filter.js +305 -0
- package/dist/src/hooks/tool-result-persist/filter.js.map +1 -0
- package/dist/src/hooks/tool-result-persist/handler.d.ts +49 -0
- package/dist/src/hooks/tool-result-persist/handler.d.ts.map +1 -0
- package/dist/src/hooks/tool-result-persist/handler.js +217 -0
- package/dist/src/hooks/tool-result-persist/handler.js.map +1 -0
- package/dist/src/hooks/tool-result-persist/index.d.ts +11 -0
- package/dist/src/hooks/tool-result-persist/index.d.ts.map +1 -0
- package/dist/src/hooks/tool-result-persist/index.js +11 -0
- package/dist/src/hooks/tool-result-persist/index.js.map +1 -0
- package/dist/src/index.d.ts +256 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +222 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/notifications/discord.d.ts +10 -0
- package/dist/src/notifications/discord.d.ts.map +1 -0
- package/dist/src/notifications/discord.js +218 -0
- package/dist/src/notifications/discord.js.map +1 -0
- package/dist/src/notifications/index.d.ts +37 -0
- package/dist/src/notifications/index.d.ts.map +1 -0
- package/dist/src/notifications/index.js +68 -0
- package/dist/src/notifications/index.js.map +1 -0
- package/dist/src/notifications/slack.d.ts +10 -0
- package/dist/src/notifications/slack.d.ts.map +1 -0
- package/dist/src/notifications/slack.js +218 -0
- package/dist/src/notifications/slack.js.map +1 -0
- package/dist/src/notifications/telegram.d.ts +10 -0
- package/dist/src/notifications/telegram.d.ts.map +1 -0
- package/dist/src/notifications/telegram.js +242 -0
- package/dist/src/notifications/telegram.js.map +1 -0
- package/dist/src/notifications/types.d.ts +119 -0
- package/dist/src/notifications/types.d.ts.map +1 -0
- package/dist/src/notifications/types.js +6 -0
- package/dist/src/notifications/types.js.map +1 -0
- package/dist/src/proxy/index.d.ts +8 -0
- package/dist/src/proxy/index.d.ts.map +1 -0
- package/dist/src/proxy/index.js +9 -0
- package/dist/src/proxy/index.js.map +1 -0
- package/dist/src/proxy/middleware.d.ts +55 -0
- package/dist/src/proxy/middleware.d.ts.map +1 -0
- package/dist/src/proxy/middleware.js +215 -0
- package/dist/src/proxy/middleware.js.map +1 -0
- package/dist/src/proxy/server.d.ts +57 -0
- package/dist/src/proxy/server.d.ts.map +1 -0
- package/dist/src/proxy/server.js +298 -0
- package/dist/src/proxy/server.js.map +1 -0
- package/dist/src/proxy/types.d.ts +136 -0
- package/dist/src/proxy/types.d.ts.map +1 -0
- package/dist/src/proxy/types.js +6 -0
- package/dist/src/proxy/types.js.map +1 -0
- package/dist/src/sanitization/index.d.ts +10 -0
- package/dist/src/sanitization/index.d.ts.map +1 -0
- package/dist/src/sanitization/index.js +9 -0
- package/dist/src/sanitization/index.js.map +1 -0
- package/dist/src/sanitization/patterns.d.ts +51 -0
- package/dist/src/sanitization/patterns.d.ts.map +1 -0
- package/dist/src/sanitization/patterns.js +266 -0
- package/dist/src/sanitization/patterns.js.map +1 -0
- package/dist/src/sanitization/scanner.d.ts +29 -0
- package/dist/src/sanitization/scanner.d.ts.map +1 -0
- package/dist/src/sanitization/scanner.js +328 -0
- package/dist/src/sanitization/scanner.js.map +1 -0
- package/dist/src/sanitization/types.d.ts +57 -0
- package/dist/src/sanitization/types.d.ts.map +1 -0
- package/dist/src/sanitization/types.js +5 -0
- package/dist/src/sanitization/types.js.map +1 -0
- package/openclaw.plugin.json +114 -0
- package/package.json +63 -0
- package/rules/builtin/README.md +139 -0
- package/rules/builtin/ai-services.yaml +70 -0
- package/rules/builtin/api-keys.yaml +64 -0
- package/rules/builtin/authentication.yaml +56 -0
- package/rules/builtin/aws-security.yaml +57 -0
- package/rules/builtin/azure-security.yaml +58 -0
- package/rules/builtin/cicd-security.yaml +64 -0
- package/rules/builtin/cloud-storage.yaml +64 -0
- package/rules/builtin/container-registry.yaml +55 -0
- package/rules/builtin/crypto-wallets.yaml +71 -0
- package/rules/builtin/database-nosql.yaml +58 -0
- package/rules/builtin/database-sql.yaml +62 -0
- package/rules/builtin/development-env.yaml +67 -0
- package/rules/builtin/docker.yaml +57 -0
- package/rules/builtin/filesystem.yaml +71 -0
- package/rules/builtin/financial-pci.yaml +61 -0
- package/rules/builtin/gcp-security.yaml +57 -0
- package/rules/builtin/git-operations.yaml +68 -0
- package/rules/builtin/healthcare-hipaa.yaml +64 -0
- package/rules/builtin/kubernetes.yaml +60 -0
- package/rules/builtin/messaging-services.yaml +53 -0
- package/rules/builtin/minimal.yaml +47 -0
- package/rules/builtin/mobile-development.yaml +61 -0
- package/rules/builtin/monitoring.yaml +63 -0
- package/rules/builtin/network-security.yaml +57 -0
- package/rules/builtin/package-managers.yaml +74 -0
- package/rules/builtin/payment-processing.yaml +66 -0
- package/rules/builtin/pii-protection.yaml +48 -0
- package/rules/builtin/production-strict.yaml +55 -0
- package/rules/builtin/secrets-management.yaml +63 -0
- package/rules/builtin/serverless.yaml +74 -0
- package/rules/builtin/ssh-security.yaml +66 -0
- package/rules/builtin/terraform.yaml +51 -0
- package/rules/builtin/web-security.yaml +62 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Minimal Security Rules
|
|
2
|
+
# Lightweight security for trusted environments
|
|
3
|
+
|
|
4
|
+
name: minimal
|
|
5
|
+
description: Minimal security rules for trusted environments
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
destructive:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: confirm
|
|
13
|
+
shell:
|
|
14
|
+
enabled: true
|
|
15
|
+
patterns:
|
|
16
|
+
# Only the most dangerous commands
|
|
17
|
+
- "rm -rf /"
|
|
18
|
+
- "rm -rf /*"
|
|
19
|
+
- "dd if=/dev/zero of=/dev/sda"
|
|
20
|
+
- "mkfs"
|
|
21
|
+
- ":(){:|:&};:" # Fork bomb
|
|
22
|
+
cloud:
|
|
23
|
+
enabled: false
|
|
24
|
+
code:
|
|
25
|
+
enabled: false
|
|
26
|
+
|
|
27
|
+
secrets:
|
|
28
|
+
enabled: true
|
|
29
|
+
severity: critical
|
|
30
|
+
action: warn
|
|
31
|
+
patterns:
|
|
32
|
+
# Only catch actual production secrets
|
|
33
|
+
- "-----BEGIN.*PRIVATE KEY-----"
|
|
34
|
+
- "sk_live_" # Production Stripe
|
|
35
|
+
- "AKIA" # AWS keys
|
|
36
|
+
|
|
37
|
+
website:
|
|
38
|
+
enabled: false
|
|
39
|
+
|
|
40
|
+
purchase:
|
|
41
|
+
enabled: false
|
|
42
|
+
|
|
43
|
+
exfiltration:
|
|
44
|
+
enabled: false
|
|
45
|
+
|
|
46
|
+
sanitization:
|
|
47
|
+
enabled: false
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Mobile Development Security Rules
|
|
2
|
+
# Protects mobile app development credentials
|
|
3
|
+
|
|
4
|
+
name: mobile-development
|
|
5
|
+
description: Security rules for mobile app development
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
secrets:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
patterns:
|
|
14
|
+
# iOS/Apple
|
|
15
|
+
- "APPLE_ID"
|
|
16
|
+
- "APPLE_TEAM_ID"
|
|
17
|
+
- "APP_STORE_CONNECT_API_KEY"
|
|
18
|
+
- "IOS_DISTRIBUTION_CERTIFICATE"
|
|
19
|
+
- "FASTLANE_PASSWORD"
|
|
20
|
+
- "FASTLANE_SESSION"
|
|
21
|
+
- "MATCH_PASSWORD"
|
|
22
|
+
|
|
23
|
+
# Android/Google Play
|
|
24
|
+
- "GOOGLE_PLAY_JSON_KEY"
|
|
25
|
+
- "ANDROID_KEYSTORE_PASSWORD"
|
|
26
|
+
- "ANDROID_KEY_PASSWORD"
|
|
27
|
+
- "SUPPLY_JSON_KEY"
|
|
28
|
+
|
|
29
|
+
# Firebase
|
|
30
|
+
- "FIREBASE_TOKEN"
|
|
31
|
+
- "FIREBASE_API_KEY"
|
|
32
|
+
- "GOOGLE_APPLICATION_CREDENTIALS"
|
|
33
|
+
- "AAAA[A-Za-z0-9_-]{7}:[A-Za-z0-9_-]{140}"
|
|
34
|
+
|
|
35
|
+
# Expo
|
|
36
|
+
- "EXPO_TOKEN"
|
|
37
|
+
- "EXPO_CLI_PASSWORD"
|
|
38
|
+
|
|
39
|
+
# App Center
|
|
40
|
+
- "APPCENTER_API_TOKEN"
|
|
41
|
+
|
|
42
|
+
# Crashlytics
|
|
43
|
+
- "CRASHLYTICS_API_KEY"
|
|
44
|
+
|
|
45
|
+
# TestFlight
|
|
46
|
+
- "TESTFLIGHT_"
|
|
47
|
+
|
|
48
|
+
# Code signing
|
|
49
|
+
- "SIGNING_KEY"
|
|
50
|
+
- "KEYSTORE_PASSWORD"
|
|
51
|
+
- "KEY_ALIAS"
|
|
52
|
+
|
|
53
|
+
destructive:
|
|
54
|
+
enabled: true
|
|
55
|
+
severity: high
|
|
56
|
+
action: confirm
|
|
57
|
+
patterns:
|
|
58
|
+
- "fastlane deliver"
|
|
59
|
+
- "fastlane supply"
|
|
60
|
+
- "expo publish"
|
|
61
|
+
- "appcenter distribute"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Monitoring & Observability Security Rules
|
|
2
|
+
# Protects monitoring service credentials
|
|
3
|
+
|
|
4
|
+
name: monitoring
|
|
5
|
+
description: Security rules for monitoring and observability services
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
secrets:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
patterns:
|
|
14
|
+
# Datadog
|
|
15
|
+
- "DD_API_KEY"
|
|
16
|
+
- "DD_APP_KEY"
|
|
17
|
+
- "DATADOG_API_KEY"
|
|
18
|
+
|
|
19
|
+
# New Relic
|
|
20
|
+
- "NEW_RELIC_LICENSE_KEY"
|
|
21
|
+
- "NEW_RELIC_API_KEY"
|
|
22
|
+
- "NRAK-[A-Z0-9]{27}"
|
|
23
|
+
|
|
24
|
+
# Sentry
|
|
25
|
+
- "SENTRY_DSN"
|
|
26
|
+
- "SENTRY_AUTH_TOKEN"
|
|
27
|
+
|
|
28
|
+
# Splunk
|
|
29
|
+
- "SPLUNK_TOKEN"
|
|
30
|
+
- "SPLUNK_HEC_TOKEN"
|
|
31
|
+
|
|
32
|
+
# Grafana
|
|
33
|
+
- "GRAFANA_API_KEY"
|
|
34
|
+
- "GF_SECURITY_ADMIN_PASSWORD"
|
|
35
|
+
|
|
36
|
+
# PagerDuty
|
|
37
|
+
- "PAGERDUTY_ROUTING_KEY"
|
|
38
|
+
- "PAGERDUTY_API_KEY"
|
|
39
|
+
|
|
40
|
+
# Honeycomb
|
|
41
|
+
- "HONEYCOMB_API_KEY"
|
|
42
|
+
|
|
43
|
+
# LogDNA/Mezmo
|
|
44
|
+
- "LOGDNA_API_KEY"
|
|
45
|
+
|
|
46
|
+
# Papertrail
|
|
47
|
+
- "PAPERTRAIL_API_TOKEN"
|
|
48
|
+
|
|
49
|
+
# Loggly
|
|
50
|
+
- "LOGGLY_TOKEN"
|
|
51
|
+
|
|
52
|
+
# Elasticsearch/Kibana
|
|
53
|
+
- "ELASTIC_PASSWORD"
|
|
54
|
+
- "ELASTICSEARCH_PASSWORD"
|
|
55
|
+
|
|
56
|
+
# Prometheus
|
|
57
|
+
- "PROMETHEUS_REMOTE_WRITE_URL"
|
|
58
|
+
|
|
59
|
+
# Jaeger
|
|
60
|
+
- "JAEGER_AGENT_HOST"
|
|
61
|
+
|
|
62
|
+
# Zipkin
|
|
63
|
+
- "ZIPKIN_BASE_URL"
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Network Security Rules
|
|
2
|
+
# Protects against network-based attacks and data exfiltration
|
|
3
|
+
|
|
4
|
+
name: network-security
|
|
5
|
+
description: Prevents network-based security threats
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
exfiltration:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: high
|
|
12
|
+
action: block
|
|
13
|
+
patterns:
|
|
14
|
+
# Netcat reverse shells
|
|
15
|
+
- "nc -e"
|
|
16
|
+
- "nc -c"
|
|
17
|
+
- "ncat -e"
|
|
18
|
+
- "netcat -e"
|
|
19
|
+
- "/dev/tcp/"
|
|
20
|
+
- "/dev/udp/"
|
|
21
|
+
|
|
22
|
+
# Data exfiltration
|
|
23
|
+
- "curl.*POST.*-d"
|
|
24
|
+
- "curl.*--data"
|
|
25
|
+
- "wget.*--post-data"
|
|
26
|
+
- "curl.*@" # File upload
|
|
27
|
+
|
|
28
|
+
# DNS tunneling
|
|
29
|
+
- "iodine"
|
|
30
|
+
- "dns2tcp"
|
|
31
|
+
- "dnscat"
|
|
32
|
+
|
|
33
|
+
# Port forwarding
|
|
34
|
+
- "ssh.*-R"
|
|
35
|
+
- "ssh.*-L"
|
|
36
|
+
- "ssh.*-D"
|
|
37
|
+
- "chisel"
|
|
38
|
+
- "ngrok"
|
|
39
|
+
|
|
40
|
+
# Encoded data transfer
|
|
41
|
+
- "base64.*|.*curl"
|
|
42
|
+
- "base64.*|.*wget"
|
|
43
|
+
- "base64.*|.*nc"
|
|
44
|
+
|
|
45
|
+
website:
|
|
46
|
+
enabled: true
|
|
47
|
+
mode: blocklist
|
|
48
|
+
severity: high
|
|
49
|
+
action: block
|
|
50
|
+
blocklist:
|
|
51
|
+
- "*.onion"
|
|
52
|
+
- "*.i2p"
|
|
53
|
+
- "pastebin.com"
|
|
54
|
+
- "hastebin.com"
|
|
55
|
+
- "transfer.sh"
|
|
56
|
+
- "file.io"
|
|
57
|
+
- "0x0.st"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Package Manager Security Rules
|
|
2
|
+
# Protects package manager credentials and operations
|
|
3
|
+
|
|
4
|
+
name: package-managers
|
|
5
|
+
description: Security rules for package managers (npm, pip, etc.)
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
secrets:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
patterns:
|
|
14
|
+
# NPM
|
|
15
|
+
- "npm_[a-zA-Z0-9]{36}"
|
|
16
|
+
- "NPM_TOKEN"
|
|
17
|
+
- "NPM_AUTH_TOKEN"
|
|
18
|
+
- "//registry.npmjs.org/:_authToken"
|
|
19
|
+
|
|
20
|
+
# Yarn
|
|
21
|
+
- "YARN_NPM_AUTH_TOKEN"
|
|
22
|
+
|
|
23
|
+
# PyPI
|
|
24
|
+
- "pypi-AgEIcHlwaS5vcmc[a-zA-Z0-9-_]{50,}"
|
|
25
|
+
- "PYPI_TOKEN"
|
|
26
|
+
- "TWINE_PASSWORD"
|
|
27
|
+
|
|
28
|
+
# RubyGems
|
|
29
|
+
- "RUBYGEMS_API_KEY"
|
|
30
|
+
- "GEM_HOST_API_KEY"
|
|
31
|
+
|
|
32
|
+
# Maven/Gradle
|
|
33
|
+
- "MAVEN_PASSWORD"
|
|
34
|
+
- "GRADLE_PUBLISH_KEY"
|
|
35
|
+
- "OSSRH_PASSWORD"
|
|
36
|
+
|
|
37
|
+
# NuGet
|
|
38
|
+
- "NUGET_API_KEY"
|
|
39
|
+
- "NUGET_AUTH_TOKEN"
|
|
40
|
+
|
|
41
|
+
# Cargo (Rust)
|
|
42
|
+
- "CARGO_REGISTRY_TOKEN"
|
|
43
|
+
- "CRATES_IO_TOKEN"
|
|
44
|
+
|
|
45
|
+
# Go
|
|
46
|
+
- "GOPRIVATE"
|
|
47
|
+
- "GOPROXY"
|
|
48
|
+
|
|
49
|
+
# Composer (PHP)
|
|
50
|
+
- "COMPOSER_AUTH"
|
|
51
|
+
|
|
52
|
+
# Hex (Elixir)
|
|
53
|
+
- "HEX_API_KEY"
|
|
54
|
+
|
|
55
|
+
destructive:
|
|
56
|
+
enabled: true
|
|
57
|
+
severity: high
|
|
58
|
+
action: confirm
|
|
59
|
+
patterns:
|
|
60
|
+
# NPM
|
|
61
|
+
- "npm unpublish"
|
|
62
|
+
- "npm deprecate"
|
|
63
|
+
- "npm cache clean --force"
|
|
64
|
+
|
|
65
|
+
# Yarn
|
|
66
|
+
- "yarn cache clean"
|
|
67
|
+
|
|
68
|
+
# Pip
|
|
69
|
+
- "pip uninstall -y"
|
|
70
|
+
- "pip cache purge"
|
|
71
|
+
|
|
72
|
+
# Gem
|
|
73
|
+
- "gem uninstall"
|
|
74
|
+
- "gem yank"
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Payment Processing Security Rules
|
|
2
|
+
# Strict controls for payment and financial operations
|
|
3
|
+
|
|
4
|
+
name: payment-processing
|
|
5
|
+
description: Strict security controls for payment processing operations
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
purchase:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
spendLimits:
|
|
14
|
+
perTransaction: 50
|
|
15
|
+
daily: 200
|
|
16
|
+
domains:
|
|
17
|
+
mode: blocklist
|
|
18
|
+
blocklist:
|
|
19
|
+
# Payment processors
|
|
20
|
+
- "*.stripe.com"
|
|
21
|
+
- "*.paypal.com"
|
|
22
|
+
- "*.square.com"
|
|
23
|
+
- "*.braintree.com"
|
|
24
|
+
- "*.adyen.com"
|
|
25
|
+
- "*.authorize.net"
|
|
26
|
+
|
|
27
|
+
# E-commerce
|
|
28
|
+
- "*.amazon.com"
|
|
29
|
+
- "*.ebay.com"
|
|
30
|
+
- "*.shopify.com"
|
|
31
|
+
- "*.etsy.com"
|
|
32
|
+
- "*.alibaba.com"
|
|
33
|
+
- "*.aliexpress.com"
|
|
34
|
+
|
|
35
|
+
# Cryptocurrency
|
|
36
|
+
- "*.coinbase.com"
|
|
37
|
+
- "*.binance.com"
|
|
38
|
+
- "*.kraken.com"
|
|
39
|
+
|
|
40
|
+
# Banking
|
|
41
|
+
- "*.chase.com"
|
|
42
|
+
- "*.bankofamerica.com"
|
|
43
|
+
- "*.wellsfargo.com"
|
|
44
|
+
|
|
45
|
+
secrets:
|
|
46
|
+
enabled: true
|
|
47
|
+
severity: critical
|
|
48
|
+
action: block
|
|
49
|
+
patterns:
|
|
50
|
+
# Stripe
|
|
51
|
+
- "sk_live_[a-zA-Z0-9]{24,}"
|
|
52
|
+
- "pk_live_[a-zA-Z0-9]{24,}"
|
|
53
|
+
- "rk_live_[a-zA-Z0-9]{24,}"
|
|
54
|
+
|
|
55
|
+
# PayPal
|
|
56
|
+
- "PAYPAL_CLIENT_SECRET"
|
|
57
|
+
- "PAYPAL_CLIENT_ID"
|
|
58
|
+
|
|
59
|
+
# Square
|
|
60
|
+
- "sq0csp-[a-zA-Z0-9-]{43}"
|
|
61
|
+
- "EAAAE[a-zA-Z0-9-]{60}"
|
|
62
|
+
|
|
63
|
+
# Credit card patterns
|
|
64
|
+
- "\\b4[0-9]{15}\\b" # Visa
|
|
65
|
+
- "\\b5[1-5][0-9]{14}\\b" # Mastercard
|
|
66
|
+
- "\\b3[47][0-9]{13}\\b" # Amex
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# PII Protection Security Rules
|
|
2
|
+
# Prevents exposure of personally identifiable information
|
|
3
|
+
|
|
4
|
+
name: pii-protection
|
|
5
|
+
description: Protects personally identifiable information from exposure
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
secrets:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
patterns:
|
|
14
|
+
# SSN (US Social Security Number)
|
|
15
|
+
- "\\b\\d{3}-\\d{2}-\\d{4}\\b"
|
|
16
|
+
- "\\b\\d{9}\\b" # SSN without dashes
|
|
17
|
+
|
|
18
|
+
# Credit Cards (with Luhn validation recommended)
|
|
19
|
+
- "\\b4[0-9]{12}(?:[0-9]{3})?\\b" # Visa
|
|
20
|
+
- "\\b5[1-5][0-9]{14}\\b" # Mastercard
|
|
21
|
+
- "\\b3[47][0-9]{13}\\b" # Amex
|
|
22
|
+
- "\\b6(?:011|5[0-9]{2})[0-9]{12}\\b" # Discover
|
|
23
|
+
- "\\b3(?:0[0-5]|[68][0-9])[0-9]{11}\\b" # Diners
|
|
24
|
+
|
|
25
|
+
# Bank Account Numbers (IBAN)
|
|
26
|
+
- "\\b[A-Z]{2}[0-9]{2}[A-Z0-9]{4}[0-9]{7}([A-Z0-9]?){0,16}\\b"
|
|
27
|
+
|
|
28
|
+
# Phone Numbers (various formats)
|
|
29
|
+
- "\\b\\+?1?[-.]?\\(?\\d{3}\\)?[-.]?\\d{3}[-.]?\\d{4}\\b"
|
|
30
|
+
|
|
31
|
+
# Email addresses (for bulk extraction prevention)
|
|
32
|
+
- "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b"
|
|
33
|
+
|
|
34
|
+
# Passport Numbers
|
|
35
|
+
- "\\b[A-Z]{1,2}[0-9]{6,9}\\b"
|
|
36
|
+
|
|
37
|
+
# Driver's License (generic US patterns)
|
|
38
|
+
- "\\b[A-Z]{1,2}[0-9]{5,8}\\b"
|
|
39
|
+
|
|
40
|
+
# Date of Birth patterns
|
|
41
|
+
- "\\b(0[1-9]|1[0-2])/(0[1-9]|[12]\\d|3[01])/(19|20)\\d{2}\\b"
|
|
42
|
+
- "\\b(19|20)\\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])\\b"
|
|
43
|
+
|
|
44
|
+
sanitization:
|
|
45
|
+
enabled: true
|
|
46
|
+
severity: high
|
|
47
|
+
action: block
|
|
48
|
+
redactMatches: true
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Production Strict Security Rules
|
|
2
|
+
# Maximum security for production environments
|
|
3
|
+
|
|
4
|
+
name: production-strict
|
|
5
|
+
description: Strict security rules for production environments
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
destructive:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
shell:
|
|
14
|
+
enabled: true
|
|
15
|
+
cloud:
|
|
16
|
+
enabled: true
|
|
17
|
+
code:
|
|
18
|
+
enabled: true
|
|
19
|
+
|
|
20
|
+
secrets:
|
|
21
|
+
enabled: true
|
|
22
|
+
severity: critical
|
|
23
|
+
action: block
|
|
24
|
+
|
|
25
|
+
website:
|
|
26
|
+
enabled: true
|
|
27
|
+
mode: allowlist
|
|
28
|
+
severity: critical
|
|
29
|
+
action: block
|
|
30
|
+
allowlist: [] # No websites allowed by default
|
|
31
|
+
|
|
32
|
+
purchase:
|
|
33
|
+
enabled: true
|
|
34
|
+
severity: critical
|
|
35
|
+
action: block
|
|
36
|
+
spendLimits:
|
|
37
|
+
perTransaction: 0
|
|
38
|
+
daily: 0
|
|
39
|
+
|
|
40
|
+
exfiltration:
|
|
41
|
+
enabled: true
|
|
42
|
+
severity: critical
|
|
43
|
+
action: block
|
|
44
|
+
|
|
45
|
+
sanitization:
|
|
46
|
+
enabled: true
|
|
47
|
+
severity: critical
|
|
48
|
+
action: block
|
|
49
|
+
minConfidence: 0.3 # Lower threshold for production
|
|
50
|
+
redactMatches: false # Block entirely, don't just redact
|
|
51
|
+
categories:
|
|
52
|
+
instructionOverride: true
|
|
53
|
+
systemLeak: true
|
|
54
|
+
jailbreak: true
|
|
55
|
+
encodedPayload: true
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Secrets Management Security Rules
|
|
2
|
+
# Protects secrets management service credentials
|
|
3
|
+
|
|
4
|
+
name: secrets-management
|
|
5
|
+
description: Security rules for secrets management services
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
secrets:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
patterns:
|
|
14
|
+
# HashiCorp Vault
|
|
15
|
+
- "VAULT_TOKEN"
|
|
16
|
+
- "VAULT_ADDR"
|
|
17
|
+
- "hvs\\.[a-zA-Z0-9_-]{24}"
|
|
18
|
+
- "s\\.[a-zA-Z0-9]{24}"
|
|
19
|
+
|
|
20
|
+
# AWS Secrets Manager
|
|
21
|
+
- "aws secretsmanager get-secret-value"
|
|
22
|
+
- "secretsmanager:GetSecretValue"
|
|
23
|
+
|
|
24
|
+
# GCP Secret Manager
|
|
25
|
+
- "gcloud secrets versions access"
|
|
26
|
+
- "secretmanager.versions.access"
|
|
27
|
+
|
|
28
|
+
# Azure Key Vault
|
|
29
|
+
- "AZURE_KEYVAULT"
|
|
30
|
+
- "az keyvault secret show"
|
|
31
|
+
|
|
32
|
+
# 1Password
|
|
33
|
+
- "OP_SESSION"
|
|
34
|
+
- "op://.*"
|
|
35
|
+
|
|
36
|
+
# Doppler
|
|
37
|
+
- "DOPPLER_TOKEN"
|
|
38
|
+
- "dp\\.pt\\.[a-zA-Z0-9]+"
|
|
39
|
+
|
|
40
|
+
# Infisical
|
|
41
|
+
- "INFISICAL_TOKEN"
|
|
42
|
+
|
|
43
|
+
# Bitwarden
|
|
44
|
+
- "BW_SESSION"
|
|
45
|
+
- "BW_CLIENTSECRET"
|
|
46
|
+
|
|
47
|
+
# LastPass
|
|
48
|
+
- "LASTPASS_"
|
|
49
|
+
|
|
50
|
+
# CyberArk
|
|
51
|
+
- "CYBERARK_"
|
|
52
|
+
|
|
53
|
+
destructive:
|
|
54
|
+
enabled: true
|
|
55
|
+
severity: critical
|
|
56
|
+
action: block
|
|
57
|
+
patterns:
|
|
58
|
+
- "vault secrets disable"
|
|
59
|
+
- "vault auth disable"
|
|
60
|
+
- "aws secretsmanager delete-secret"
|
|
61
|
+
- "gcloud secrets delete"
|
|
62
|
+
- "az keyvault secret delete"
|
|
63
|
+
- "az keyvault delete"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Serverless Security Rules
|
|
2
|
+
# Protects serverless function deployments and credentials
|
|
3
|
+
|
|
4
|
+
name: serverless
|
|
5
|
+
description: Security rules for serverless platforms
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
secrets:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
patterns:
|
|
14
|
+
# AWS Lambda
|
|
15
|
+
- "AWS_LAMBDA_FUNCTION_NAME"
|
|
16
|
+
- "AWS_LAMBDA_LOG_GROUP_NAME"
|
|
17
|
+
|
|
18
|
+
# Google Cloud Functions
|
|
19
|
+
- "FUNCTION_TARGET"
|
|
20
|
+
- "GOOGLE_FUNCTION_SOURCE"
|
|
21
|
+
|
|
22
|
+
# Azure Functions
|
|
23
|
+
- "FUNCTIONS_WORKER_RUNTIME"
|
|
24
|
+
- "AzureWebJobsStorage"
|
|
25
|
+
|
|
26
|
+
# Vercel
|
|
27
|
+
- "VERCEL_TOKEN"
|
|
28
|
+
- "VERCEL_PROJECT_ID"
|
|
29
|
+
|
|
30
|
+
# Netlify Functions
|
|
31
|
+
- "NETLIFY_AUTH_TOKEN"
|
|
32
|
+
|
|
33
|
+
# Cloudflare Workers
|
|
34
|
+
- "CLOUDFLARE_API_TOKEN"
|
|
35
|
+
- "CF_API_KEY"
|
|
36
|
+
|
|
37
|
+
# Deno Deploy
|
|
38
|
+
- "DENO_DEPLOY_TOKEN"
|
|
39
|
+
|
|
40
|
+
# Supabase Edge Functions
|
|
41
|
+
- "SUPABASE_SERVICE_ROLE_KEY"
|
|
42
|
+
|
|
43
|
+
# Railway
|
|
44
|
+
- "RAILWAY_TOKEN"
|
|
45
|
+
|
|
46
|
+
# Render
|
|
47
|
+
- "RENDER_API_KEY"
|
|
48
|
+
|
|
49
|
+
destructive:
|
|
50
|
+
enabled: true
|
|
51
|
+
severity: high
|
|
52
|
+
action: confirm
|
|
53
|
+
patterns:
|
|
54
|
+
# AWS Lambda
|
|
55
|
+
- "aws lambda delete-function"
|
|
56
|
+
- "serverless remove"
|
|
57
|
+
- "sls remove"
|
|
58
|
+
|
|
59
|
+
# GCP Cloud Functions
|
|
60
|
+
- "gcloud functions delete"
|
|
61
|
+
|
|
62
|
+
# Azure Functions
|
|
63
|
+
- "az functionapp delete"
|
|
64
|
+
- "func azure functionapp delete"
|
|
65
|
+
|
|
66
|
+
# Vercel
|
|
67
|
+
- "vercel remove"
|
|
68
|
+
- "vercel rm"
|
|
69
|
+
|
|
70
|
+
# Netlify
|
|
71
|
+
- "netlify sites:delete"
|
|
72
|
+
|
|
73
|
+
# Cloudflare Workers
|
|
74
|
+
- "wrangler delete"
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# SSH Security Rules
|
|
2
|
+
# Protects SSH credentials and dangerous operations
|
|
3
|
+
|
|
4
|
+
name: ssh-security
|
|
5
|
+
description: Security rules for SSH access and credentials
|
|
6
|
+
version: "1.0"
|
|
7
|
+
|
|
8
|
+
rules:
|
|
9
|
+
secrets:
|
|
10
|
+
enabled: true
|
|
11
|
+
severity: critical
|
|
12
|
+
action: block
|
|
13
|
+
patterns:
|
|
14
|
+
# SSH private keys
|
|
15
|
+
- "-----BEGIN OPENSSH PRIVATE KEY-----"
|
|
16
|
+
- "-----BEGIN RSA PRIVATE KEY-----"
|
|
17
|
+
- "-----BEGIN DSA PRIVATE KEY-----"
|
|
18
|
+
- "-----BEGIN EC PRIVATE KEY-----"
|
|
19
|
+
- "-----BEGIN PRIVATE KEY-----"
|
|
20
|
+
|
|
21
|
+
# SSH passwords
|
|
22
|
+
- "SSH_PASSWORD"
|
|
23
|
+
- "SSH_PASS"
|
|
24
|
+
- "sshpass"
|
|
25
|
+
|
|
26
|
+
# SSH agent
|
|
27
|
+
- "SSH_AUTH_SOCK"
|
|
28
|
+
- "SSH_AGENT_PID"
|
|
29
|
+
|
|
30
|
+
# Known hosts manipulation
|
|
31
|
+
- "StrictHostKeyChecking=no"
|
|
32
|
+
- "UserKnownHostsFile=/dev/null"
|
|
33
|
+
|
|
34
|
+
destructive:
|
|
35
|
+
enabled: true
|
|
36
|
+
severity: high
|
|
37
|
+
action: confirm
|
|
38
|
+
shell:
|
|
39
|
+
enabled: true
|
|
40
|
+
patterns:
|
|
41
|
+
# Dangerous SSH commands
|
|
42
|
+
- "ssh.*rm -rf"
|
|
43
|
+
- "ssh.*mkfs"
|
|
44
|
+
- "ssh.*dd if="
|
|
45
|
+
- "ssh.*:(){:|:&};:" # Fork bomb
|
|
46
|
+
|
|
47
|
+
# Key operations
|
|
48
|
+
- "ssh-keygen -R" # Remove from known_hosts
|
|
49
|
+
- "rm.*id_rsa"
|
|
50
|
+
- "rm.*id_ed25519"
|
|
51
|
+
- "rm.*.ssh/"
|
|
52
|
+
|
|
53
|
+
# Config modifications
|
|
54
|
+
- "chmod.*600.*authorized_keys"
|
|
55
|
+
|
|
56
|
+
exfiltration:
|
|
57
|
+
enabled: true
|
|
58
|
+
severity: high
|
|
59
|
+
action: block
|
|
60
|
+
patterns:
|
|
61
|
+
# SSH tunneling for exfiltration
|
|
62
|
+
- "ssh.*-R"
|
|
63
|
+
- "ssh.*-L"
|
|
64
|
+
- "ssh.*-D"
|
|
65
|
+
- "sshfs"
|
|
66
|
+
- "rsync.*-e ssh"
|