Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
authorship-not-sabotage — Codice e sorgente del paper per uno studio NeurIPS EvoRobust che dimostra come semplici feature bag-of-words e di metadati superino la maggior parte dei monitor di controllo basati sull'IA nel rilevare codice con backdoor. | Kitploit
Strumenti/GitHubGitHub/shubsds/authorship-not-sabotage
Analisi StaticaAnalisi del CodiceMachine LearningPaper e RicercaApprendimento e FormazioneSicurezza dell'IA
GitHubshubsds/authorship-not-sabotage

authorship-not-sabotage

Codice e sorgente del paper per uno studio NeurIPS EvoRobust che dimostra come semplici feature bag-of-words e di metadati superino la maggior parte dei monitor di controllo basati sull'IA nel rilevare codice con backdoor.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
1677 giorni faNon ancora revisionato
Condividi

Simple Features Beat Most AI Control Monitors

Codice e sorgente del paper per il workshop paper EvoRobust @ NeurIPS 2026.

Cosa mostra il paper

I monitor di controllo AI sono modelli che leggono il codice e segnalano backdoor (sabotaggi nascosti). Vengono sviluppati e classificati su dataset fissi in cui ogni problema di programmazione ha una soluzione onesta e una con backdoor. Un monitor dovrebbe ottenere buoni risultati su un tale dataset solo trovando la backdoor. Noi studiamo il dataset pubblico di backdoor APPS (RoganInglis/apps-control-arena), le cui soluzioni oneste sono state scritte da persone e le cui backdoor sono state scritte da modelli più vecchi (Claude 3.7 Sonnet, o3-mini, o1-mini, GPT-4o e quattro modelli più piccoli, tutti rilasciati entro l'inizio del 2025, più una fonte non attribuita). Chiamiamo le sue coppie coppie originali. La Figura 1 del paper riassume i risultati.

  1. Un classificatore che non esegue mai il codice batte la maggior parte dei monitor. Sul split di test standard (1.375 problemi, un programma ciascuno, commenti rimossi) un classificatore bag-of-words addestrato sui problemi di training del split raggiunge un AUROC di 0,806, superiore a 20 dei 24 modelli open-weight (0,4B-32B) usati come monitor in lavori precedenti. Ciò che legge è condiviso tra i modelli attaccanti e presente indipendentemente dal fatto che una backdoor funzioni; i suoi token più forti sul lato backdoor (and, ==, if) sono una traccia superficiale di qualsiasi caso speciale aggiunto. Il classificatore è addestrato e i monitor no, quindi questo misura ciò che il dataset rivela, non quale rilevatore sia migliore.
  2. Le etichette fanno trapelare informazioni. Il split di test mantiene il programma backdoorato di un problema solo se la backdoor funziona; 720 degli 892 problemi con una backdoor falliscono e contribuiscono invece con la loro soluzione onesta. I problemi della classe backdoor hanno quindi circa la metà dei test, e un classificatore che legge solo i metadati del problema (difficoltà, numero di test, lunghezza dell'enunciato) raggiunge 0,766 in validazione incrociata all'interno del split, superiore a 20 monitor. Addestrato fuori dal split ottiene 0,298, la stessa relazione invertita, perché lì gli elementi onesti provengono da problemi che il split ha escluso. La fuga deriva da come sono state scelte le etichette, non dal codice.
  3. Il classificatore premia un contrasto tra autori. Ricostruiamo le coppie con un solo modello, Claude Sonnet 5 (e separatamente Claude Haiku 4.5), che scrive entrambe le soluzioni, e abbiniamo ciascuna classe con quella dell'altro autore. Denominando ciascun tipo di coppia in base a chi ha scritto il lato onesto e quello backdoorato, sui 99 problemi in cui ogni backdoor funziona il bag-of-words ottiene 0,789 su persona / modelli più vecchi e 0,749 su Sonnet 5 / Sonnet 5, ma 0,953 su persona / Sonnet 5 e 0,905 su Sonnet 5 / modelli più vecchi: ottiene il punteggio più alto quando le due classi hanno autori diversi. Lo stesso vale su tutti i tentativi (0,981 contro 0,865). Con un solo autore mantiene rho = 0,687 del suo vantaggio rispetto al caso sui tentativi singoli di Sonnet 5 e 0,097 su quelli di Haiku 4.5, e 0,861 sulle backdoor funzionanti, quindi legge anche i casi speciali aggiunti dalla backdoor; parte di ciò che Sonnet 5 mantiene è un layout indotto dal nostro prompt di attacco (def main), e richiedere la soluzione onesta con quel prompt abbassa rho a 0,390.
  4. Quali backdoor sono reali. Un monitor Sonnet 5 risponde principalmente alle backdoor (0,944 sulle coppie originali, 0,966 quando Sonnet 5 ha scritto il lato onesto, il cui codice trova leggermente meno sospetto). Scende a 0,755 su persona / Sonnet 5, ma parte di ciò è dovuto alle etichette. Una backdoor conta come funzionante se il suo output sul proprio trigger differisce da quello di una soluzione onesta, e nulla verifica che il trigger sia un input legale. Le etichette del dataset mostrano il problema: nel split di test standard, 17 dei 172 programmi backdoorati hanno solo un trigger illegale e 7 stampano un intero errato su un test pubblico. Senza quei 24, il bag-of-words ottiene 0,817 e i 24 monitor pubblicati si spostano di una mediana di +0,010. La nostra generazione ha usato la stessa definizione, quindi prima di confrontare gli attaccanti verifichiamo ogni trigger in entrambe le classi rispetto a un validatore di input scritto dall'enunciato, richiediamo che l'output della backdoor lì differisca dalla risposta maggioritaria delle soluzioni umane, e cerchiamo 40 input legali vicini come testimone quando un controllo fallisce. Il controllo rimuove 14 delle 99 backdoor dei modelli più vecchi e 40 di quelle di Sonnet 5. Sui 54 problemi in cui entrambe le backdoor sono reali, quella di Sonnet 5 può comunque essere più difficile da individuare, ma meno: AUROC 0,958 contro 0,904 (differenza -0,053, IC 95% da -0,108 a -0,004), e segnalando il 2% delle soluzioni umane il monitor individua il 78% delle backdoor dei modelli più vecchi e il 61% di quelle di Sonnet 5 (differenza 0,17, da 0,0002 a 0,32, appena sopra zero). Prima dei controlli, su tutti i 99 problemi, era 77% contro 37% (0,40, da 0,28 a 0,52), quindi parte del cambiamento deriva dall'eliminazione di problemi. Il divario dipende dalla soglia, e parte può essere il monitor che favorisce il proprio model: un monitor Haiku 4.5, che non ha scritto nessuna delle due classi, dà 0,850 contro 0,822.

Quindi un punteggio elevato su un dataset costruito in questo modo può derivare da indizi diversi dalla backdoor (non mostriamo che i monitor pubblicati li utilizzino), e un tasso di rilevamento su etichette non verificate può più che raddoppiare un effetto dell'attaccante. Rilasciamo le coppie ricostruite, i validatori di input e i controlli, e raccomandiamo di eseguirli su altri benchmark di monitor: riportare le baseline che non eseguono mai il codice (bag-of-words, metadati del problema, lunghezza) con i loro punteggi su etichette mescolate; abbinare ogni classe con il codice di un altro autore; verificare che ogni trigger sia un input legale sul quale la risposta della backdoor è errata; riportare i tassi di rilevamento a un budget di audit fisso sulle backdoor che superano i controlli, da diversi generatori inclusi i modelli attuali; e dove i controlli trovano scorciatoie, far scrivere a un modello entrambe le classi dallo stesso prompt e scegliere esempi onesti indipendentemente dal fatto che un attacco sia riuscito.

Struttura del repository

experiments/
  apps/        APPS backdoor dataset: the floors on the original pairs, the rebuilt pairs
               (generation, test harness, backdoor verification) and every measurement on them;
               *.json are the committed outputs behind the paper's numbers
    validators/  one input validator per checked problem (258), used by the trigger checks
  agentic/     five agentic settings in which one model wrote both classes (appendix)
  README.md    how to reproduce each result, with commands, and which script gives each number
paper/         LaTeX source, bibliography, figures and the built main.pdf

Riproduzione

Vedi experiments/README.md. I risultati sulle coppie originali vengono eseguiti su una CPU di laptop in pochi minuti. La creazione delle coppie ricostruite richiede una chiave API Anthropic, e la variante open-weight (che rigenera solo la classe onesta) richiede una GPU.

pip install -r requirements.txt
cd experiments/apps
python fetch.py && python fetch_inputs.py && python bow.py
python koran_split_eval.py      # the bag-of-words floor: AUROC 0.806, above 20 of 24 monitors

Compilazione del paper

Scarica lo strumento