L'IA écrit ton code.
slopGrade décide : ça passe ou ça bloque.
Un gate déterministe sur chaque PR. Le slop et les fuites cross-tenant n'atteignent jamais main — pas de note, pas de débat.
Ton équipe merge du code qu'aucun humain n'a écrit.
Les agents IA ouvrent des PR plus vite que la revue ne suit. Le slop passe, les requêtes oublient le filtre d'org, une clé fuit dans un log. Au volume, la revue humaine n'attrape plus rien — il faut un gate déterministe, pas un avis.
Une boucle : détecte → bloque → vérifie
Le gate vit dans ton CI GitHub Actions. Il lit le diff de chaque PR, décide, et écrit son verdict comme un check requis. Aucun code ne quitte ton runner.
Copie le snippet
Un workflow GitHub Actions collé dans ton repo. OIDC sans clé — rien à stocker.
- uses: slopgrade/ci@v0.3.1La PR ouvre
Le gate lit le diff côté runner et le classe contre {gates} classes de slop et de fuite tenant.
$ slop scan --diff origin/main…HEADVerdict passe / bloque
Un check requis, vrai ou faux. Rouge → la fusion est désactivée par le ruleset de branche.
slop · blocked → merge disabledLe correctif repasse vert
L'agent corrige, re-pousse, le gate re-tourne. Vert → la PR redevient mergeable.
slop · pass → ready to merge124 classes de gate. 5 couches. 0 faux-positif.
La fuite cross-tenant — une requête sans filtre d'org — c'est la classe que CodeQL et la revue humaine ratent, et c'est notre #1. Le moat n'est pas le mécanisme : c'est le rulepack curé, turnkey, calibré à zéro faux-positif sur 5 000+ dépôts réels avant chaque mise en service. Tu l'actives ; tu ne l'écris pas.
Isolation tenant
Chaque requête org-scoped doit porter son filtre. La fuite cross-tenant #1 en prod, attrapée avant merge.
Secrets & injection
Clés en dur, SQL/commande/XXE/SSRF, désérialisation — le gros du catalogue.
Crypto & auth
Algorithmes faibles, clés courtes, padding RSA, CORS reflété, contrôle d'accès manquant.
Slop déterministe
Chiffres inventés, gardes mortes, contrôles natifs hand-rollés — la formule, jamais un LLM.
Split physique, 0 egress
L'extraction reste sur ton runner ; seul un verdict sort. Le code ne voyage pas.
Chaque classe, avec le code qu'elle bloque.
Un échantillon des 124 classes — par catégorie, chacune avec le motif exact qu'elle attrape avant qu'il n'atteigne main. La détection tourne sur ton runner ; voici ce qu'elle cherche.
✗ db.from('invoices').select('*')✗ create view billing as select * … security definer✗ User.create(req.body) // is_admin passes through✗ db.query('select * from u where id = ' + req.params.id)✗ exec('convert ' + req.query.file)✗ fetch(req.query.url) // hits 169.254.169.254✗ libxml.parseXml(body, { noent: true })✗ jwt.verify(t, key, { algorithms: ['none'] })✗ const stripe = 'sk_live_4eC39Hq…'✗ app.use(csrf({ ignoreMethods: ['POST'] }))✗ crypto.createHash('md5').update(password)✗ new https.Agent({ rejectUnauthorized: false })✗ createCipheriv('aes-256-cbc', key, ZERO_IV)✗ uses: some/action@main # not a SHA✗ "lodahs": "*" // typo'd name, floating range✗ cidr_blocks = ["0.0.0.0/0"] # port 22✗ FROM node:latest✗ DEBUG = TruePas un scanner de plus. Un gate clé-en-main.
CodeQL et Semgrep sont des moteurs que tu configures et calibres. La revue humaine ne suit pas le rythme des PR d'agents. slopGrade est le rulepack curé que tu actives — 124 classes calibrées à zéro faux-positif sur 5 000+ repos réels, dont la fuite cross-tenant que tu écrirais et calibrerais toi-même sinon.
Déterministe par conception · client open-source, auditable · on le fait tourner sur slopGrade lui-même avant qu'il ne t'arrive.
Advisory gratuit pour toujours. À partir de $24 le repo, dégressif.
Tu paies pour ce que tu protèges, pas par tête. Un repo dormant coûte $0 — et plus tu en protèges, moins chaque repo coûte. Utilisateurs illimités, toujours.
Réponses directes.
QQu'est-ce que slopGrade ?
Un gate CI déterministe pour le code écrit par l'IA : sur chaque pull request GitHub, il décide passe ou bloque avant que le code n'atteigne main. Pas de note, pas de débat.
QLe code quitte-t-il mon CI ?
Non — 0 egress. L'extraction reste sur ton runner GitHub Actions ; seul un verdict sort. Le code ne voyage pas (split physique).
QCombien ça coûte ?
L'advisory (scan sans blocage) est gratuit pour toujours sur tous tes repos. Le mode bloquant coûte $24 par repo et par mois, dégressif jusqu'à $11 au volume.
QY a-t-il un essai gratuit ?
Oui : 14 jours gratuits, jusqu'à 5 repos, sans carte de crédit. À la fin, tu gardes les repos que tu veux ou tu retombes en advisory gratuit.
QQu'est-ce que le firewall détecte ?
Les 11 classes les plus critiques bloquent gratuitement (client open-source) ; le firewall complet couvre 124 classes sur six catégories — injection, crypto, infra, auth, accès, supply-chain — dont la fuite cross-tenant #1. Calibré à 0 faux-positif sur 5 000+ dépôts réels.
Mets un gate entre l'IA et ta branche main.
Crée un compte, colle le snippet, protège ton premier repo en deux minutes. 14 jours gratuits, jusqu'à 5 repos, sans carte.