Skip to content
Our open-source security work.See the research

An open security research lab

Open security research and the tools we build

Check for any issues before I merge this PR

server: "andesyte"

tool: "andesyte_review"

arguments: { pr: "current", scope: "deps" }

~/repo/acme · package.json · 214 dependencies
Resolved lockfile to exact versions 0.4s
Checked 214 packages against the CVE database 1.2s
Traced cross-spawn to src/jobs/run-task.ts:42 0.6s
Job payload flows into cross-spawn unsanitised reachable
cross-spawn@7.0.3 via CVE-2024-21538 (ReDoS, high) flagged
CWE-1333 · Inefficient Regular Expression Complexity cvss 7.7
No other unsanitised call paths found 0.3s
Bumped cross-spawn to 7.0.5 and relocked 0.8s
Ran install + test suite against the patch 3.1s
Opened PR #482, no known CVEs remain patched
Follow-up
Open

fix: bump cross-spawn to patch CVE-2024-21538 #482

andesyte-code-security wants to merge 2 commits into main

andesyte-code-security [bot]reviewed 2m ago
package.json
11 "dependencies": {
12 "commander": "^11.1.0",
13 "cross-spawn": "7.0.3",
13 "cross-spawn": "7.0.5",
14 "execa": "^8.0.1",
Collapsed filesrc/jobs/run-task.ts +2 -1
andesyte-code-security [bot]high

CVE-2024-21538 affects cross-spawn <7.0.5, which is vulnerable to ReDoS via crafted arguments. Traced the call path to src/jobs/run-task.ts:42, where job payloads reach it unsanitised, confirming this is exploitable, not just present in the lockfile. Bumped to 7.0.5, the patched release.

No deployments

This branch has not been deployed

No deployments

Passed

All checks have passed

1 successful check

Passed

No conflicts with base branch

Merging can be performed automatically.

Squash and mergeor merge from the command line

Open-source projects we've helped secure

  • NVIDIA
  • Hugging Face
  • RAGFlow
  • three.js
  • Sentry
  • FastGPT

In your terminal, and in your agent

The same checks that review your pull requests run locally. Your source code stays on your machine. Dependency scanning sends package names and versions to OSV, and nothing else.

npm install -g @andesyte-oss/cli

Published findings

All research →

Each of these was reported to the maintainer, fixed upstream, and then written up in full. The write-ups include the exploit path, because a finding you cannot reproduce is difficult to learn from.

A pull request is the entry point

Install the GitHub App once. Every pull request then triggers the same review, inline findings, and safe autofix workflow.

Review this PR before I merge it

Read icon
Terminal icon

server: "andesyte"

tool: "andesyte_review"

arguments: { pr: 53417, scope: "authz" }

Search icon

Diffed PR #53417 against main

Trace icon

Traced request handling in app/api/chat/route.ts:27

Warning icon

userId is read from the request body, not the authenticated session

Flag icon

Flagged missing authorization check · CWE-862

Info icon

Severity: critical · user impersonation possible

Search icon
Search icon

Both handlers already validate the session correctly

Edit icon

Suggested guard: reject when userId !== session user

Terminal icon

Ran the auth test suite against the suggested fix

Git branch icon

Posted the fix as a review comment on PR #53417

Done icon

Done. Impersonation path closed, existing behaviour unchanged for authorised users.

Add attachment
Agent icon
Open

feat: Adding chat generation #53417

lewiswigmore wants to merge 2 commits into main from lewiswigmore/feature

andesyte-code-security [bot]reviewed 2m ago
app/api/chat/route.ts
25export async function POST(req: NextRequest) {
26 const { userId, messages } = await req.json();
27 if (userId !== req.user.id) {
28 return NextResponse.json(
29 { error: "Unauthorized" },
30 { status: 401 },
31 );
32 }
33 const stream = await generateChat(messages);
Collapsed filelib/session.ts +3 -0
andesyte-code-security [bot]critical

Missing authorization check allows user impersonation. userId is taken from the request body instead of the authenticated session, so any signed-in user can act as another by changing the value they send. Add a check that the requested user matches the session before processing.

No deployments

This branch has not been deployed

No deployments

Passed

All checks have passed

1 successful check

Passed

No conflicts with base branch

Merging can be performed automatically.

Squash and mergeor merge from the command line

Integrations

Reviews where your code already lives

Install Andesyte Code Security on GitHub, or connect a GitLab project from the dashboard, to review changes where your team already works.

Add to GitHub

Agents

ClaudeClaudeCodexCodexCursorCursorGitHub CopilotGitHub CopilotWindsurfWindsurf

Available now

GitHub AppGitHub AppGitLab ConnectGitLab Connect

Working with us

Research services

Focused reviews for high-risk software

Our researchers examine applications, cloud infrastructure, source control and release pipelines, then work with engineering teams through remediation.

Work with our researchers

Andesyte Code Security

Our research, built into your development cycle

Andesyte brings the lab's methods into everyday code review, tracing exploitable issues and putting the evidence in front of engineers as code changes.

Explore Andesyte

Read the work before you decide

Everything we have published is open, including the parts where the answer was that nothing was wrong.

Careers

We're a small team. No open roles. Drop us a line anyway.

If you ship security tools people rely on, we want to know you.

Introduce yourself