Interactive CLI tool for Bike4Mind with ReAct agents
- capability exposure inferred + 35
- tool safety inferred + 17
- supply-chain attested + 6
- trust mitigators mixed − 14
attested inferred mixed
The A–E grade is our heuristic synthesis — a "review this" prompt, not a verdict. Each factor is tagged by what backs it: attested (a verifiable record), reported (a third party's claim), or inferred (our own heuristic, e.g. permissions). See methodology.
graded 3m ago · see ecosystem CVEs →
- C · 49 → C · 44
- D · 69 → C · 49
- D · 64 → D · 69
- D · 67 → D · 64
- C · 59 → D · 67
No known CVEs for this server.
- high dangerous code
committed secret: GitHub fine-grained PAT, Slack token, Anthropic key, Google API key, OpenAI key · dynamic exec: new Function(), indirect eval, eval(), setTimeout(string) · crede…
- medium toxic flow (lethal trifecta)
lethal trifecta reachable across this server's tool + source surface: private-data access + untrusted-content ingestion + network exfil (a leg is proven only in the analyzed source)
analyzed commit c7b5854 · analyzer v32 · 8h ago
skills & prompt files 3
danger signals36
- dynamic code execution new Function() Bike4Mind-bike4mind-c7b5854/apps/client/pages/api/embed/__tests__/widget.dom.test.ts :57
new Function(loader)(); - dynamic code execution new Function() Bike4Mind-bike4mind-c7b5854/apps/client/pages/api/publish/__tests__/widget.test.ts :32
new Function(getWidgetJs())(); - dynamic code execution new Function() Bike4Mind-bike4mind-c7b5854/apps/client/pages/api/react-artifact-sandbox.ts :263
var ComponentFactory = new Function('React', 'useState', 'useEffect', 'useRef', 'useMemo', 'useCallback', 'useReducer', 'useContext', 'createContext', 'require', functionBody); - dynamic code execution new Function() Bike4Mind-bike4mind-c7b5854/apps/client/public/static/lib/d3@7.x.js :2
Xu=34,Gu=10,Vu=13;function Wu(t){return new Function("d","return {"+t.map((function(t,n){return JSON.stringify(t)+": d["+n+'] || ""'})).join(",")+"}")}function Zu(t){var n=Object.create(null),e=[];ret - dynamic code execution new Function() Bike4Mind-bike4mind-c7b5854/apps/client/server/embed/embedSseParser.test.ts :28
const factory = new Function(`return (${EMBED_SSE_PARSER_SRC})`)() as (h: ParserHandlers) => Parser; - dynamic code execution indirect eval Bike4Mind-bike4mind-c7b5854/apps/client/server/embed/embedWidgetPage.runtime.test.ts :40
(0, eval)(EMBED_WIDGET_JS); - dynamic code execution new Function() Bike4Mind-bike4mind-c7b5854/apps/client/server/services/publish/reactArtifact.dom.test.ts :85
new Function(extractBootstrap(indexHtml))(); - dynamic code execution eval() Bike4Mind-bike4mind-c7b5854/apps/client/server/services/publish/renderBundleLoaderShell.dom.test.ts :60
eval(bootstrapSource()); - dynamic code execution new Function() Bike4Mind-bike4mind-c7b5854/b4m-core/common/src/schemas/settings.ts :80
- NEVER use eval(), new Function(), the Function constructor, document.write/writeln, or string-form setTimeout/setInterval (e.g. setTimeout("code", ms)) - directly or via aliases/string-concat. They - dynamic code execution eval() Bike4Mind-bike4mind-c7b5854/b4m-core/common/src/schemas/settings.ts :80
- NEVER use eval(), new Function(), the Function constructor, document.write/writeln, or string-form setTimeout/setInterval (e.g. setTimeout("code", ms)) - directly or via aliases/string-concat. They - dynamic code execution setTimeout(string) Bike4Mind-bike4mind-c7b5854/b4m-core/common/src/schemas/settings.ts :80
tring-form setTimeout/setInterval (e.g. setTimeout("code", ms)) - directly or via aliases/string-concat. They auto-reject the publish. Pass real function references to timers; parse with JSON.parse; b - dynamic code execution eval() Bike4Mind-bike4mind-c7b5854/b4m-core/services/src/sreAgentService/prompts.ts :204
- NEVER include \`eval(\`, \`child_process\`, \`exec(\`, \`Function(\`, or \`execSync\` in proposed code. - suspicious endpoint analytics.google.com (telemetry) Bike4Mind-bike4mind-c7b5854/apps/client/app/utils/__tests__/ga.test.ts :7
'https://analytics.google.com/analytics/web/#/p123456789/reports/reportinghub' - suspicious endpoint analytics.google.com (telemetry) Bike4Mind-bike4mind-c7b5854/apps/client/app/utils/ga.ts :7
return `https://analytics.google.com/analytics/web/#/p${match[1]}/reports/reportinghub`; - suspicious endpoint 169.254.169.254 (cloud metadata) Bike4Mind-bike4mind-c7b5854/apps/client/server/utils/cacheExternalImage.test.ts :43
const ssrfUrl = 'http://169.254.169.254/latest/meta-data/'; - suspicious endpoint 1.2.3.4 Bike4Mind-bike4mind-c7b5854/b4m-core/common/src/schemas/publishedArtifact.embed.test.ts :34
expect(parseEmbedOrigin('https://1.2.3.4')).toBeNull(); - suspicious endpoint 169.254.169.254 (cloud metadata) Bike4Mind-bike4mind-c7b5854/b4m-core/services/src/llm/tools/implementation/webfetch/index.test.ts :323
const res = await firecrawlFetch(adapters, 'http://169.254.169.254/latest/meta-data/'); - suspicious endpoint 169.254.169.254 (cloud metadata) Bike4Mind-bike4mind-c7b5854/b4m-core/services/src/llm/tools/implementation/webfetch/ssrfGuard.test.ts :53
expect(await unsafeFetchUrlReason(new URL('http://169.254.169.254/latest/meta-data/'))).toContain('private'); - suspicious endpoint 169.254.169.254 (cloud metadata) Bike4Mind-bike4mind-c7b5854/b4m-core/services/src/sreAgentService/prompts.ts :155
URL', async () => {\\n const url = 'http://169.254.169.254/latest/meta-data/';\\n const result = await cacheExternalImage(url);\\n expect(result).toBe(url);\\n });\\n});\\n" - over-broad OAuth scope https://www.googleapis.com/auth/documents Bike4Mind-bike4mind-c7b5854/apps/client/app/components/Session/GoogleDoc.tsx :32
const SCOPES = 'https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents'; - committed secret GitHub fine-grained PAT Bike4Mind-bike4mind-c7b5854/.github/scripts/redact-review-transcript.test.sh :139
github…(51 chars, redacted) - committed secret Slack token Bike4Mind-bike4mind-c7b5854/apps/client/server/security/tokenEncryption.test.ts :53
xoxb-p…(20 chars, redacted) - committed secret Anthropic key Bike4Mind-bike4mind-c7b5854/apps/client/server/services/liveopsTriageService.test.ts :605
sk-ant…(44 chars, redacted) - committed secret Google API key Bike4Mind-bike4mind-c7b5854/apps/client/server/services/liveopsTriageService.test.ts :632
AIzaSy…(39 chars, redacted) - committed secret Slack token Bike4Mind-bike4mind-c7b5854/apps/client/server/services/prReport/guards.test.ts :51
xoxb-s…(23 chars, redacted) - committed secret OpenAI key Bike4Mind-bike4mind-c7b5854/b4m-core/fab-pipeline/src/embeddings/EmbeddingFactory.test.ts :165
sk-rea…(30 chars, redacted) - committed secret OpenAI key Bike4Mind-bike4mind-c7b5854/b4m-core/fab-pipeline/src/embeddings/providers/OpenAIEmbeddingService.test.ts :49
sk-rea…(30 chars, redacted) - committed secret Slack token Bike4Mind-bike4mind-c7b5854/b4m-core/services/src/prReportService/sendReport.test.ts :6
xoxb-s…(23 chars, redacted) - committed secret Slack token Bike4Mind-bike4mind-c7b5854/b4m-core/slack/src/__tests__/search-handler.test.ts :43
xoxp-m…(20 chars, redacted) - committed secret Slack token Bike4Mind-bike4mind-c7b5854/b4m-core/slack/src/services/SlackAuditLogger.test.ts :157
xoxb-s…(17 chars, redacted) - committed secret Slack token Bike4Mind-bike4mind-c7b5854/b4m-core/slack/src/workspace-routing.test.ts :23
xoxb-o…(26 chars, redacted) - committed secret Slack token Bike4Mind-bike4mind-c7b5854/packages/database/src/models/infra/integrations/__tests__/SlackDevWorkspaceModel.test.ts :58
xoxb-s…(17 chars, redacted) - credential in logs credential in log Bike4Mind-bike4mind-c7b5854/apps/client/app/components/Session/GoogleDoc.tsx :280
console.log(`Exporting with token: ${accessToken}`); - credential in logs credential in log Bike4Mind-bike4mind-c7b5854/packages/cli/src/index.tsx :2489
console.log(`Expires: ${new Date(authTokens.expiresAt).toLocaleString()}`); - credential in logs credential in log Bike4Mind-bike4mind-c7b5854/packages/scripts/src/seed-oauth-client.ts :114
console.log(' client_secret:', clientSecret); - credential in logs credential in log Bike4Mind-bike4mind-c7b5854/packages/scripts/test-api-usage-monitoring.ts :83
console.log(`✅ Found API key: ${apiKeyDoc.name} (${apiKeyDoc.id})`);
- supply-chain +6 supply-chain hub →
Heuristic, inferred signals — false positives (legitimately powerful tools, forks, language ports) are expected. Treat each as "review this", not a verdict. See the ecosystem-wide picture on the security hub, or the fleet security of Bike4Mind.