Skip to content

chore(deps)(deps): Update google-generativeai requirement from >=0.8.5 to >=0.8.6 in /deploy#6

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/deploy/google-generativeai-gte-0.8.6
Open

chore(deps)(deps): Update google-generativeai requirement from >=0.8.5 to >=0.8.6 in /deploy#6
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/deploy/google-generativeai-gte-0.8.6

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 11, 2026

Updates the requirements on google-generativeai to permit the latest version.

Release notes

Sourced from google-generativeai's releases.

Archived

What's Changed

Add a warning message on import telling people that this package is archived.

Full Changelog: google-gemini/deprecated-generative-ai-python@v0.8.5...v0.8.6

Changelog

Sourced from google-generativeai's changelog.

v0.2.2

  • Handle maximum batch size for embed_text.
  • Restore types.ModelNameOptions.
  • Update tuning to handle more dataset types (json, pandas, urls, google-sheets).
  • Expose count_text_tokens
  • Expose operations management.
  • Allow users to pass custom metadata (HTML headers).
  • Add dataclass prettyprinting.

v0.2.1

  • Bugfix: Add missing enum names to saftey_types.py
  • Update to google.ai.generativelanguage v0.3.3

v0.2

  • More flexible safety settings:
    • accept strings, ints for enums.
    • accept a {category:threshold} dict in addition to the list of dicts format ([{"category": category, "threshold": threshold}, ...]).
  • Add support for batched embeddings.
  • Add support for tuning:
    • Add get_{base,tuned}_model.
    • Add list_tuned_models.
    • Add create_tuned_model.

v0.1

Initial version

Commits

@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 11, 2026

Labels

The following labels could not be found: dependencies, deploy. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

kevinggraphiste-hub pushed a commit that referenced this pull request May 21, 2026
Choix user (glow-lab #6 "diffus moyen") : box-shadow accent ~110px
derrière le pavé de saisie chat (lumière émise façon Gemini, marche
sur fond uni, DA-aligned). Page /glow-lab retirée (GlowLab.tsx + route).
tsc OK.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kevinggraphiste-hub added a commit that referenced this pull request May 27, 2026
…rketplace, WS, path traversal) (#23)

* fix(security): hardening critique — 5 fixes audit 2026-05-26

Cinq trous chirurgicaux relevés par l'audit sécu d'hier soir.
Items #5, #6, #7, #8, #10 du rapport (OAuth #2/#3 et impersonation #9
reportés à demain car trop sensibles pour passer à 23h).

## #10 — IDOR Tasks (task_routes.py)
Les 5 routes /conversations/{id}/tasks* ne vérifiaient AUCUNE ownership.
Tout user authentifié pouvait lister/créer/modifier/wiper la to-do d'un
autre. Fix : helper _ensure_owned_conversation au top de chaque route.
Mode setup (≤1 user, middleware skip) toléré comme avant.

## #6 — Marketplace install ouvert à tous (marketplace_routes.py)
POST /marketplace/install et /uninstall n'exigaient qu'auth (pas admin).
Installer un plugin = exécution Python globale + accès vault secrets
de TOUS les users → RCE instance-wide via trial user. Gate require_admin
ajoutée sur les deux endpoints.

## #7 — Path traversal plugin_id (marketplace.py)
shutil.rmtree(EXTERNAL_PLUGINS_DIR / plugin_id) prenait n'importe quoi.
Un admin pouvait wiper la prod avec ../../backend. Whitelist regex
^[a-z0-9][a-z0-9_.-]{0,63}$ + ceinture .resolve() qui vérifie que le
chemin reste sous EXTERNAL_PLUGINS_DIR (anti-symlink).

## #8 — SSRF KB ingest URL (kb/extractors/url.py)
POST /api/plugins/kb/ingest/url ne checkait que le scheme. Un user
pouvait hit 169.254.169.254 (cloud metadata → IAM creds) ou les
services internes (Postgres, Redis, MCP, Ollama) et stocker la réponse
dans sa KB. Fix : _is_private_url (helper existant dans web_fetch) +
suivi manuel des redirects avec re-check à chaque hop (sinon site
public peut rediriger vers IP privée — cf. fix C2 du browser plugin).

