Skip to content

chore: onboard action into the Socket fleet and rebuild dist - #14

Merged
John-David Dalton (jdalton) merged 14 commits into
mainfrom
chore/fleet-onboarding
Aug 4, 2026
Merged

chore: onboard action into the Socket fleet and rebuild dist#14
John-David Dalton (jdalton) merged 14 commits into
mainfrom
chore/fleet-onboarding

Conversation

@jdalton

@jdalton John-David Dalton (jdalton) commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Onboards this repo into the Socket fleet, and rebuilds dist/ — which was stale on main.

Important

Two things here change the bytes a workflow runner executes. dist/ was last rebuilt in 937f824 while src/ last changed in 48bdbd2 ("feat: add win32-arm64 to distributions (#13)"), so a tag cut from main today ships a bundle that does not contain the win32-arm64 fix. This PR rebuilds it. The bundler also changed from rollup to rolldown, so every byte in dist/ is different.

What changed

The bundler is rolldown, not rollup. rollup is an anti-fleet dependency. The build now runs node scripts/repo/build.mts over .config/repo/rolldown.config.mts, which emits the same two single-file ESM bundles at the same two paths action.yml names. rolldown has node-resolve and CommonJS handling built in, so the three @rollup/plugin-* packages have no equivalent and are simply gone. The output is no longer minified — bundle-flags-guard blocks minified shipped bundles fleet-wide, and for an artifact that is committed and executed straight from the tree that is the right call: a reviewer can read it and a stack trace points at real code. That is why dist/ roughly doubles in size.

The @actions/* packages move to their current majors. This was forced, not optional. @actions/http-client (reached from every @actions/* package) asked for undici@^5.25.4, and no undici 5.x release carries a provenance attestation while later-published 6.x, 7.x, and 8.x releases do. pnpm's trustPolicy: no-downgrade compares trust evidence by publish date across the whole package, so any 5.x resolves as a trust downgrade and the install refuses outright. The current @actions/* majors are ESM-only and export named functions rather than a default object, so src/ now uses named imports. @actions/io was imported but never used, and is dropped.

The action sources are rewritten to pass the fleet linter. Named imports, named exports, sorted object literals, braces on every if, no top-level await (each entry is an exported main() the module invokes), and errorMessage() in place of a bare ${e.message}. The two <platform>-<arch> lookup tables are now exported so they can be tested, and test/unit/tools/ covers them.

Everything else is the fleet payload: the shared-template marker under .config/repo/ (build.from: "github-action", the release source added for exactly this repo kind), the cascaded .claude/, scripts/fleet/, .github/actions/fleet/, and .config/fleet/ trees, a pnpm lockfile in place of package-lock.json, and the fleet CI workflow.

How the rebuilt bundle was verified — every runtime path produces the same output as the old rollup bundle

The old bundle was extracted from origin/main and run side by side with the new one under a scrubbed environment, driving each path through the real INPUT_* variables a runner sets.

Path Old bundle New bundle
main.js, unsupported mode ::error::Unsupported mode: bogus… identical
main.js, SFW mode with an invalid token [401] …/repos/socketdev/sfw-free/releases/latest then ::error::failed to check version latest identical, same URL
post.js, mode: patch patch mode: no post-run actions required identical
post.js, job-summary: none the job-summary skip message identical
post.js, no report path the report-path-unset message identical
post.js, full report to GITHUB_STEP_SUMMARY blocked + parse-failure tables byte-identical file

The SFW-mode probe is the one that matters most: it exercises @actions/github v9 and octokit v7 against the real GitHub API, and lands on the same request and the same error handling octokit v5 did.

Sizes. dist/main.js 595,112 to 1,036,221 bytes. dist/post.js 467,895 to 1,050,405 bytes. Both parse under node --check. The growth is unminified output plus the hardened @socketregistry/packageurl-js drop-in the fleet dedup gate requires in place of upstream packageurl-js.

Release workflow — same steps, driven by pnpm

release.yml used npm ci and npx semantic-release. npm cannot resolve the catalog: protocol the fleet's package.json now uses, so the install step is the fleet setup-and-install composite (checkout, node, pnpm, install) and the release step is pnpm exec semantic-release. A hand-written bootstrap fetch runs first, because a uses: ./… composite cannot resolve before something is on disk — the same shape ci.yml uses. .releaserc.json's prepareCmd is pnpm run build.

The semantic-release plugin set, the bot identity, and the dist/*.js release assets are unchanged.

Gates — what was run and what it said

Ran. pnpm install (clean), pnpm run build (clean), pnpm test (11 tests across 2 files, passing), pnpm run check --all (177 checks, exit 0), pnpm run check --all --release (exit 0).

Trade-off. dist/ stays git-tracked, so the root .gitignore re-includes it under the repo-owned block — the fleet block ignores **/dist/ as a build output, which is wrong for a repo whose build output is the product. .config/repo/root-files.json declares action.yml, dist, and .releaserc.json as tool-anchored root entries for the same reason.

