forklaunch 1.34.0
high severity exfiltration_endpoint in library code: {"id": "cfg-1", "serviceName": "iam", "slackWebhookUrl": "https://hooks.slack.com/x"}
19
low
Automated verdict. Nobody reviewed it. A score is a reason to look closer, not a finding.
Evidence
| Points | Signal | Where | What |
|---|---|---|---|
| 10 | static:exfiltration_endpoint static · forklaunch | src/notifiers.rs:204 | high severity exfiltration_endpoint in library code: {"id": "cfg-1", "serviceName": "iam", "slackWebhookUrl": "https://hooks.slack.com/x"} |
| 2 | static:obfuscated_data static · forklaunch | src/init/rust_project/auth_env.rs:433 | medium severity obfuscated_data in library code (3 places): STRIPE_API_KEY=replace-with-stripe-api-key\u{a}PAYPAL_BASE_URL=https://api-m.sandbox.paypal.com\u{a}PAYPAL_CLIENT_SECRET=replace-with-paypal-client-secret\u{a}PAYPAL_WEBHOOK_ID=replace-with-paypal-web… |
| 2 | static:secret_environment_variable static · forklaunch | src/compliance/checks.rs:188 | medium severity secret_environment_variable in library code (10 places): OPENAI_API_KEY |
| 2 | static:shell_command static · forklaunch | src/core/docker.rs:903 | medium severity shell_command in library code (2 places): /bin/sh -c "mc alias set local http://minio:9000 minioadmin minioadmin && {}" |
| 2 | static:yara:persistence_locations static · forklaunch | scripts/install.js:97 | medium severity yara:persistence_locations in library code: Paths and keys used to persist on a developer machine |
| 1 | static:build_script static · forklaunch | build.rs | low severity build_script in build_script code: build.rs |
Behavior
Profile
static:exfiltration_endpoint static:obfuscated_data static:secret_environment_variable static:shell_command static:yara:persistence_locations
Static findings
12 groups
high exfiltration_endpoint library 1
{"id": "cfg-1", "serviceName": "iam", "slackWebhookUrl": "https://hooks.slack.com/x"}src/notifiers.rs:204
medium secret_environment_variable library 10
OPENAI_API_KEYsrc/compliance/checks.rs:188 src/compliance/checks.rs:2547ANTHROPIC_API_KEYsrc/compliance/checks.rs:189 src/compliance/checks.rs:2522AWS_ACCESS_KEY_IDsrc/compliance/checks.rs:844 src/infra/capabilities/sms/tests.rs:102 src/infra/capabilities/voice/tests.rs:87AWS_SECRET_ACCESS_KEYsrc/compliance/checks.rs:844 src/compliance/checks.rs:2989OPENAI_API_KEY, openaisrc/compliance/checks.rs:2591
medium obfuscated_data library 3
STRIPE_API_KEY=replace-with-stripe-api-key\u{a}PAYPAL_BASE_URL=https://api-m.sandbox.paypal.com\u{a}PAYPAL_CLIENT_SECRET=replace-with-paypal-client-secret\u{a}PAYPAL_WEBHOOK_ID=replace-with-paypal-web…src/init/rust_project/auth_env.rs:433ACCOUNTS_DATABASE_URL=postgresql://accounts_app@postgresql:5432/kestrel_accounts\u{a}ACCOUNTS_STORAGE_ENCRYPTION_NAMESPACE=accounts-records\u{a}ACCOUNTSX_KEEP=1\u{a}IAM_NOTE=accounts\u{a}OTHER_URL=htt…src/init/rust_project/local_runtime.rs:1433# Separate database per service. Runtime role must not bypass row-level security.\u{a}DATABASE_URL=postgresql://app@localhost:5432/service\u{a}MIGRATION_DATABASE_URL=postgresql://owner@localhost:5432/…src/init/rust_project/service_database.rs:64
medium shell_command library 2
/bin/sh -c "mc alias set local http://minio:9000 minioadmin minioadmin && {}"src/core/docker.rs:903RUN arch=$(uname -m) && case "$arch" in {cases}*) echo "No pinned watchexec for $arch" >&2; exit 1 ;; esac \\u{a}&& name=watchexec-{WATCHEXEC_VERSION}-$arch-unknown-linux-musl \\u{a}&& curl -fsSL -o /…src/dev.rs:141
medium yara_match persistence_locations library 1
Paths and keys used to persist on a developer machinescripts/install.js:97
low network_access library 116
reqwest::blocking::Client::newsrc/app/create.rs:145 src/core/http_client.rs:56 src/core/http_client.rs:146 src/core/http_client.rs:201 src/core/token.rs:28 src/core/token.rs:110 src/core/validate.rs:66 src/integrate.rs:86 src/login.rs:204 src/release/s3_upload.rs:149 src/release/s3_upload.rs:256 src/whoami.rs:61reqwest::Method::DELETEsrc/app/domain.rs:168 src/app/domain.rs:306 src/app/domain.rs:666 src/core/http_client.rs:132 src/environment/delete.rs:105 src/github/disconnect.rs:55 src/org/invitations.rs:126 src/org/members.rs:218reqwest::StatusCode::NO_CONTENTsrc/app/domain.rs:545 src/managed/instance/email.rs:216reqwest::StatusCode::NOT_FOUNDsrc/app/domain.rs:545 src/app/domain.rs:669 src/managed/instance/email.rs:146 src/managed/instance/email.rs:216 src/managed/instance/email.rs:308reqwest::Method::PUTsrc/app/readiness.rs:162 src/app/website.rs:75 src/core/http_client.rs:122 src/core/http_client.rs:258 src/org/domain.rs:123 src/org/members.rs:162 src/org/show.rs:41 src/release/set_current.rs:123reqwest::blocking::Client::buildersrc/app/website.rs:60 src/compliance/deps.rs:814 src/core/version_check.rs:101 src/model.rs:118 src/model.rs:155 src/release/prebuilt.rs:12reqwest::redirect::Policy::nonesrc/app/website.rs:61 src/model.rs:119 src/model.rs:156 src/release/prebuilt.rs:14reqwest::blocking::Responsesrc/app/website.rs:122 src/core/http_client.rs:26 src/core/http_client.rs:45 src/core/http_client.rs:82 src/core/http_client.rs:111 src/core/http_client.rs:116 src/core/http_client.rs:121 src/core/http_client.rs:126 src/core/http_client.rs:131 src/core/http_client.rs:145 src/core/http_client.rs:178 src/core/http_client.rs:193 src/core/http_client.rs:216 src/core/http_client.rs:232 src/core/http_client.rs:246 src/core/http_client.rs:254 src/data/kafka.rs:94 src/data/redis.rs:82 src/managed/client.rs:145 src/managed/client.rs:145 src/managed/client.rs:226 src/org/shared.rs:29 src/org/shared.rs:36 src/org/shared.rs:36reqwest::blocking::Clientsrc/compliance/deps.rs:562reqwest::StatusCode::OKsrc/config/pull.rs:103 src/config/push.rs:242 src/config/push.rs:285reqwest::StatusCodesrc/core/email_sender.rs:39 src/org/pool/log_budget.rs:84reqwest::StatusCode::FORBIDDENsrc/core/email_sender.rs:494 src/org/pool/log_budget.rs:306reqwest::StatusCode::BAD_REQUESTsrc/core/email_sender.rs:499reqwest::StatusCode::CONFLICTsrc/core/email_sender.rs:506 src/integrate.rs:94reqwest::StatusCode::SERVICE_UNAVAILABLEsrc/core/email_sender.rs:512reqwest::StatusCode::INTERNAL_SERVER_ERRORsrc/core/email_sender.rs:514 src/org/pool/log_budget.rs:315std::net::UdpSocket::bindsrc/core/host_ports.rs:182std::net::TcpListener::bindsrc/core/host_ports.rs:184 src/core/host_ports.rs:275reqwest::Methodsrc/core/http_client.rs:23 src/core/http_client.rs:41 src/core/http_client.rs:79 src/core/http_client.rs:175 src/core/http_client.rs:189 src/org/shared.rs:25reqwest::Method::GETsrc/core/http_client.rs:112 src/core/http_client.rs:249reqwest::Method::POSTsrc/core/http_client.rs:117 src/core/http_client.rs:220 src/core/http_client.rs:237 src/org/domain.rs:63 src/org/domain.rs:93 src/org/invitations.rs:99 src/org/members.rs:119reqwest::Method::PATCHsrc/core/http_client.rs:127 src/environment/approval.rs:94 src/environment/branch.rs:97reqwest::Url::parsesrc/model.rs:99reqwest::header::CONTENT_TYPEsrc/release/s3_upload.rs:162 src/release/s3_upload.rs:264reqwest::header::CONTENT_LENGTHsrc/release/s3_upload.rs:163 src/release/s3_upload.rs:265tokio::net::TcpListener::bindsrc/templates/rust/billing/bootstrapper.rs:36 src/templates/rust/cac/bootstrapper.rs:28 src/templates/rust/ecommerce/bootstrapper.rs:52 src/templates/rust/iam/bootstrapper.rs:45 src/templates/rust/project/native-service/bootstrapper.rs:16tokio::net::TcpListenersrc/templates/rust/project/module/server.rs:6 src/templates/rust/project/native-service/server.rs:8
low process_spawn library 61
std::process::Command::newsrc/analyze/verification.rs:49 src/change/core/clean_application.rs:30 src/core/format.rs:24 src/core/host_ports.rs:192 src/core/openapi_export.rs:214 src/core/openapi_export.rs:585 src/core/version_check.rs:157 src/core/version_check.rs:281 src/core/workspace_archive.rs:98 src/core/workspace_archive.rs:330 src/deploy/target.rs:78 src/dev.rs:270 src/dev.rs:374 src/dev.rs:428 src/dev.rs:454 src/dev.rs:477 src/dev.rs:521 src/dev.rs:1591 src/dev/contracts.rs:216 src/dev/sdk.rs:127 src/dev/sdk.rs:161 src/dev/sdk.rs:184 src/dev/sdk.rs:318 src/dev/sdk.rs:327 src/dev/sdk.rs:332 src/dev/sdk.rs:345 src/dev/sdk.rs:357 src/dev/sdk.rs:361 src/dev/sdk.rs:626 src/dev/typescript.rs:517 src/infra/native_local.rs:527 src/init/rust_project/native_layout.rs:51 src/init/rust_project/sdk_consumer.rs:690 src/init/rust_project/typescript_image.rs:1380 src/init/typescript_workspace.rs:22 src/release/create.rs:440 src/release/create.rs:1406 src/release/git.rs:7 src/release/git.rs:40 src/release/git.rs:54 src/release/git.rs:74 src/release/git.rs:92 src/release/git.rs:106 src/sdk/typescript_build.rs:107 src/sdk/websocket.rs:900 src/sdk/websocket.rs:906 src/sdk/websocket.rs:1037 src/sdk/websocket.rs:1055 src/sdk/websocket/compiler.rs:63std::process::Commandsrc/dev.rs:509 src/dev.rs:1329 src/dev.rs:1330 src/dev.rs:1332 src/dev/sdk.rs:126 src/dev/sdk.rs:145 src/dev/sdk.rs:158 src/dev/sdk.rs:207 src/dev/sdk.rs:238 src/sdk/websocket.rs:329 src/sdk/websocket.rs:344 src/sdk/websocket.rs:359
low build_script build_script 1
build.rsbuild.rs
low network_access test 1
tokio::net::TcpListener::bindtests/fixtures/rust-notes-assembly/src/notes/application.rs:41
info url_literal library 341
redis://localhost:6379src/change/service.rs:429 src/core/openapi_export.rs:100 src/infra/local.rs:309 src/release/create.rs:3389 src/release/create.rs:3397 src/release/create.rs:3414http://localhost:9000src/change/service.rs:511 src/core/env_defaults.rs:330 src/core/env_defaults.rs:887 src/infra/local.rs:303 src/infra/native_local.rs:248redis://localhost:6379/{}src/change/worker.rs:220 src/change/worker.rs:349 src/core/env_defaults.rs:197{\u{a} "account": {"id": "ca-1"},\u{a} "setupInstructions": {\u{a} "cloudFormationUrl": "https://...",\u{a} "terraformSnippet": "resource ...",\u{a}…src/cloud_account/create.rs:122Paste into https://mermaid.live to rendersrc/compliance/audit.rs:946fetch(`https://graph.facebook.com/v20.0/${id}/messages`, { headers: { authorization: `Bearer ${process.env.WHATSAPP_TOKEN}` } })src/compliance/checks.rs:3341https://api.osv.dev/v1src/compliance/deps.rs:30registry+https://github.com/rust-lang/crates.io-indexsrc/compliance/deps.rs:937 src/compliance/deps.rs:957 src/compliance/deps.rs:1040 src/compliance/deps/cargo.rs:53git+https://secret@example.com/repo#abcsrc/compliance/deps.rs:973registry+https://secret@example.com/indexsrc/compliance/deps.rs:974[[package]]\u{a}name = "myapp"\u{a}version = "0.1.0"\u{a}source = { editable = "." }\u{a}\u{a}[[package]]\u{a}name = "urllib3"\u{a}version = "1.26.0"\u{a}source = { registry = "https://pypi.org/simple…src/compliance/deps.rs:1154Compliance management and audit reporting. More info: https://forklaunch.com/docs/compliancesrc/compliance/mod.rs:36# application\u{a}DB_HOST=db.example.com\u{a}DB_PORT=5432\u{a}GOOGLE_CLOUD_LOCATION=us-central1\u{a}GOOGLE_CLOUD_API_KEY=abc123\u{a}REDIS_URL=redis://localhost:6379\u{a}src/config/push.rs:368# application\u{a}DB_HOST=db.example.com\u{a}DB_PORT=5432\u{a}REDIS_URL=redis://localhost:6379\u{a}src/config/push.rs:386# application\u{a}APP_NAME=myapp\u{a}# my-service (svc-123)\u{a}DB_HOST=db.example.com\u{a}# video-processor-worker (wkr-456)\u{a}QUEUE_URL=sqs://queue\u{a}src/config/push.rs:414QUEUE_URL=sqs://queue\u{a}src/config/push.rs:433http://localhost:8004src/constants.rs:10http://localhost:8007src/constants.rs:11http://localhost:8001src/constants.rs:12 src/init/agent.rs:605http://localhost:8000src/constants.rs:13 src/core/env_defaults.rs:256 src/core/env_defaults.rs:703 src/init/rust_project/worker.rs:871http://localhost:5173src/constants.rs:14http://localhost:8008src/constants.rs:15http://localhost:8005src/constants.rs:16http://localhost:8006src/constants.rs:17https://platform-management.forklaunch.comsrc/constants.rs:19https://observability-api.forklaunch.comsrc/constants.rs:20https://iam.forklaunch.comsrc/constants.rs:21https://billing.forklaunch.comsrc/constants.rs:22https://forklaunch.comsrc/constants.rs:23https://studio-orchestrator.forklaunch.comsrc/constants.rs:24 src/model.rs:200https://resource-management.forklaunch.comsrc/constants.rs:25https://developer-tools.forklaunch-production-us-west-2-0aef7f56.app.forklaunch.comsrc/constants.rs:36The '{linter}' linter cannot lint TypeScript 7 applications: typescript-eslint does not support TypeScript 7 yet (https://github.com/typescript-eslint/typescript-eslint/issues/10940). Use --linter oxl…src/constants.rs:761\u{a} const registrations = configInjector({\u{a} workerService: {\u{a} lifetime: Lifetime.Scoped,\u{a} factory: (options) => {\u{a} …src/core/ast/deletions/delete_from_registrations_ts.rs:312\u{a} const environmentConfig = configInjector.chain({\u{a} OTEL_LEVEL: {\u{a} lifetime: Lifetime.Singleton,\u{a} type: optional(string),\u{a} value: g…src/core/ast/infrastructure/env.rs:750const harness = new BlueprintTestHarness({\u{a} customEnvVars: {\u{a} REDIS_URL: process.env.REDIS_URL || 'redis://localhost:6379'\u{a} }\u{a} });src/core/ast/infrastructure/test_utils.rs:123clientUrl: getEnvVar('DB_URL') || `mongodb://${validConfigInjector.resolve(\u{a} 'DB_USER'\u{a} )}:${validConfigInjector.resol…src/core/ast/transformations/transform_mikroorm_config_ts.rs:328clientUrl:\u{a} getEnvVar('DB_URL') ||\u{a} `mongodb://src/core/ast/transformations/transform_mikroorm_config_ts.rs:592import { forklaunchExpress, schemaValidator } from '@forklaunch/blueprint-core';\u{a}import { getEnvVar } from '@forklaunch/common';\u{a}import dotenv from 'dotenv';\u{a}import { organizationRouter } …src/core/ast/transformations/transform_server_ts.rs:108 src/core/ast/transformations/transform_server_ts.rs:263/** \u{a} * Generated by ForkLaunch\u{a} * File: server.ts\u{a} * This is an auto-generated file. Modifications are encouraged but may inhibit automated upgrades.\u{a} */\u{a}\u{a}import { forklaunchE…src/core/ast/transformations/transform_server_ts.rs:151/bin/sh -c "mc alias set local http://minio:9000 minioadmin minioadmin && {}"src/core/docker.rs:903PLAINTEXT://0.0.0.0:29092,CONTROLLER://0.0.0.0:9093,PLAINTEXT_HOST://0.0.0.0:9092src/core/docker.rs:986PLAINTEXT://kafka:29092,PLAINTEXT_HOST://127.0.0.1:9092src/core/docker.rs:991-health.url=http://localhost:3200/readysrc/core/docker.rs:1139http://localhost:3000/api/healthsrc/core/docker.rs:1273redis://redis:6379/{}src/core/docker.rs:1363 src/core/env_defaults.rs:198 src/init/rust_project/local_runtime.rs:242http://minio:9000src/core/docker.rs:1423 src/core/env_defaults.rs:331 src/core/env_defaults.rs:900http://otel-collector:4318src/core/docker.rs:2079 src/core/env_defaults.rs:275http://localhost:{}/healthsrc/core/docker.rs:2186http://iam:{}/api/auth/jwkssrc/core/docker.rs:2246http://localhost:3001src/core/docker.rs:2293 src/core/env_defaults.rs:291{}://localhost:{}src/core/env_defaults.rs:217{}://{}:{}src/core/env_defaults.rs:229 src/templates/rust/project/service/src/config/mod.rs:61 src/templates/rust/project/service/src/config/mod.rs:72http://localhost:8000/api/auth/jwkssrc/core/env_defaults.rs:242 src/core/env_defaults.rs:951http://iam:8000/api/auth/jwkssrc/core/env_defaults.rs:245 src/core/env_defaults.rs:964http://iam:8000src/core/env_defaults.rs:257 src/core/env_defaults.rs:716 src/init/rust_project/auth_env.rs:398http://localhost:4318src/core/env_defaults.rs:274 src/core/openapi_export.rs:112redis://localhost:6379/0src/core/env_defaults.rs:664 src/core/env_defaults.rs:1062redis://localhost:6379/1src/core/env_defaults.rs:676redis://redis:6379/0src/core/env_defaults.rs:689 src/infra/local.rs:818 src/init/rust_project/local_runtime.rs:1578ws://localhost:11000src/core/env_defaults.rs:728redis://custom:6379/0src/core/env_defaults.rs:1058://src/core/http_client.rs:159 src/core/static_analysis/workspace_diagnostics.rs:658 src/init/storefront.rs:103 src/release/create.rs:2312https://api.example.com/releasessrc/core/http_client.rs:270https://api.example.com:8080/releases/internalsrc/core/http_client.rs:278https://api.example.com/deployments/123?status=truesrc/core/http_client.rs:286https://api.example.comsrc/core/http_client.rs:293https://api.example.com/src/core/http_client.rs:298postgresql://dummy:dummy@localhost:5432/dummysrc/core/openapi_export.rs:98http://localhost:{}/api/auth/jwkssrc/core/openapi_export.rs:125http://localhost:3000src/core/openapi_export.rs:130services:\u{a} notes:\u{a} build:\u{a} context: .\u{a} dockerfile: Dockerfile.rust\u{a} command: 'custom arbitrary shell code'\u{a} remote:\u{a} build: https://example.test/repo.g…src/core/static_analysis/workspace_diagnostics.rs:967Your free trial has expired{}. Please upgrade at https://forklaunch.com/checkout?plan=pro to continue using the CLI.src/core/validate.rs:85https://github.com/forklaunch/forklaunch-js/releases/download/cli-v{}/{}src/core/version_check.rs:92Checks that dependencies aligned across projects. More info: https://forklaunch.com/docs/depchecksrc/depcheck.rs:32{\u{a} "id": "d1",\u{a} "status": "completed",\u{a} "metadata": {\u{a} "outputs": {\u{a} "url_iam": "http://alb-1.us-east-1.elb.amazo…src/deploy/info.rs:596http://alb-1.us-east-1.elb.amazonaws.comsrc/deploy/info.rs:616https://{}src/deploy/target.rs:58 src/release/git.rs:148ssh://git@src/deploy/target.rs:60https://{rest}src/deploy/target.rs:61 src/deploy/target.rs:64 src/deploy/target.rs:67git://src/deploy/target.rs:63http://src/deploy/target.rs:66 src/infra/capabilities/native.rs:46 src/init/agent.rs:80 src/init/storefront.rs:103 src/observe/logs.rs:367 src/release/git.rs:131https://github.com/Main-Street-App/mainstreet-hqsrc/deploy/target.rs:286 src/deploy/target.rs:305ssh://git@github.com/main-street-app/mainstreet-hq.gitsrc/deploy/target.rs:289https://github.com/Main-Street-App/mainstreet-hq.git/src/deploy/target.rs:290http://github.com/Main-Street-App/mainstreet-hqsrc/deploy/target.rs:291https://github.com/o/rsrc/deploy/target.rs:331 src/deploy/target.rs:333 src/deploy/target.rs:337 src/deploy/target.rs:341 src/deploy/target.rs:351 src/deploy/target.rs:362 src/deploy/target.rs:371 src/deploy/target.rs:372RUN arch=$(uname -m) && case "$arch" in {cases}*) echo "No pinned watchexec for $arch" >&2; exit 1 ;; esac \\u{a}&& name=watchexec-{WATCHEXEC_VERSION}-$arch-unknown-linux-musl \\u{a}&& curl -fsSL -o /…src/dev.rs:141fetch("http://localhost:8000/health")src/dev/typescript.rs:472Repository URL (e.g. https://github.com/org/repo)src/github/connect.rs:38http://billing-server:8001src/infra/capabilities/email/tests.rs:108http://billing:8001src/infra/capabilities/email/tests.rs:161 src/infra/capabilities/email/tests.rs:195 src/infra/capabilities/tests.rs:17 src/infra/capabilities/tests.rs:18 src/init/rust_project/auth_env.rs:399 src/init/rust_project/auth_env.rs:404http://billing:8001,http://jobs-server:8002src/infra/capabilities/email/tests.rs:178http://localhost:{GATEWAY_MOCK_HOST_PORT}src/infra/capabilities/mod.rs:698http://{service_key}:{port}src/infra/capabilities/mod.rs:792 src/infra/capabilities/mod.rs:865http://{GATEWAY_MOCK_SERVICE}:8080src/infra/capabilities/mod.rs:972http://gateway-mock:8080src/infra/capabilities/models/tests.rs:271 src/infra/capabilities/tests.rs:21 src/infra/local.rs:831http://{service}:{port}src/infra/capabilities/native.rs:134 src/infra/capabilities/native.rs:230{scheme}://{old}src/infra/capabilities/native.rs:173{scheme}://{new}{suffix}src/infra/capabilities/native.rs:175http://{receiver}:{port}src/infra/capabilities/native.rs:649http://removed:8000src/infra/capabilities/native/tests.rs:423http://other:8123src/infra/capabilities/native/tests.rs:424 src/infra/capabilities/native/tests.rs:445image: node:22-alpine\u{a}environment:\u{a} MOCK_EVENTS_URL_EMAIL: http://old:8123\u{a} MOCK_EVENTS_URL_SMS: https://old:8443/base\u{a} MOCK_EVENTS_URL_VOICE: https://old.example:8443\u{a} OTHER_U…src/infra/capabilities/native/tests.rs:488http://new:8123src/infra/capabilities/native/tests.rs:491https://new:8443/basesrc/infra/capabilities/native/tests.rs:492https://old.example:8443src/infra/capabilities/native/tests.rs:493http://old:8123src/infra/capabilities/native/tests.rs:494redis://redis:6379/1src/infra/local.rs:823 src/infra/native_local/tests.rs:28 src/init/rust_project/auth_env.rs:486 src/init/rust_project/local_runtime.rs:1551 src/init/rust_project/local_runtime.rs:1579 src/init/rust_project/local_runtime.rs:1580http://jobs-server:3000src/infra/local.rs:856 src/init/rust_project/worker.rs:905 src/init/rust_project/worker.rs:916 src/init/rust_project/worker.rs:954 src/init/rust_project/worker.rs:958 src/init/rust_project/worker.rs:969REDIS_URL=redis://localhost:6379/{database}src/infra/local.rs:867S3_URL=http://localhost:9000src/infra/local.rs:869PLATFORM_GATEWAY_URL=http://localhost:18088src/infra/local.rs:870redis://redis:6379/src/infra/native_local.rs:107redis://redis:6379src/infra/native_local.rs:119 src/init/rust_project/local_runtime.rs:286redis://localhost:6379/{redis_database}src/infra/native_local.rs:244--mcp expects name=url, for example --mcp linear=https://mcp.linear.app/mcpsrc/init/agent.rs:63https://src/init/agent.rs:80 src/init/storefront.rs:103 src/managed/template/update.rs:270 src/observe/logs.rs:365 src/release/git.rs:130http://{host}:{port}src/init/agent.rs:196linear=https://mcp.linear.app/mcpsrc/init/agent.rs:555https://mcp.linear.app/mcpsrc/init/agent.rs:558 src/init/agent.rs:577my_linear=https://xsrc/init/agent.rs:561_linear=https://xsrc/init/agent.rs:563Linear=https://xsrc/init/agent.rs:564linear=ftp://xsrc/init/agent.rs:565linear=https://x ysrc/init/agent.rs:566PORT=8003\u{a}RECORDS_URL=http://custom:1\u{a}src/init/agent.rs:603PORT=8003\u{a}RECORDS_URL=http://custom:1\u{a}HMAC_SECRET_KEY=k\u{a}src/init/agent.rs:611http://localhost:{port}src/init/rust_project.rs:2781 src/init/rust_project/worker.rs:717http://localhost:{port}/healthsrc/init/rust_project.rs:2810PORT=9999\u{a}REDIS_URL=redis://localhost:6379src/init/rust_project.rs:4464PORT=9999\u{a}REDIS_URL=redis://localhost:6379\u{a}HOST=127.0.0.1\u{a}PROTOCOL=http\u{a}VERSION=v1\u{a}DOCS_PATH=/docs\u{a}RUST_LOG=info\u{a}MCP_ENABLED=true\u{a}src/init/rust_project.rs:4468--mcp expects <name>=<url>, for example --mcp linear=https://mcp.linear.app/mcpsrc/init/rust_project/agent.rs:34http://{name}:{port}src/init/rust_project/agent.rs:69 src/init/rust_project/auth_env.rs:93http://localhost:{port}/api/auth/jwkssrc/init/rust_project/auth_env.rs:315\u{a}services:\u{a} iam:\u{a} environment: { PORT: "8000", HMAC_SECRET_KEY: "${IAM_HMAC_SECRET_KEY:?x}", JWKS_PUBLIC_KEY_URL: "${IAM_JWKS_PUBLIC_KEY_URL:?x}" }\u{a} billing:\u{a} environment: …src/init/rust_project/auth_env.rs:378http://custom:1src/init/rust_project/auth_env.rs:403STRIPE_API_KEY=replace-with-stripe-api-key\u{a}PAYPAL_BASE_URL=https://api-m.sandbox.paypal.com\u{a}PAYPAL_CLIENT_SECRET=replace-with-paypal-client-secret\u{a}PAYPAL_WEBHOOK_ID=replace-with-paypal-web…src/init/rust_project/auth_env.rs:433\u{a}services:\u{a} iam:\u{a} environment: { PORT: "8001", HMAC_SECRET_KEY: shared, JWKS_PUBLIC_KEY_URL: "http://iam:8001/api/auth/jwks" }\u{a} billing:\u{a} environment: { PORT: "8002", HMAC_…src/init/rust_project/auth_env.rs:462http://iam:8001src/init/rust_project/auth_env.rs:481http://billing:8002src/init/rust_project/auth_env.rs:482http://iam:8001/api/auth/jwkssrc/init/rust_project/auth_env.rs:484https://api-m.sandbox.paypal.comsrc/init/rust_project/auth_env.rs:494https://truststore.pki.rds.amazonaws.com/global/global-bundle.pemsrc/init/rust_project/language_images.rs:7postgresql://{}@postgresql:5432/{}src/init/rust_project/local_runtime.rs:223http://iam:{port}/api/auth/jwkssrc/init/rust_project/local_runtime.rs:325redis://redis:6379/{wanted}src/init/rust_project/local_runtime.rs:479http://{hostname}:{port}src/init/rust_project/local_runtime.rs:741://{old}:src/init/rust_project/local_runtime.rs:1043://{new}:src/init/rust_project/local_runtime.rs:1043://{old}-server:src/init/rust_project/local_runtime.rs:1043://{new}-server:src/init/rust_project/local_runtime.rs:1043services:\u{a} accounts:\u{a} hostname: accounts\u{a} container_name: kestrel-accounts-rust\u{a} environment:\u{a} PORT: '8000'\u{a} DATABASE_URL: ${ACCOUNTS_DATABASE_URL:?Configur…src/init/rust_project/local_runtime.rs:1407ACCOUNTS_DATABASE_URL=postgresql://accounts_app@postgresql:5432/kestrel_accounts\u{a}ACCOUNTS_STORAGE_ENCRYPTION_NAMESPACE=accounts-records\u{a}ACCOUNTSX_KEEP=1\u{a}IAM_NOTE=accounts\u{a}OTHER_URL=htt…src/init/rust_project/local_runtime.rs:1433DATABASE_URL=postgresql://accounts_app@127.0.0.1:5432/kestrel_accounts\u{a}PORT=8000\u{a}src/init/rust_project/local_runtime.rs:1434http://ledgers:8000src/init/rust_project/local_runtime.rs:1445LEDGERS_DATABASE_URL=postgresql://ledgers_app@postgresql:5432/kestrel_ledgers\u{a}LEDGERS_STORAGE_ENCRYPTION_NAMESPACE=ledgers-records\u{a}ACCOUNTSX_KEEP=1\u{a}IAM_NOTE=accounts\u{a}OTHER_URL=http://l…src/init/rust_project/local_runtime.rs:1449DATABASE_URL=postgresql://ledgers_app@127.0.0.1:5432/kestrel_ledgers\u{a}PORT=8000\u{a}src/init/rust_project/local_runtime.rs:1450JOBS_DATABASE_URL=postgresql://jobs_app@postgresql:5432/kestrel_jobs\u{a}JOBS_REDIS_URL=redis://redis:6379/1\u{a}JOBS_TENANT_ID=t\u{a}OTHER_DATABASE_URL=x\u{a}src/init/rust_project/local_runtime.rs:1461DATABASE_URL=postgresql://x\u{a}MIGRATION_DATABASE_URL=postgresql://y\u{a}SQLX_OFFLINE=true\u{a}REDIS_URL=redis://127.0.0.1:6379/1\u{a}MINE=1\u{a}src/init/rust_project/local_runtime.rs:1462JOBS_REDIS_URL=redis://redis:6379/1\u{a}JOBS_TENANT_ID=t\u{a}OTHER_DATABASE_URL=x\u{a}src/init/rust_project/local_runtime.rs:1464REDIS_URL=redis://127.0.0.1:6379/1\u{a}MINE=1\u{a}src/init/rust_project/local_runtime.rs:1465QUEUE_NAME=zebra-jobs-dev\u{a}DATABASE_URL=postgresql://a@postgresql:5432/zebra_accounts\u{a}PATH_HINT=/srv/old-zebra-x\u{a}OTHER=zebras-keep\u{a}src/init/rust_project/local_runtime.rs:1490QUEUE_NAME=kestrel-jobs-dev\u{a}DATABASE_URL=postgresql://a@postgresql:5432/kestrel_accounts\u{a}PATH_HINT=/srv/old-zebra-x\u{a}OTHER=zebras-keep\u{a}src/init/rust_project/local_runtime.rs:1493postgresql://localhost/appsrc/init/rust_project/local_runtime.rs:1516http://iam:8002/api/auth/jwkssrc/init/rust_project/local_runtime.rs:1523 src/init/rust_project/local_runtime.rs:1541postgresql://notes_app@postgresql:5432/notes_app_notessrc/init/rust_project/local_runtime.rs:1533postgresql://notes_owner@postgresql:5432/notes_app_notessrc/init/rust_project/local_runtime.rs:1537redis://redis:6379/2src/init/rust_project/local_runtime.rs:1552 src/init/rust_project/local_runtime.rs:1581 src/init/rust_project/local_runtime.rs:1582services:\u{a} api:\u{a} environment: {REDIS_URL: 'redis://redis:6379/0'}\u{a} web-migrate:\u{a} environment: {REDIS_URL: 'redis://redis:6379/0'}\u{a} web:\u{a} environment: {REDIS_URL: 'r…src/init/rust_project/local_runtime.rs:1573postgresql://a_app@postgresql:5432/dbsrc/init/rust_project/local_runtime.rs:1593postgresql://a_app@127.0.0.1:5432/dbsrc/init/rust_project/local_runtime.rs:1593http://iam:8004/api/auth/jwkssrc/init/rust_project/local_runtime.rs:1594http://127.0.0.1:8004/api/auth/jwkssrc/init/rust_project/local_runtime.rs:1594http://coding-server:3000src/init/rust_project/local_runtime.rs:1595http://127.0.0.1:8001src/init/rust_project/local_runtime.rs:1595PORT: '8000', DATABASE_URL: '${NOTES_DATABASE_URL:?x}', S3_URL: 'http://minio:9000', S3_BUCKET: demo-notes-devsrc/init/rust_project/local_runtime.rs:1663postgresql://notes_app@127.0.0.1:5432/demo_notessrc/init/rust_project/local_runtime.rs:1689postgresql://notes_owner@127.0.0.1:5432/demo_notessrc/init/rust_project/local_runtime.rs:1690http://localhost:9090/readysrc/init/rust_project/modules.rs:541println!("notes listening on http://{}", address);\u{a}src/init/rust_project/native_layout.rs:806println!("records listening on http://{}", address);\u{a}src/init/rust_project/native_layout.rs:811# Separate database per service. Runtime role must not bypass row-level security.\u{a}DATABASE_URL=postgresql://app@localhost:5432/service\u{a}MIGRATION_DATABASE_URL=postgresql://owner@localhost:5432/…src/init/rust_project/service_database.rs:64http://localhost:{producer_port}src/init/rust_project/worker.rs:477DATABASE_URL=postgres://worker:change-me@localhost:5432/worker?sslmode=require\u{a}src/init/rust_project/worker.rs:650http://{name}-server:3000src/init/rust_project/worker.rs:666http://localhost:8137src/init/rust_project/worker.rs:911 src/init/rust_project/worker.rs:925https://jobs.example.testsrc/init/rust_project/worker.rs:931 src/init/rust_project/worker.rs:940https://shop.example.comsrc/init/storefront.rs:471http://shop.example.comsrc/init/storefront.rs:472ftp://shop.example.comsrc/init/storefront.rs:473s3://bucket/manifest.jsonsrc/init/storefront.rs:474https://platform.example.comsrc/managed/client.rs:444https://platform.example.com/managed-mode/templatessrc/managed/client.rs:449https://platform.example.com/managed-mode/instances/abc/claim-linksrc/managed/client.rs:453https://platform.example.com/managed-mode/instances/abc/claimsrc/managed/client.rs:460https://platform.example.com/managed-mode/templates/clinicsrc/managed/client.rs:464https://GitHub.com/Acme/clinic.gitsrc/managed/detect.rs:109https://github.com/acme/clinicsrc/managed/detect.rs:110 src/managed/detect.rs:114 src/managed/detect.rs:118 src/managed/detect.rs:125https://github.com/acme/clinic/src/managed/detect.rs:113https://github.com/acme/clinic.git/src/managed/detect.rs:117https://github.com/acme/clinic-stagingsrc/managed/detect.rs:126https://forklaunch.com/claim/toksrc/managed/instance/claim_next.rs:287Show one managed instance with its lifecycle detail.\u{a}\u{a}This is the row a client polls to follow the state machine: every lifecycle\u{a}command (create, reset, update, apply-variables) answers 2…src/managed/instance/get.rs:29Declare where a provider's callback is handed on each instance.\u{a}\u{a}A provider such as Epic lets you register ONE redirect URI per app, but a\u{a}product has many instances. So every instance sen…src/managed/template/relay/mod.rs:38https URL of the repository versions are built from, e.g. https://github.com/org/reposrc/managed/template/update.rs:217--source-repo '{}' must be an https repository URL such as https://github.com/org/reposrc/managed/template/update.rs:273Each instance's UI is now https://<hostPrefix>.{} — point that wildcard at your frontend deployment (see the vercel-frontend skill).src/managed/template/update.rs:495https://iam.forklaunch.com/api/auth/tokensrc/model.rs:123https://attacker.invalidsrc/model.rs:216wss://{}/wssrc/observe/logs.rs:366ws://{}/wssrc/observe/logs.rs:368 src/observe/logs.rs:370http://iam:8002src/release/create.rs:2691 src/release/create.rs:2691http://localhostsrc/release/create.rs:3590ssh://src/release/git.rs:122ssh://git@github.com/acme/app.gitsrc/release/git.rs:159https://github.com/acme/app.gitsrc/release/git.rs:160https://github.com/acme/appsrc/release/git.rs:161 src/release/git.rs:167https://x-access-token:tok@github.com/acme/app.gitsrc/release/git.rs:162https://github.com/acme/app/src/release/git.rs:163https://github.com/acmesrc/release/git.rs:177Application/Vnd.Example+JSON; profile="https://example.test/v1"src/sdk/media.rs:43http://json-schema.org/draft-07/schema#src/sdk/schema.rs:160 src/sdk/schema.rs:965 src/sdk/schema_resources.rs:29 src/sdk/schema_resources.rs:561 src/sdk/schema_resources.rs:589 src/sdk/schema_resources.rs:665https://json-schema.org/draft/2020-12/schemasrc/sdk/schema.rs:286 src/sdk/schema.rs:978 src/sdk/schema_resources.rs:566 src/sdk/schema_resources.rs:620https://json-schema.org/draft/2019-09/schemasrc/sdk/schema.rs:974 src/sdk/schema_resources.rs:619 src/sdk/schema_resources.rs:666https://example.invalidsrc/sdk/schema.rs:1099https://forklaunch.invalid/__document__src/sdk/schema_resources.rs:8http://json-schema.org/draft-04/schema#src/sdk/schema_resources.rs:587http://json-schema.org/draft-06/schema#src/sdk/schema_resources.rs:588{} listening on http://{}src/templates/rust/billing/bootstrapper.rs:37 src/templates/rust/cac/bootstrapper.rs:29 src/templates/rust/ecommerce/bootstrapper.rs:53 src/templates/rust/iam/bootstrapper.rs:46{{{name}}} listening on http://{}src/templates/rust/project/native-service/bootstrapper.rs:20{protocol}://{host}:{port}src/templates/rust/project/service/src/config/mod.rs:32{}://{}:0src/templates/rust/project/service/src/config/mod.rs:68http://127.0.0.1:8080src/templates/rust/project/service/src/config/mod.rs:116
info unparsable_source library 29
expected `;`src/templates/rust/agent/__test__/agent.rs:17 src/templates/rust/kafka-worker/main.rs:7 src/templates/rust/leased-worker/smoke.rs:1 src/templates/rust/postgres-worker/main.rs:9 src/templates/rust/project/library/tests/smoke.rs:1 src/templates/rust/project/native-service/__test__/http.rs:18 src/templates/rust/project/postgres-service/persistence_test.rs:5 src/templates/rust/project/service/src/main.rs:3 src/templates/rust/project/service/tests/smoke.rs:1 src/templates/rust/project/worker/src/main.rs:3 src/templates/rust/project/worker/tests/smoke.rs:1 src/templates/rust/redis-worker/main.rs:9 src/templates/rust/router/router.rs:11expected `,`src/templates/rust/agent/mod.rs:15expected square bracketssrc/templates/rust/billing/api/contracts/registry.rs:19expected one of: `fn`, `extern`, `use`, `static`, `const`, `unsafe`, `mod`, `type`, `struct`, `enum`, `union`, `trait`, `auto`, `impl`, `default`, `macro`, identifier, `self`, `super`, `crate`, `::`src/templates/rust/billing/api/controllers/mod.rs:8 src/templates/rust/billing/api/controllers/webhook.rs:1 src/templates/rust/billing/api/routes/mod.rs:12 src/templates/rust/billing/api/routes/webhook.rs:1 src/templates/rust/billing/domain/mod.rs:13 src/templates/rust/billing/registrations.rs:4 src/templates/rust/project/service/src/contracts/mod.rs:2 src/templates/rust/router/native_routes_mod.rs:1 src/templates/rust/router/routes_mod.rs:1 src/templates/sdk/rust/lib.rs:2expected identifiersrc/templates/rust/billing/config.rs:20 src/templates/rust/router/contract.rs:5expected `!`src/templates/rust/capabilities/mod.rs:5 src/templates/rust/capabilities/native_mod.rs:6
info unsafe_code library 2
2 unsafe blocks, functions or implssrc/managed/client.rs:441 src/observe/issues.rs:614
Run: check
succeeded- Ended
- agent reported the end
- Guest
- exit code 0
- Run time
- 691 ms
- VM restore
- 62 ms
- Payload
- 24729 files, 407.1 MiB
- Files opened
- 998
Processes 2
Siblings that ran the same program with the same result and the same processes below are folded into one row, with their number.
| Process | Arguments | Start | Took | Exit |
|---|---|---|---|---|
| cargo /usr/local/bin/cargo | check --locked --offline | 5 ms | 677 ms | 0 |
| └rustc /usr/local/bin/rustc | --crate-name crateward_probe --edition=2021 lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --check-cfg cfg(docsrs,test) --check-cfg cfg(feature, values()) -C metadata=d9152fcf76bf9b7f -C extra-filename=-8c7788aadf5d3a75 --out-dir /work/target/debug/deps -C incremental=/work/target/debug/incremental -L dependency=/work/target/debug/deps | 436 ms | 210 ms | 0 |
Network 0
No network activity.
Files 0
Secrets opened
None.
Written outside the build directories
None.
Scratch disk 0
- Files
- 21
- Directories
- 19
- Size
- 77.8 KiB
- Compiled units
- 1
Nothing outside the build areas.
Output
Standard error
warning: crateward-probe v0.0.0 (/cw/probe) ignoring invalid dependency `target` which is missing a lib target
Checking crateward-probe v0.0.0 (/cw/probe)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.60s
Timeline
6
| When | From | To | Event | Worker |
|---|---|---|---|---|
| 2026-10-27 04:44 UTC | Discovered | Fetched | fetched | fetcher-12688 |
| 2026-10-27 04:44 UTC | Fetched | ReadyForSandbox | static_analysis_completed | static-12726 |
| 2026-10-27 04:45 UTC | ReadyForSandbox | Running | sandbox_started | orchestrator-12760-slot2 |
| 2026-10-27 04:45 UTC | Running | DynamicallyAnalyzed | sandbox_completed | orchestrator-12760-slot2 |
| 2026-10-27 04:45 UTC | DynamicallyAnalyzed | Scored | scored | analyzer-12816 |
| 2026-10-27 04:45 UTC | Scored | Done | finalized | analyzer-12816 |