diff --git a/.github/codeql/codeql-network-ssrf-boundary-critical-security.yml b/.github/codeql/codeql-network-ssrf-boundary-critical-security.yml new file mode 100644 index 00000000000..6fdf3ba9ab1 --- /dev/null +++ b/.github/codeql/codeql-network-ssrf-boundary-critical-security.yml @@ -0,0 +1,43 @@ +name: openclaw-codeql-network-ssrf-boundary-critical-security + +disable-default-queries: true + +queries: + - uses: security-extended + +query-filters: + - include: + precision: + - high + - very-high + - exclude: + problem.severity: + - recommendation + - warning + +paths: + - src/infra/net + - src/shared/net + - src/agents/tools/web-fetch.ts + - src/agents/tools/web-guarded-fetch.ts + - src/agents/tools/web-shared.ts + - src/plugin-sdk/ssrf-policy.ts + - src/web-fetch + - src/web/provider-runtime-shared.ts + - packages/memory-host-sdk/src/host/ssrf-policy.ts + +paths-ignore: + - "**/node_modules" + - "**/coverage" + - "**/*.generated.ts" + - "**/*.bundle.js" + - "**/*-runtime.js" + - "**/*.test.ts" + - "**/*.test.tsx" + - "**/*.e2e.test.ts" + - "**/*.e2e.test.tsx" + - "**/*test-support*" + - "**/*test-helper*" + - "**/*mock*" + - "**/*fixture*" + - "**/*bench*" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d70882fa378..5d53f212a91 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,6 +46,11 @@ jobs: runs_on: blacksmith-8vcpu-ubuntu-2404 timeout_minutes: 25 config_file: ./.github/codeql/codeql-channel-runtime-boundary-critical-security.yml + - language: javascript-typescript + category: network-ssrf-boundary + runs_on: blacksmith-4vcpu-ubuntu-2404 + timeout_minutes: 25 + config_file: ./.github/codeql/codeql-network-ssrf-boundary-critical-security.yml - language: actions category: actions runs_on: blacksmith-8vcpu-ubuntu-2404 diff --git a/docs/ci.md b/docs/ci.md index 38dae71b60e..63dab5a3fb8 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -263,7 +263,10 @@ channel-runtime-boundary job separately scans core channel implementation contracts plus the channel plugin runtime, gateway, Plugin SDK, secrets, and audit touchpoints under the `/codeql-critical-security/channel-runtime-boundary` category so channel security signal can scale without broadening the baseline -JS/TS category. +JS/TS category. The network-ssrf-boundary job scans core SSRF, IP parsing, +network guard, web-fetch, and Plugin SDK SSRF policy surfaces under the +`/codeql-critical-security/network-ssrf-boundary` category so network trust +boundary signal stays separate from the broader JS/TS security baseline. The `CodeQL Android Critical Security` workflow is the scheduled Android security shard. It builds the Android app manually for CodeQL on the smallest