## #5 — Voice WebSocket auth bypass (voice_routes.py)
Le handler /voice/realtime/{engine} lisait user_id depuis query_params
sans validation. Anyone pouvait ?user_id=1 et burner les clés API de
l'admin. Pattern fix existait déjà dans plugins/code/routes/lsp.py
(cookie HttpOnly pendant le handshake WS). Adaptation locale : helper
_authenticate_voice_ws, refus avant accept() si pas d'auth valide.

Pas de migration DB. Pas de touche aux outils agent (WOLF, file_*).
Autoamélioration intacte.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(security): suite ultrareview PR #23 — voice WS open-mode + KB streaming

Ultrareview PR #23 a remonté 3 findings. Cette commit fixe les deux
fixables sans refacto large. Le 3e (SSRF helper IPv6 + DNS rebinding,
pre-existing dans web_fetch.py) est documenté comme reporté.

## #4 — Voice WS open-mode bypass (régression introduite par cette PR)

Mon helper _authenticate_voice_ws (copié du pattern LSP) retournait
user_id=0 dès que `has_tokens == False`. Le middleware HTTP exige
aussi `user_count <= 1` (cf. main.py:949-967, incident 2026-05-05 :
quand tout le monde fait logout dans une instance multi-users, les
api_token deviennent NULL → has_tokens=False → open mode ré-ouvert
à tout attacker non auth).

Fix : aligner exactement sur le middleware (`has_tokens=False AND
user_count <= 1`). Sans ça, l'attacker pouvait se connecter en WS
comme share user et burner les clés API instance-wide — exactement
ce que la PR voulait fermer.

Note : le pattern original dans plugins/code/routes/lsp.py a le même
défaut pré-existant. Sera fixé en PR séparée (out-of-scope ici).

## #10 — KB extract_url buffere le body avant le check de taille

httpx.Client.get() est NON-streaming : le body entier est matérialisé
en RAM avant que MAX_FETCH_BYTES soit testé. Un serveur hostile peut
annoncer text/html + servir un body multi-GB → OOM du worker.

Fix : passage à client.stream("GET", ...) + iter_bytes() qui coupe
dès que la taille cumulée dépasse le cap. Bonus : reject précoce si
Content-Length annonce > MAX_FETCH_BYTES.

## #1 — REPORTÉ (PR séparée)

SSRF helper _is_private_url (web_fetch.py) a deux trous pré-existants
qui défont partiellement la garde KB ajoutée par cette PR :
- IPv6 non validé (socket.gethostbyname est IPv4-only ; literals
  comme [fd00:ec2::254] passent → AWS IMDS v6 reste exfiltrable)
- DNS rebinding TOCTOU (helper résout, puis httpx re-résout au
  connect ; un DNS attacker peut flip entre les deux lookups)

Le vrai fix demande de refactor le helper avec ipaddress.ip_address()
+ getaddrinfo AF_UNSPEC + custom httpx transport qui pin l'IP validée
(Host/SNI préservés). Trop large pour 23h. Tracking : à faire en
priorité dans la prochaine PR sécu.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Kevin <kevin@gungnir.dev>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Updates the requirements on [google-generativeai](https://github.com/google/generative-ai-python) to permit the latest version.
- [Release notes](https://github.com/google/generative-ai-python/releases)
- [Changelog](https://github.com/google-gemini/deprecated-generative-ai-python/blob/main/RELEASE.md)
- [Commits](google-gemini/deprecated-generative-ai-python@v0.8.5...v0.8.6)

---
updated-dependencies:
- dependency-name: google-generativeai
  dependency-version: 0.8.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/pip/deploy/google-generativeai-gte-0.8.6 branch from bcaaec7 to 08f0aa6 Compare May 27, 2026 16:10
@dependabot dependabot Bot requested a review from kevinggraphiste-hub as a code owner May 27, 2026 16:10
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.

0 participants