Fuzzing is exempt, with the reason recorded in the marker: the action parses no untrusted input, and the only pure logic is two lookup tables whose entire input domain is the finite set of process.platform and process.arch values the unit tests already enumerate.

The release model changed

The repo ran semantic-release with @semantic-release/git, which commits back to main. That push is rejected outright — main requires pull requests, a required workflow, and signed commits — so the release job has been failing since 2026-07-13 and nothing has shipped since v1.3.2.

That path is removed: .github/workflows/release.yml, .releaserc.json, and the semantic-release packages are gone. Releases now run the standard cascaded workflows — github-release.yml cuts a release from a pushed signed v* tag and skips the registry gate for a repo that publishes to no registry, and release-reconcile.yml covers drift. A person names the version through bump.mts instead of it being computed from commit types.

package.json version was the placeholder 0.0.0-semantically-released; it now states the last released version, 1.3.2.

Auto-applied by socket-wheelhouse sync-scaffolding into action-onboard.
1401 file(s) touched:
  - .claude/agents/fleet/code-reviewer.md
  - .claude/agents/fleet/fix.md
  - .claude/agents/fleet/pr-feedback.md
  - .claude/agents/fleet/refactor-cleaner.md
  - .claude/agents/fleet/security-reviewer.md
  - .claude/commands/fleet/audit-gha-settings.md
  - .claude/commands/fleet/codifying-disciplines.md
  - .claude/commands/fleet/green-ci-local.md
  - .claude/commands/fleet/green-ci.md
  - .claude/commands/fleet/looping-quality.md
  - .claude/commands/fleet/researching-recency.md
  - .claude/commands/fleet/scanning-quality.md
  - .claude/commands/fleet/security-scan.md
  - .claude/commands/fleet/setup-security-tools.md
  - .claude/commands/fleet/squash-history.md
  - .claude/commands/fleet/update-coverage.md
  - .claude/commands/fleet/update-hooks-dry.md
  - .claude/commands/fleet/update-pricing.md
  - .claude/commands/fleet/update-security.md
  - .claude/output-styles/fleet.md
  ... and 1381 more
Auto-applied by socket-wheelhouse sync-scaffolding into action-onboard.
4 file(s) touched:
  - .config/repo/rolldown/bundle-stub.mts
  - .github/workflows/github-release.yml
  - CLAUDE.md
  - package.json
Auto-applied by socket-wheelhouse sync-scaffolding into action-onboard.
1161 file(s) touched:
  - .claude/hooks/fleet/_shared/.clangd
  - .claude/hooks/fleet/_shared/README.md
  - .claude/hooks/fleet/_shared/active-edits-ledger.mts
  - .claude/hooks/fleet/_shared/ai-attribution.mts
  - .claude/hooks/fleet/_shared/ai-slop-patterns.mts
  - .claude/hooks/fleet/_shared/ast/calls.mts
  - .claude/hooks/fleet/_shared/ast/comment-types.mts
  - .claude/hooks/fleet/_shared/ast/comments.mts
  - .claude/hooks/fleet/_shared/ast/core.mts
  - .claude/hooks/fleet/_shared/ast/literals.mts
  - .claude/hooks/fleet/_shared/authorization-phrases.mts
  - .claude/hooks/fleet/_shared/branch-switch.mts
  - .claude/hooks/fleet/_shared/brew-supply-chain.mts
  - .claude/hooks/fleet/_shared/bypass.mts
  - .claude/hooks/fleet/_shared/cdn-allowlist.mts
  - .claude/hooks/fleet/_shared/commit-command.mts
  - .claude/hooks/fleet/_shared/copyleft-upstreams.mts
  - .claude/hooks/fleet/_shared/dated-citation.mts
  - .claude/hooks/fleet/_shared/denied-domains.mts
  - .claude/hooks/fleet/_shared/dependency-spec-forms.mts
  ... and 1141 more
