Integritate și detecție de fraude

Cum să detectezi utilizarea Cursor și Copilot în interviurile de codare

ClarityHire Team(Editorial)9 min read

De ce manualul ChatGPT nu funcționează pentru Cursor și Copilot

Sfatul standard pentru detecția fraudelor la interviurile de codare se construiește în jurul unei presupuneri: candidatul apasă Alt+Tab către o fereastră de chat, cere o soluție și o lipește înapoi. Dimensiunea paste-ului, durata schimbării de tab și rata de tastare în rafale se bazează pe acel flux de lucru.

În 2026, această presupunere este greșită pentru instrumentele de IA pe care candidații de fapt le folosesc. Cursor, GitHub Copilot, Windsurf, Continue și noua generație de instrumente cu suprapunere invizibilă precum Cluely nu copiază-lipesc. Se află în interiorul editorului, acceptă sugestii cu Tab și emit caractere în buffer într-un fel care arată mult mai mult ca tastare decât ca eveniment de lipire. Un candidat care folosește bine Cursor nu va declanșa niciodată o alertă de lipire pe platforma ta și nu va schimba tab-ul nici măcar o dată. Raportul de integritate de la un instrument de screening naiv va arăta curat.

Acesta este o problemă diferită și necesită o stivă de semnale diferită. Acest articol analizează amprenta comportamentală a asistenților de IA din editor, momentele specifice în care aceștia se defectează și cum să proiectezi tururile live ca un utilizator onest al acestor instrumente să producă în continuare semnale interpretabile.

Ce arată de fapt IA din editor pentru platformă

Trei categorii de instrumente, trei urme diferite:

  • Agenți de completare tab (Copilot, Cursor Tab, JetBrains AI). O sugestie "ghost text" apare după o pauză scurtă; candidatul apasă Tab; 40–300 de caractere ajung în buffer într-o singură atingere. Pentru un înregistrator de apăsări de taste, această atingere poate fi citită ca o rafală de apăsări rapide sau ca un eveniment de inserție singur, în funcție de modul în care editorul distribuie intrarea.
  • Editori agenți (Cursor Composer, Windsurf Cascade, Claude Code, Aider). Candidatul tastează sau vorbește o instrucțiune în limbaj natural într-un panou lateral; agentul rescrie o parte din fișier. Din exterior, aceasta arată ca o serie de editări pe mai multe linii fără apăsări de taste corespunzătoare între ele.
  • Instrumente cu suprapunere invizibilă (Cluely, Interview Solver, Interview Coder). Un proces separat citește ecranul și arată candidatului un răspuns într-o suprapunere ascunsă de API-urile de capturare a ecranului. Candidatul apoi retastează sau transcrie din ea. Urma din platformă este „candidatul a tastat-o singur", dar ritmul este greșit.

Candidatul nu copiază-lipește. Acceptă, transcrie sau instruiește. Fiecare dintre acestea are o mică semn caracteristic.

Semnal 1: Rafale de acceptare Tab în fluxul de tastare

Amprenta cea mai clară a unui instrument de completare tab este forma fluxului de apăsări de taste. Codul tastat de mână pe o linie de 30 de caractere arată ca 30 de apăsări spațiate cu 80–250 ms una de cealaltă, cu pauze ocazionale de 1–2 secunde. O acceptare Tab de Copilot pe aceeași linie arată ca un singur eveniment la +0 ms urmat de 30 de caractere la +1 ms fiecare — sau în unii editori, o inserție de buffer singură fără sincronizare pe caracter.

Înregistratorul de apăsări de taste ClarityHire clasifică orice run continuu de intrare unde întârzierea inter-tastă cade sub ~5 ms ca un bloc emis de mașină. Blocul este înregistrat separat de caracterele tastate și apare pe raportul de integritate ca un tip de eveniment distinct — nu o lipire, nu o apăsare de tastă, o acceptare.

