Aller au contenu Hacktron Se connecter [S]
Hacktron Se connecter [S] Clients Blog Documentation Contact Se connecter

Comment Hacktron apporte le contexte de sécurité de toute la base de code à chaque pull request de hackajob


hackajob
Hacktron Review

, , X, LinkedIn

Partager

Comment Hacktron apporte le contexte de sécurité de toute la base de code à chaque pull request de hackajob

XLinkedIn
5 min
81,1 %
des découvertes triées étaient actionnables
92 découvertes
ont été résolues

« La difficulté n’a jamais été l’effort ni l’expertise.

« C’était le contexte. Personne ne peut garder autant de contexte en tête à chaque revue, même avec deux paires d’yeux. »

Dragos Dimitriu
Responsable de la conformité

À propos de hackajob

Fondée en 2014, hackajob développe une technologie de recrutement par IA utilisée par plus de 200 entreprises dans plus de 50 secteurs, dont American Express, Tesco, Barclays, HSBC et Sainsbury’s.

Son produit phare, Archer, trouve, mobilise et qualifie des candidats pour les équipes de recrutement des grandes entreprises. Il puise dans 1,5 million de candidats vérifiés et plus de 800 millions de profils indexés, et qualifie chaque jour 250 000 candidats au regard de besoins de recrutement en cours.

À cette échelle, les contrôles d’autorisation autour des données cloisonnées par client sont critiques.

Le défi : les relecteurs voient un diff, pas le graphe d’appels

hackajob disposait déjà d’un processus de revue solide. Chaque pull request était relue par au moins deux ingénieurs, dont aucun n’en était l’auteur. La contrainte ne venait pas de l’effort de revue, mais de la quantité de contexte système dont disposait chaque relecteur.

« Un relecteur voit un diff, pas l’intégralité du graphe d’appels, si bien que les failles qui passaient entre les mailles du filet étaient généralement celles qui n’apparaissent que lorsqu’on suit la façon dont une modification interagit avec du code situé ailleurs dans le système. »

Dragos Dimitriu
Responsable de la conformité

Comment Hacktron s’intègre : une revue continue sur chaque PR

hackajob soumet désormais chaque pull request à Hacktron Review. Hacktron suit chaque modification à travers la base de code, fait remonter les découvertes dans le flux de revue et réanalyse les modifications après correction. hackajob a aussi défini un seuil de sévérité qui bloque la fusion lorsque Hacktron trouve un problème au-dessus de ce seuil.

« Hacktron fait remonter plus de choses qu’une passe manuelle ne le pourrait réalistement, et il s’exécute sur chaque PR plutôt que seulement sur celles que quelqu’un signale comme sensibles pour la sécurité.

« Nous en sommes maintenant à 200 à 250 analyses par semaine sur un nombre croissant de projets. Cela inclut les nouvelles analyses après correction, mais c’est tout de même un volume que nous n’aurions pas pu relire manuellement avec cette profondeur. »

Dragos Dimitriu
Responsable de la conformité

Analyse des découvertes

Depuis la première revue Hacktron de hackajob en juin 2026 :

1 846 pull requests143/295 découvertes triées98 vrais positifs18 risques acceptés27 faux positifs54 élevés44 moyens 1 846 pull requests143/295 découvertes triées98 vrais positifs18 risques acceptés27 faux positifs54 élevés44 moyens

Sur les 143 découvertes triées, 81,1 % étaient réelles, pas du bruit.

Autorisation au niveau objet défaillante exposant les données d’autres clients (sévérité élevée)

Hacktron a trouvé un problème de sévérité élevée, une autorisation au niveau objet défaillante, dans une pull request qui ajoutait la fonctionnalité de chat de l’assistant d’Archer.

L’endpoint vérifiait la propriété pour les requêtes limitées à un portefeuille (book), mais pas pour celles limitées à un compte ou à une cohorte. Un utilisateur standard pouvait fournir l’identifiant d’un autre client et récupérer les communications et les données de sentiment de ce client, en dehors du périmètre auquel il avait droit.

// A book scope may only be the caller's own book unless they're an admin.
if (
parsed.data.scope.kind === "book" &&
parsed.data.scope.ownerEmail !== user.email &&
!user.isAdmin
) {
return new Response("Forbidden", { status: 403 });
}
// <- no equivalent check existed for "account" or "cohort" scopes

Le fichier modifié semblait cohérent en lui-même. Le problème n’est devenu visible que lorsque Hacktron a comparé le comportement d’autorisation entre les différents types de portée.

« Rien dans le diff ne semblait anormal, et c’est précisément pour cela que ce genre de problème échappe à la revue manuelle, quelle que soit l’expérience du relecteur. »

Dragos Dimitriu
Responsable de la conformité

Hacktron a repéré le problème avant qu’il n’atteigne la branche principale. hackajob l’a corrigé dans la même pull request en moins d’une heure, en introduisant une fonction d’autorisation partagée et des tests de non-régression pour les chemins concernés.

Les résultats : le contexte de sécurité de toute la base de code

Chaque pull request bénéficie désormais de la même revue de sécurité à l’échelle de toute la base de code. Les ingénieurs gardent la main sur le tri et les décisions de fusion ; Hacktron leur donne le contexte système pour prendre ces décisions avant que le code n’atteigne la branche main.

« Hacktron l’a repéré dans la PR, donc il n’a jamais atteint notre branche principale.

« C’est ce qui compte pour nous. »

Dragos Dimitriu
Responsable de la conformité

Clients

Contact

Réservez une démo ou commencez gratuitement.

[↓] [↑] [enter] pour ouvrir
Menu
[M]
Suivant dans le menu
[J]
Précédent dans le menu
[K]
Rechercher
[F]
Demander
[A]
Se connecter
[S]
Copier la page
[C]
Écouter
[L]
Justification
[R]
Langue
[G]
Mode sombre
[D]
Contraste élevé
[H]
Raccourcis
[I]
Fermer
[Esc]