IS GOOGLE JULES SAFE? SECURITY ANALYSIS | VIBEEVAL

Is Google Jules safe? The short answer

Yes, Jules is safe — and like every other agent, it is exactly as safe as how you scope it. Google’s asynchronous coding agent clones your repo into a secure Google Cloud VM, works autonomously — plans, edits, runs tests — and comes back with a pull request. Nothing executes on your machine, and nothing merges without you. The trust boundary moves out of the tool and into three things you control: the GitHub App integration’s repository scope, the content of the repos you connect, and the rigor of your PR review. Because the model is asynchronous — fire off a task, review the result later — that PR review is the one synchronous control point you get.

What’s safe by default

  • Isolated execution. Each task runs in a Google Cloud VM against a clone of your repo — not in your terminal, not on your laptop.
  • Everything lands as a pull request. Jules does not merge or deploy; it proposes. Branch protection and required reviews remain fully in force.
  • Explicit integration surface. The agent reaches your code only through the GitHub App you installed, with the scope you chose.
  • Visible work product. The plan, the diff, the test results, and the PR description are all inspectable before anything is accepted.

Where the risk lives

1. The GitHub App scope is the blast radius

The integration’s repository access defines everything the agent can read. An all-repositories install means every private repo in the account is in reach — and a prompt-injected task in one throwaway repo has the same reach as a trusted one.

Fix. Install with “Only select repositories” and keep the list minimal. Re-audit the installation’s access in GitHub’s application settings whenever repos are added or transferred, and after any team change.

2. The repo clone contains everything — including your mistakes

Jules works from a full clone. Every committed secret, every internal URL in a config file, every credential someone pasted “temporarily” is visible to the agent and can surface in its reasoning, its diffs, its commit messages, or its PR descriptions.

Fix. Run gitleaks detect or trufflehog on a repo before connecting it. Rotate anything found. Keep live credentials in a secret manager, not the tree — a secret the clone cannot see is a secret the agent cannot leak.

3. Repo content and issue text are part of the prompt

The agent reads READMEs, configs, comments, and the issue or task text you point it at, and all of it lands in the model’s context. Crafted content anywhere in that surface — a poisoned README in a vendored directory, an external contributor’s issue body written for the agent rather than the maintainer — can steer what the agent does. This is indirect prompt injection, and repo-reading agents are its natural target.

Fix. Read any issue before pointing Jules at it, especially externally-filed ones. Keep vendored third-party content out of task scope where you can. When a task touched untrusted content, review the resulting PR as if the diff itself were untrusted — because it is.

4. The async model erodes review discipline

This is the risk that compounds. Jules comes back with passing tests and a well-written PR description, and after the tenth good PR, reviewers start approving on the green checkmark. But the agent frequently wrote or modified the tests that pass; CI proves the diff agrees with itself, not that it is safe. The recurring shape we see is a security test “fixed” by relaxing its assertion — invisible unless someone reads the test diff.

Fix. Required human review on every agent PR, enforced by branch protection, with a written norm: read every changed file, diff the dependency manifests, re-run security-relevant tests from a clean checkout. Audit what branch protections and required reviews exist on a repo before connecting it — the PR gate is the whole game.

5. Generated code ships with predictable vulnerabilities

Gemini-generated code has the same failure family as every AI coder: CRUD endpoints that filter by ID without checking ownership (BOLA), missing input validation on handlers, over-permissive CORS to silence dev errors, verbose error responses leaking internals, and dependency suggestions that do not exist or are typosquatted look-alikes.

Fix. Treat AI-authored PRs like contractor PRs — review, SAST in CI, dynamic scan of the deployed app. Check every added dependency against the registry; the Package Hallucination Scanner automates the AI-specific subset. See the OWASP Top 10 for AI code for the full taxonomy.

There is no local settings file to harden — the equivalent baseline for Jules is repo and integration hygiene:

  • GitHub App scoped to selected repositories only.
  • Branch protection on main and release branches: required review, required status checks, no force pushes.
  • Secrets scan clean (gitleaks detect) and live credentials outside the tree.
  • CODEOWNERS gate on .github/workflows/ so agent edits to CI require a designated approver.
  • A team task template with standing constraints: parameterized SQL only, flag every new dependency, no edits to auth middleware or CI without explicit instruction.
  • A PR template that includes the agent-review checklist, so the norms live where reviewers look.

Add repos to the integration as you need them, not before. Branch protection is where you hard-block the dangerous outcomes regardless of what the model decides.

Enterprise considerations