Ce să cauți în raport:

  • O serie de 5–10 evenimente de acceptare pe minut, fiecare 40–250 de caractere lung, intercalate cu tastare normală. Acesta este ritmul canonic Copilot/Cursor.
  • Blocuri de acceptare care completează funcții întregi într-un singur eveniment (300+ caractere). Aceasta este comportament din editorul agenți, nu completare tab.
  • Zero lipiri, zero schimbări de tab, dar candidatul produce o soluție funcțională de 200 de linii în 22 de minute plat. Volumul în sine este semnalul.

Niciunul dintre acestea nu este o dovadă zdrobitoare. Toate împreună, împotriva unei probleme pe care candidatul nu a mai văzut-o, este.

Semnal 2: Salturile de cursor pe care candidatul nu le poate face manual

Când un om scrie cod, cursorul se mișcă cum se mișcă cursoarele umane: taste cu săgeți, Home/End, click ocazional pe o altă linie. Când un editor agenți rescrie o regiune, cursorul teleportează — următoarea editare este cu două funcții departe de cea anterioară, fără navigare intermediară. Când un instrument refactorizează peste fișiere, fișierul activ se schimbă fără Cmd-P fuzzy-find.

Editorul colaborativ folosit în tururile de programare live înregistrează poziția cursorului și documentul activ la fiecare schimbare. În cronologie, "editările prin teleport" se remarcă: o editare la linia 80 urmată imediat de o editare la linia 12 a unui fișier diferit, fără navigare vizibilă și fără scroll. Un om poate face asta cu taste de scurtătură, dar clusterul unor astfel de mișcări pe parcursul turului este ceea ce conține. Două sau trei sunt normale. Douăzeci în 20 de minute este agentul la muncă.

Semnal 3: Ritmul de tastare care nu se potrivește cu linia de bază propria candidatului

Acceptarea Tab dă candidatului o linie terminată. Tot trebuie să tasteze instrucțiunea care a invocat-o, sau tasteze linia următoare singuri. Deci fluxul de apăsări de taste devine bimodal: segmente lungi de cod emis de mașină separate de segmente scurte de tastare umană.

Biometria apăsării de taste pe porțiunile tastate este încă utilă — amprenta dwell-and-flight a candidatului ar trebui să fie consecventă pe parcursul sesiunii. Dar raportul este noul semnal: un candidat greu dependent de Cursor tastează poate 15–25% din caracterele din fișierul final. Un non-utilizator tastează 95%+. Raportul este vizibil în raport și nu depinde de clasificarea corectă a oricărui eveniment singular.

Acesta este de asemenea semnalul care prinde instrumentele cu suprapunere invizibilă. Un candidat care citește dintr-o suprapunere Cluely și retastează răspunsul tastează cu un ritm neobișnuit de stabil, cu foarte puține corecții, pentru că transcrie mai degrabă decât compune. Distanța de editare între fluxul de apăsări de taste și fișierul final se prăbușește către zero. Autoria reală are backspace-uri, redenumiri și încercări șterse; transcriera nu.

Semnal 4: Trimiterea este mai coerentă decât procesul

Rulează analiza de coerență a codului pe fișierul final și obții o citire separată. Cursor Composer și Claude Code produc fișiere foarte coerente — uniform idiomatice, numire consecventă, gestionare defensivă a erorilor pentru cazuri pe care candidatul nu le-a exercitat. Aceasta este o cale de eșec diferită decât codul cusut de ChatGPT, care tinde să fie incoerent. Codul Cursor este prea curat pentru procesul vizibil.

Întrebarea de diagnostic este cea pe care judecătorul de coerență o pune deja: arată ca și cum o singură persoană ar fi scris-o, de la început până la sfârșit, în 30 de minute, în timp ce vorbea cu mine pe video? Un om sub presiunea interviului produce un fișier cu cel puțin o muchie brută — un console.log rămas, o funcție pe care voiau s-o redenumească, un comentariu care contrazice codul. Un fișier Cursor-Composer rar are vreunul dintre acestea. Absența dezordinii este semnalul.