Auto-applied by socket-wheelhouse sync-scaffolding into action-onboard.
5 file(s) touched:
  - scripts/fleet/build-infra/lib/release-checksums/consumer.mts
  - scripts/fleet/build-infra/lib/release-checksums/core.mts
  - scripts/fleet/build-infra/lib/release-checksums/producer.mts
  - scripts/fleet/build-infra/release-assets.schema.json
  - scripts/fleet/create-release.mts
Auto-applied by socket-wheelhouse sync-scaffolding into action-onboard.
1 file(s) touched:
  - .config/repo/vitest.config.mts
rollup is an anti-fleet dependency, so the two bundles now build through
rolldown from .config/repo/rolldown.config.mts. The @actions/* packages move to
their current majors, which are ESM-only with named exports, because no undici
5.x release carries a provenance attestation and pnpm's trust policy refuses to
install one.
Auto-applied by socket-wheelhouse sync-scaffolding into action-onboard.
1 file(s) touched:
  - .gitattributes
Auto-applied by socket-wheelhouse sync-scaffolding into action-onboard.
1 file(s) touched:
  - scripts/fleet/check/trusted-publishers-match-source.mts
@socket-security

socket-security Bot commented Aug 4, 2026

Copy link
Copy Markdown

@socket-security

socket-security Bot commented Aug 4, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
License policy violation: pypi grpcio under APSL-2.0

License: APSL-2.0 - The applicable license policy does not permit this license (5) (grpcio-1.78.0/third_party/cares/cares/src/lib/thirdparty/apple/dnsinfo.h)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/grpcio@1.78.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/grpcio@1.78.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi langchain-core is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langchain-core@1.4.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/langchain-core@1.4.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi langchain-core is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langchain-core@1.4.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/langchain-core@1.4.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi langgraph-api under Elastic-2.0

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7/pyproject.toml)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7/PKG-INFO)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7/LICENSE)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langgraph-api@0.8.7

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/langgraph-api@0.8.7. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi langgraph-api under Elastic-2.0

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7.dist-info/METADATA)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (LICENSE)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7.dist-info/licenses/LICENSE)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langgraph-api@0.8.7

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/langgraph-api@0.8.7. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi langgraph-runtime-inmem under Elastic-2.0

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_runtime_inmem-0.28.1/pyproject.toml)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_runtime_inmem-0.28.1/PKG-INFO)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langgraph-runtime-inmem@0.28.1

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/langgraph-runtime-inmem@0.28.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi langgraph-runtime-inmem under Elastic-2.0

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_runtime_inmem-0.28.1.dist-info/METADATA)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langgraph-runtime-inmem@0.28.1

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/langgraph-runtime-inmem@0.28.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi orjson is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/orjson@3.11.9

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/orjson@3.11.9. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi orjson

License: Apache-2.0 WITH LLVM-exception - The applicable license policy does not permit this license (5) (orjson-3.11.9/include/cargo/target-lexicon-0.13.5/LICENSE)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/orjson@3.11.9

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/orjson@3.11.9. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi pycparser is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/pycparser@3.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/pycparser@3.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi pycparser is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/pycparser@3.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/pycparser@3.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi pyreadline3 is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/pyreadline3@3.5.6

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/pyreadline3@3.5.6. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi pyreadline3 is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/pyreadline3@3.5.6

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore pypi/pyreadline3@3.5.6. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Without an explicit permission input the minted token inherits every
permission the installation holds, which zizmor flags High. The release
only cuts tags and a GitHub Release.
@socket-security-staging

socket-security-staging Bot commented Aug 4, 2026

Copy link
Copy Markdown

@socket-security-staging

socket-security-staging Bot commented Aug 4, 2026

Copy link
Copy Markdown

Caution

Review the following alerts detected in dependencies.

According to your organization's Security Policy, you must resolve all "Block" alerts before proceeding. It is recommended to resolve "Warn" alerts too. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Block Critical
Malicious package: pypi fastapi

Note: Malicious code in fastapi (PyPI)

Source: amazon-inspector (a753fd569a7bb908b7cdf82fe0228dc0e24dcc253b67993af5dd5c30b61f4411)
This release of fastapi 0.136.3 modifies pyproject.toml and PKG-INFO to add an undocumented dependency 'fastar>=0.9.0' to the [project.optional-dependencies] standard group (pyproject.toml line 67: "fastar >= 0.9.0",; PKG-INFO line 47: Requires-Dist: fastar>=0.9.0; extra == "standard"). The README documents every other dependency in the [standard] group (httpx, jinja2, python-multipart, uvicorn, fastapi-cli, email-validator, pydantic-settings, pydantic-extra-types) but does not mention 'fastar'. Because the documented recommended install command is pip install "fastapi[standard]", every user following the official documentation silently pulls the unrelated 'fastar' package onto their developer or CI machine. The name 'fastar' is a typosquat-shaped substitution against 'fastapi'/'fastapi-*' namespaces, and its insertion into the canonical install path of one of PyPI's most-installed web frameworks constitutes a dependency-confusion / namespace-abuse vector regardless of what 'fastar' currently contains. Whoever controls 'fastar' on PyPI gains code execution at install time on a very large user base.

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/fastapi@0.136.3

ℹ Read more on: This package | This alert | What is known malware?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: It is strongly recommended that malware is removed from your codebase.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/fastapi@0.136.3. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block High
Potentially malicious package (AI signal): pypi numpy is 85.0% likely malicious

Notes: The code is not malicious but contains a significant security risk due to unsafe pickle deserialization of files from a user-supplied directory and execution of subprocess commands built from deserialized data. This can lead to arbitrary code execution if an attacker can control the pickle files. No explicit malware or obfuscation is present. It is recommended to validate or sandbox deserialized data or replace pickle with safer serialization methods to mitigate this risk.

Confidence: 0.85

Severity: 0.70

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.2.6

ℹ Read more on: This package | This alert | What is AI-detected potential malware?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Given the AI system's identification of this package as malware, extreme caution is advised. It is recommended to avoid downloading or installing this package until the threat is confirmed or flagged as a false positive.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.2.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block High
Potentially malicious package (AI signal): pypi numpy is 81.0% likely malicious

Notes: The code is not itself obfuscated and likely intended as an internal helper for Meson, but it contains dangerous operations when fed untrusted input. The most serious issue is using pickle.load() on an external file without validation, which allows arbitrary code execution during deserialization; additionally, deserialized fields are used directly to spawn subprocesses and manipulate filesystem and environment, enabling wide-ranging malicious behavior if the input is attacker-controlled. If used only with trusted, internal data, the module is reasonable; if --unpickle or feed/capture paths can be influenced by an attacker, this is a high-risk vector and should be disallowed or protected (use safer serialization, signatures, or explicit allowed classes).

Confidence: 0.81

Severity: 0.60

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.4.6

ℹ Read more on: This package | This alert | What is AI-detected potential malware?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Given the AI system's identification of this package as malware, extreme caution is advised. It is recommended to avoid downloading or installing this package until the threat is confirmed or flagged as a false positive.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.4.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Block High
Potentially malicious package (AI signal): pypi numpy is 90.0% likely malicious

Notes: The script performs unconditional, recursive deletion of multiple Intel oneAPI compiler directories derived from the filesystem. This is destructive behavior that can disable or corrupt a developer/toolchain installation. While there is no evidence of credential theft or network exfiltration, the removal actions are consistent with sabotage. Treat this script as high-risk to systems where it may run; do not execute it without review and safeguards (validate paths, add confirmations/backups, run in controlled environment).

Confidence: 0.90

Severity: 0.80

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.4.6

ℹ Read more on: This package | This alert | What is AI-detected potential malware?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Given the AI system's identification of this package as malware, extreme caution is advised. It is recommended to avoid downloading or installing this package until the threat is confirmed or flagged as a false positive.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.4.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm undici is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?npm/@actions/core@3.0.1npm/undici@6.28.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore npm/undici@6.28.0. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm undici is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: ?npm/@actions/core@3.0.1npm/undici@6.28.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore npm/undici@6.28.0. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
High CVE: AIOHTTP: Out-of-bounds heap read in C HTTP response parser error path (malformed chunked response)

CVE: GHSA-cq5v-8q36-5273 AIOHTTP: Out-of-bounds heap read in C HTTP response parser error path (malformed chunked response) (HIGH)

Affected versions: < 3.14.3

Patched version: 3.14.3

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/headroom-ai@0.30.0pypi/aiohttp@3.14.1

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/aiohttp@3.14.1. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
High CVE: python-pypi cryptography: Duplicate self-signed intermediates can cause exponential path-building

CVE: GHSA-jwv3-5hgf-82ww python-cryptography: Duplicate self-signed intermediates can cause exponential path-building (HIGH)

Affected versions: < 49.0.0

Patched version: 49.0.0

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/cryptography@48.0.1

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/cryptography@48.0.1. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
High CVE: pypi cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing

CVE: GHSA-g6cj-pr64-35w5 cryptography: PKCS#7 EnvelopedData decryption exposes a Bleichenbacher oracle through distinguishable errors and timing (HIGH)

Affected versions: >= 44.0.0 < 50.0.0

Patched version: 50.0.0

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/cryptography@48.0.1

ℹ Read more on: This package | This alert | What is a CVE?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Remove or replace dependencies that include known high severity CVEs. Consumers can use dependency overrides or npm audit fix --force to remove vulnerable dependencies.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/cryptography@48.0.1. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi grpcio-tools is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/grpcio-tools@1.78.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/grpcio-tools@1.78.0. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi grpcio is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/grpcio@1.78.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/grpcio@1.78.0. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi grpcio is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/grpcio@1.78.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/grpcio@1.78.0. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi headroom-ai is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/headroom/pyproject.tomlpypi/headroom-ai@0.30.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/headroom-ai@0.30.0. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi langgraph-api under Elastic-2.0

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7/pyproject.toml)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7/PKG-INFO)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7/LICENSE)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langgraph-api@0.8.7

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/langgraph-api@0.8.7. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi langgraph-api under Elastic-2.0

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7.dist-info/METADATA)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (LICENSE)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_api-0.8.7.dist-info/licenses/LICENSE)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langgraph-api@0.8.7

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/langgraph-api@0.8.7. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi langgraph-runtime-inmem under Elastic-2.0

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_runtime_inmem-0.28.1/pyproject.toml)

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_runtime_inmem-0.28.1/PKG-INFO)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langgraph-runtime-inmem@0.28.1

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/langgraph-runtime-inmem@0.28.1. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi langgraph-runtime-inmem under Elastic-2.0

License: Elastic-2.0 - The applicable license policy does not permit this license (5) (langgraph_runtime_inmem-0.28.1.dist-info/METADATA)

From: .claude/hooks/fleet/setup-security-tools/skillspector/uv.lockpypi/langgraph-runtime-inmem@0.28.1

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/langgraph-runtime-inmem@0.28.1. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Telemetry collection: pypi numpy

Note: The script poses a potential security risk due to the lack of input validation and may lead to arbitrary code execution or unauthorized access. Further investigation and validation are necessary.

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.2.6

ℹ Read more on: This package | This alert | What is telemetry?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Most telemetry comes with settings to disable it. Consider disabling telemetry if you do not want to be tracked.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.2.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi numpy under FSFAP

License: FSFAP - The applicable license policy does not permit this license (5) (numpy-2.2.6/vendored-meson/meson/test cases/frameworks/6 gettext/data3/metainfo.its)

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.2.6

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.2.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Telemetry collection: pypi numpy

Note: The script poses a potential security risk due to the lack of input validation and may lead to arbitrary code execution or unauthorized access. Further investigation and validation are necessary.

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.4.6

ℹ Read more on: This package | This alert | What is telemetry?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Most telemetry comes with settings to disable it. Consider disabling telemetry if you do not want to be tracked.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.4.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
License policy violation: pypi numpy under FSFAP

License: FSFAP - The applicable license policy does not permit this license (5) (numpy-2.4.6/vendored-meson/meson/test cases/frameworks/6 gettext/data3/metainfo.its)

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.4.6

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.4.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi numpy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.4.6

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.4.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi numpy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.4.6

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.4.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: pypi numpy is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: .claude/hooks/fleet/setup-security-tools/headroom/uv.lockpypi/numpy@2.4.6

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity-Staging ignore pypi/numpy@2.4.6. You can also ignore all packages with @SocketSecurity-Staging ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

See 43 more rows in the dashboard

View full report

The repo ran semantic-release with @semantic-release/git, which commits back
to main. That push is rejected outright: main requires pull requests, a
required workflow, and signed commits, so the release job has been failing
since 2026-07-13 and nothing has shipped since v1.3.2.

The cascaded fleet path replaces it. `github-release.yml` cuts a release from
a pushed signed `v*` tag and skips the registry gate for a repo that publishes
to no registry, and `release-reconcile.yml` covers drift. The version is named
by a person through `bump.mts` rather than computed from commit types.

`version` was the `0.0.0-semantically-released` placeholder; it now states the
last released version.
@jdalton
John-David Dalton (jdalton) merged commit b313d09 into main Aug 4, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant