← Scan another repo

github.com/earendil-works/pi

@ b784c80961c2

Submitted 8/4/2026, 10:25:55 AM · Status: ok

Risk grade
F
100 / 100
Findings
46
2 critical9 high31 medium4 low0 info0 on CISA KEV0ATT&CK
Showing 46 of 46 findings

Findings

  • shell-quote quote() does not escape newlines in object .op values
    grypeCVE-2026-9277EPSS 0.9%
  • shell-quote: shell-quote: Arbitrary code execution via command injection due to unescaped line terminators
    shell-quote's `quote()` function did not validate object-token inputs against the operator model used by `parse()`. The `.op` field was backslash-escaped character by character using `/(.)/g`, which in JavaScript does not match line terminators (\n, \r, U+2028, U+2029). A line te…
    trivyCVE-2026-9277
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • Detected generic-api-key: Detected a Generic API Key, potentially exposing access to various services and sensitive operations
    Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
    gitleaks
  • shell-quote: Quadratic-complexity Denial of Service in `parse()` (CWE-407)
    grypeCVE-2026-13311EPSS 0.4%
  • undici WebSocket client vulnerable to denial of service via fragment count bypass
    grypeCVE-2026-12151EPSS 0.8%
  • Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    Dynamic code execution via eval()/new Function() — arbitrary-code-execution risk if any operand is attacker-influenced. Avoid; parse explicitly. (Apache-2.0.)
    semgreppackages/coding-agent/examples/extensions/doom-overlay/doom-engine.ts:65
  • shell-quote: shell-quote/parse: shell-quote: Denial of Service due to inefficient input parsing
    shell-quote prior to 1.8.5 finalizes parsed tokens in parse() using Array.prototype.concat as a reduce accumulator, which reallocates and copies the entire growing array on every iteration. As a result parse() runs in O(n^2) time relative to the number of input tokens. An attacke…
    trivyCVE-2026-13311
  • undici: undici: Denial of Service due to unbounded memory growth via WebSocket frames
    Impact: The undici WebSocket client enforces maxPayloadSize on the cumulative byte count of fragments in a message but does not enforce a limit on the number of fragments. A malicious WebSocket server can stream many small or empty continuation frames that each pass per-frame and…
    trivyCVE-2026-12151
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Remove In Progress Label On Close)
    checkov.github/workflows/remove-inprogress-on-close.yml:10
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Issue Triage Labels)
    checkov.github/workflows/issue-triage-labels.yml:10
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(PR Gate)
    checkov.github/workflows/pr-gate.yml:10
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Approve Contributor)
    checkov.github/workflows/approve-contributor.yml:10
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(CI)
    checkov.github/workflows/ci.yml:0
  • Ensure top-level permissions are not set to write-all
    Ensure top-level permissions are not set to write-all on on(Issue Gate)
    checkov.github/workflows/issue-gate.yml:10
  • The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty.
    The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty. on on(Build Binaries)
    checkov.github/workflows/build-binaries.yml:9
  • The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty.
    The build output cannot be affected by user parameters other than the build entry point and the top-level source location. GitHub Actions workflow_dispatch inputs MUST be empty. on on(Publish Model Catalog)
    checkov.github/workflows/publish-model-catalog.yml:23
  • undici vulnerable to HTTP header injection via Set-Cookie percent-decoding
    grypeCVE-2026-9679EPSS 0.3%
  • shell-quote quote() does not escape newlines in object .op values
    ### Summary `shell-quote`'s `quote()` function did not validate object-token inputs against the operator model used by `parse()`. The `.op` field was backslash-escaped character by character using `/(.)/g`, which in JavaScript does not match line terminators (`\n`, `\r`, U+2028,…
    osv-scannerCVE-2026-9277
  • shell-quote: Quadratic-complexity Denial of Service in `parse()` (CWE-407)
    ### Summary `shell-quote`'s `parse()` finalizes its token list with a `reduce` that uses `Array.prototype.concat` as the accumulator. Each `prev.concat(arg)` copies the entire growing array, so `parse()` runs in **O(n²)** in the number of tokens. An unauthenticated attacker who c…
    osv-scannerCVE-2026-13311
  • undici vulnerable to HTTP header injection via Set-Cookie percent-decoding
    ## Impact undici's cookie parser in `parseSetCookie` percent-decodes cookie values via `qsUnescape`, turning encoded sequences like `%0D%0A`, `%00`, `%3B`, and `%3D` into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode eithe…
    osv-scannerCVE-2026-9679
  • undici vulnerable to HTTP response queue poisoning via keep-alive socket reuse
    ## Impact Undici's HTTP/1.1 client is vulnerable to response queue poisoning on reused keep-alive sockets. An attacker-controlled upstream server can inject an unsolicited HTTP/1.1 response onto an idle socket after a request completes. When the client dispatches the next reques…
    osv-scannerCVE-2026-6733
  • undici vulnerable to Set-Cookie SameSite attribute downgrade via permissive substring matching
    ## Impact When undici parses a `Set-Cookie` header, it accepts any `SameSite` attribute value that contains `Strict`, `Lax`, or `None` as a substring, rather than the case-insensitive exact match specified by RFC 6265. Non-spec values are silently mapped to one of the three stan…
    osv-scannerCVE-2026-11525
  • undici WebSocket client vulnerable to denial of service via fragment count bypass
    ## Impact The undici WebSocket client enforces `maxPayloadSize` on the cumulative byte count of fragments in a message but does not enforce a limit on the number of fragments. A malicious WebSocket server can stream many small or empty continuation frames that each pass per-fram…
    osv-scannerCVE-2026-12151
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/ai/README.md:336
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/src/core/extensions/types.ts:1376
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/examples/extensions/custom-provider-gitlab-duo/index.ts:385
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/examples/extensions/custom-provider-gitlab-duo/index.ts:325
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/examples/extensions/custom-provider-anthropic/index.ts:578
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/docs/extensions.md:1749
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/docs/extensions.md:203
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/docs/custom-provider.md:628
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/docs/custom-provider.md:277
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/docs/custom-provider.md:196
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/docs/custom-provider.md:163
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/docs/custom-provider.md:143
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/coding-agent/docs/custom-provider.md:74
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/ai/src/providers/cloudflare-auth.ts:4
  • Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    Possible hardcoded secret assigned to a credential-like variable. Move it to a secret store / env var. (First-party socbox rule; Apache-2.0.)
    semgreppackages/ai/README.md:1380
  • undici: undici vulnerable to HTTP header injection via Set-Cookie percent-decoding
    Impact: undici's cookie parser in parseSetCookie percent-decodes cookie values via qsUnescape, turning encoded sequences like %0D%0A, %00, %3B, and %3D into their literal byte equivalents. RFC 6265 §5.4 does not specify any decoding and browsers do not decode either. Application…
    trivyCVE-2026-9679
  • undici vulnerable to HTTP response queue poisoning via keep-alive socket reuse
    grypeCVE-2026-6733EPSS 0.2%
  • undici vulnerable to Set-Cookie SameSite attribute downgrade via permissive substring matching
    grypeCVE-2026-11525EPSS 0.2%
  • undici: Undici: Response queue poisoning on reused keep-alive sockets can lead to incorrect response delivery.
    Impact: Undici's HTTP/1.1 client is vulnerable to response queue poisoning on reused keep-alive sockets. An attacker-controlled upstream server can inject an unsolicited HTTP/1.1 response onto an idle socket after a request completes. When the client dispatches the next request o…
    trivyCVE-2026-6733
  • undici: undici: Weakening of cookie SameSite policy due to incorrect parsing of Set-Cookie header
    Impact: When undici parses a Set-Cookie header, it accepts any SameSite attribute value that contains Strict, Lax, or None as a substring, rather than the case-insensitive exact match specified by RFC 6265. Non-spec values are silently mapped to one of the three standard tokens. …
    trivyCVE-2026-11525

This report is public.