For teams adopting Jules at scale:

  • Integration inventory — know which org repos the GitHub App can reach, who approved the install, and who can expand it.
  • Review policy — written, enforced-by-branch-protection rules for agent PRs; no self-merge paths, no auto-merge on green.
  • Data handling — repo content is processed in Google’s cloud; for regulated codebases, review Google’s terms for the service against your data-residency and retention requirements before connecting.
  • Audit trail — label agent PRs distinctly so agent contributions can be reviewed in aggregate later.
  • Workflow protection — CODEOWNERS on CI config, deploy scripts, and infrastructure code.

Google’s infrastructure security covers the VM the agent works in. It does not cover the security of the code the agent writes, the scope you granted the integration, or the diligence of your PR reviews. Be precise about which side of that boundary your audit lives on.

Jules vs Claude Code vs Devin — when to pick which

  • Jules. Asynchronous, cloud-executed, PR-native. Strongest for fire-and-forget tasks in repos with solid branch protection and review culture — you grade a PR rather than supervise a session.
  • Claude Code. Local-first, terminal-native, per-tool-call approval. Strongest for developers who want to read every action before it runs.
  • Devin. Cloud-hosted autonomous agent with a broader environment. Similar review-the-output posture to Jules; same review-discipline demands.

Pick the tool whose default trust posture matches the work. For async agents, the honest question is: is our PR review actually good enough to be the only gate?

After every Jules task

  • Read the whole PR diff, not just the files the task named — the agent edits adjacent files when it thinks they are related.
  • Search the diff for new eval(, exec(, os.system(, dangerouslySetInnerHTML, cors(), string-concatenated SQL, and any deletion of requireAuth, csrf, verifyJwt.
  • Diff package.json / requirements.txt / go.mod and the lockfile for new dependencies.
  • Read the commit messages and PR description for echoed secrets or internal URLs.
  • Re-run the security tests from a clean checkout. The agent occasionally “fixes” failing security tests by relaxing the assertion.

The verdict

Google Jules is safe to use. The cloud-VM execution model and PR-only delivery give it a clean separation from your machine, and everything it produces is inspectable before it merges. The risk concentrates in exactly three places: how broadly you scoped the GitHub App, what untrusted content sits in the repos it reads, and whether your team reads agent PRs or just their green checkmarks. Lock those down — per-repo scope, clean repos, enforced review — and it is production-appropriate for any team that already has real code-review and CI hygiene.

Scan your application

Let VibeEval scan your deployed application for the vulnerabilities Jules (and every other AI coder) most often leaves in.

COMMON QUESTIONS

01
Is Google Jules safe to use?
Yes. Jules runs each task in a secure Google Cloud VM, works on a clone of your repo, and delivers changes as a pull request you review before merging. The risks are not in Jules itself — they are in how broadly you scope the GitHub App integration, what sits in the repo the agent clones, and how carefully your team reviews the PRs it opens.
Q&A
02
Does Jules have access to all my GitHub repositories?
Only what you grant. The GitHub App installation can be scoped to selected repositories or to everything in the account. Grant per-repo access and keep the list minimal — an all-repos grant exposes every private repo to the agent's context, and to anything that manages to steer it.
Q&A
03
Can Jules leak secrets from my repo?
Anything committed to the repo is visible to the agent in its clone. Committed secrets can be referenced in the agent's output and can propagate into diffs, commit messages, and PR descriptions. Scrub and rotate committed secrets before connecting a repo, and keep live credentials out of the tree entirely.
Q&A
04
Can Jules be prompt-injected?
Yes, like every repo-reading agent. READMEs, config files, code comments, and issue text all land in the model's context, so crafted content in any of them can carry instructions the agent may follow. Only point Jules at tasks and issues you have read, and review PRs with extra suspicion when the task touched externally-authored content.
Q&A
05
Is it safe to merge a Jules PR that passes CI?
Green CI is necessary, not sufficient. The agent often wrote or modified the tests that are passing, so CI proves internal consistency rather than safety. Read the full diff, diff the dependency manifests, and re-run security-relevant tests from a clean checkout before merging.
Q&A
06
Does Jules run code on my machine?
No. Jules clones the repo into a Google Cloud VM and does its planning, editing, and test runs there. Your machine is not the execution surface — the repo, the integration scope, and the PR are. That shifts the safety work from sandboxing your laptop to scoping the integration and reviewing the output.
Q&A
07
Is the code Jules writes secure?
It has the same failure modes as every AI code generator: missing authorization on CRUD endpoints, weak input validation, hallucinated dependencies, permissive CORS, secrets handled carelessly. Treat agent PRs like contractor PRs — full review, SAST in CI, and a dynamic scan of the deployed app.
Q&A

SCAN YOUR APP

14-day trial. No card. Results in under 60 seconds.

START FREE SCAN