started gitea api impl #2

Merged
qpismont merged 9 commits from gitea_api into main 2026-06-07 10:23:31 +02:00
Owner
No description provided.
qpismont added 1 commit 2026-06-02 21:53:12 +02:00
qpismont marked the pull request as work in progress 2026-06-02 22:09:12 +02:00
qpismont added 1 commit 2026-06-02 22:30:15 +02:00
qpismont added 1 commit 2026-06-03 21:38:17 +02:00
Add openrouter-rs dependency, review prompt, and markdown formatting.
Update comment API to accept dynamic body. Adjust devcontainer for
podman compatibility.
qpismont added 1 commit 2026-06-03 22:51:36 +02:00
Also improve review prompt with line calculation instructions, switch
feedback to French, and enable reasoning for OpenRouter.
qpismont added 1 commit 2026-06-05 20:39:59 +02:00
qpismont added 1 commit 2026-06-05 20:48:23 +02:00
qpismont added 1 commit 2026-06-05 20:53:12 +02:00
qpismont added 1 commit 2026-06-05 21:34:40 +02:00
Herald reviewed 2026-06-06 18:53:34 +02:00
Herald left a comment
Collaborator

La PR introduit une architecture plus complète avec un canal asynchrone entre l'API et le bot, une gestion robuste des erreurs et le passage à rustls pour le TLS, ce qui améliore la sécurité en éliminant les dépendances OpenSSL. Plusieurs améliorations de sécurité sont bienvenues : limitation de taille du diff, timeouts configurés, et utilisation d'en-têtes Authorization par défaut. Toutefois, quelques points pourraient être renforcés : validation de l'origine des URLs récupérées via le webhook, protection contre les valeurs extrêmes de timeout, et gestion correcte des noms de fichiers sans extension pour la coloration syntaxique. Dans l'ensemble, la qualité du code est bonne pour un travail en cours, avec une attention particulière à la sécurité via le choix des bibliothèques et la limitation des ressources.

La PR introduit une architecture plus complète avec un canal asynchrone entre l'API et le bot, une gestion robuste des erreurs et le passage à rustls pour le TLS, ce qui améliore la sécurité en éliminant les dépendances OpenSSL. Plusieurs améliorations de sécurité sont bienvenues : limitation de taille du diff, timeouts configurés, et utilisation d'en-têtes Authorization par défaut. Toutefois, quelques points pourraient être renforcés : validation de l'origine des URLs récupérées via le webhook, protection contre les valeurs extrêmes de timeout, et gestion correcte des noms de fichiers sans extension pour la coloration syntaxique. Dans l'ensemble, la qualité du code est bonne pour un travail en cours, avec une attention particulière à la sécurité via le choix des bibliothèques et la limitation des ressources.
Herald reviewed 2026-06-06 19:19:01 +02:00
Herald left a comment
Collaborator

Les principaux problèmes de sécurité identifiés sont : l'absence de vérification de signature des webhooks (permettant à quiconque de déclencher des revues), un risque de SSRF via l'URL de diff non validée, et l'utilisation d'un client HTTP séparé sans restriction. Il est recommandé d'ajouter la validation HMAC, de restreindre l'URL de diff au domaine Gitea configuré, et de réutiliser le client de GiteaAPI. Les autres modifications (Cargo.lock, etc.) sont correctes.

Les principaux problèmes de sécurité identifiés sont : l'absence de vérification de signature des webhooks (permettant à quiconque de déclencher des revues), un risque de SSRF via l'URL de diff non validée, et l'utilisation d'un client HTTP séparé sans restriction. Il est recommandé d'ajouter la validation HMAC, de restreindre l'URL de diff au domaine Gitea configuré, et de réutiliser le client de GiteaAPI. Les autres modifications (Cargo.lock, etc.) sont correctes.
qpismont added 1 commit 2026-06-06 19:27:55 +02:00
Move `exec_review`, `download_git_diff`, and review formatting
to a new `bot_actions::review` module. Update the review flow to
post inline review comments via the Gitea API and simplify the
comment markdown to a summary. Add diff formatting that
preprocesses added lines with line numbers for the LLM prompt.
Herald reviewed 2026-06-06 19:28:46 +02:00
Herald left a comment
Collaborator

La pull request implémente une API Gitea pour un bot de revue de code. Les principaux problèmes de sécurité relevés sont : 1) Absence de validation de l'URL de téléchargement du diff (risque SSRF). 2) Désactivation de la sécurité du conteneur dans le devcontainer. 3) Stockage du token Gitea en mémoire sans mécanisme de protection avancé. Des améliorations de fiabilité sont également nécessaires (canal de taille 1, parsing de diff non robuste). Il est recommandé de corriger ces points avant de finaliser l'implémentation.

La pull request implémente une API Gitea pour un bot de revue de code. Les principaux problèmes de sécurité relevés sont : 1) Absence de validation de l'URL de téléchargement du diff (risque SSRF). 2) Désactivation de la sécurité du conteneur dans le devcontainer. 3) Stockage du token Gitea en mémoire sans mécanisme de protection avancé. Des améliorations de fiabilité sont également nécessaires (canal de taille 1, parsing de diff non robuste). Il est recommandé de corriger ces points avant de finaliser l'implémentation.
Herald reviewed 2026-06-06 19:38:36 +02:00
Herald left a comment
Collaborator

Review Feedback

3 issues found.


Summary

Les modifications introduisent une implémentation de base de l'API Gitea avec un bot de revue de code utilisant OpenRouter. Plusieurs points de sécurité et de qualité sont à noter : risque de SSRF dans le téléchargement du diff, absence de validation HTTPS pour l'URL Gitea, et une capacité de canal limitée qui pourrait affecter les performances. Il est recommandé de corriger ces éléments avant de finaliser la PR.


Cost: $0.001924125

## Review Feedback ### 3 issues found. --- ### Summary Les modifications introduisent une implémentation de base de l'API Gitea avec un bot de revue de code utilisant OpenRouter. Plusieurs points de sécurité et de qualité sont à noter : risque de SSRF dans le téléchargement du diff, absence de validation HTTPS pour l'URL Gitea, et une capacité de canal limitée qui pourrait affecter les performances. Il est recommandé de corriger ces éléments avant de finaliser la PR. --- ### Cost: $0.001924125
qpismont marked the pull request as ready for review 2026-06-07 10:23:27 +02:00
qpismont merged commit 3984a7d3ba into main 2026-06-07 10:23:31 +02:00
qpismont deleted branch gitea_api 2026-06-07 10:23:31 +02:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: qpismont/herald#2