Ce să întrebi în cameră

Detecția este jumătate din răspuns. Cealaltă jumătate este pun întrebarea pe care un utilizator de agent nu o poate evita:

  1. Alege o linie non-evidentă și întreabă de ce. "Ai folosit Map aici în loc de un obiect — care a fost compromisul?" Un autor real alege unul. Un utilizator care acceptă-și-merge-mai-departe oftează.
  2. Forțează o mică extensie. "Adaugă un steag care face acest caz insensibil la majuscule." Cinci linii, fără acceptare Tab permisă. Candidatul fie o scrie fluent, fie stagnează. Oricare este semnal.
  3. Întreabă despre o greșeală pe care o poți vedea. Pre-plantează o problemă subtilă în prompt sau scaffolding. Instrumentele agenți tind să o "repare" fără a o recunoaște. Cere candidatului să te facă o trecere prin ceea ce au schimbat și de ce. Utilizatorul onest explică; utilizatorul agenți naratează diff-ul.

Acestea întrebări de urmărire sunt același instrument pe care l-ai folosi pentru o trimitere la domiciliu generată de IA. Punctul nu este să prind instrumentul — este să aflu dacă candidatul are relația cu codul pe care o cere rolul.

Cum să proiectezi tururile ca semnalul să fie interpretabil

Două alegeri structurale fac tot ce s-a zis mai sus mai ușor de citit:

  • Stabilește regula înainte ca tururile să înceapă. "Poți folosi orice instrument vrei. Cursor, Copilot, fragmentele tale proprii. Te vom cere să extinzi și să aperi ceea ce scrii." Aceasta este cadrul open-book și convertește o problemă de detecție într-o problemă de interpretare. Un candidat care declară utilizarea Cursor în prealabil și explică munca lor este bine. Un candidat care o ascunde și nu poate explica este cel pe care vrei să-l filtrezi.
  • Rezervă cinci minute din tur pentru editări fără ajutor. Spune candidatului în prealabil: ultimele cinci minute sunt o mică extensie, fără instrumente de IA. Observă cum tastează când asistenul a plecat. Acest singur bloc produce o linie de bază curată pentru a compara restul turului împotrivă.

Acestea două reguli dau raportului tău de integritate ceva la care să se ancore. Fără ele, inferezi ritmul împotriva unei priorități goale; cu ele, ai o secțiune cu bază cunoscută în fiecare interviu.

Ce să faci apoi

Dacă conduci interviuri tehnice și raportul tău de integritate curent doar urmărește lipiri și schimbări de tab:

  1. Adaugă un detector de bloc de acceptare la înregistrarea apăsării de taste, sau alege o platformă de codare care îl include. Fără asta, utilizatorii Cursor sunt invizibili pentru tine.
  2. Adaugă blocul cinci-minute-fără-ajutor la fiecare tur live din această săptămână. Te costă aproape nimic și ți dă o linie de bază pentru fiecare candidat, nu doar pentru cei suspicioși.
  3. Actualizează instrucțiunile tale pentru candidați să spună ce este și ce nu este permis. Cei mai mulți candidați vor respecta o regulă clară; cei puțini care nu o vor ascunde prost.
  4. Încetează să te bazezi pe conturile de schimbare de tab ca semnal primariu. În 2026, instrumentul de fraude pe care îl folosește candidatul nu necesită să plece din editor.

Cursa de înarmări împotriva IA din editor nu este câștigabilă prin detecție singură. Este câștigabilă prin proiectarea interviului care face utilizarea onestă a instrumentelor indistinguibilă de non-utilizare și utilizarea necinstită imposibil de apărat în cameră. Semnalul pe care îl vrei nu este "au folosit Cursor" — este "știu ce face propriul lor cod". Construiește turele în jurul acelei întrebări și problema de detecție se rezolvă singură în cea mai mare parte.

cursorgithub copilotfraude cu iainterviuri de codaredetecție de fraude

Articole conexe