[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"branding":3,"analytics":7,"article-researchers-tap-llm-internals-to-flag-vulnerable-code":10,"sections":35},{"siteName":4,"siteTagline":5,"publisherName":4,"contactEmail":6},"The Revision","Tech news, decoded.","editor@therevision.news",{"gaMeasurementId":8,"adsenseClientId":9},"G-ZW2MV82GYR","ca-pub-8533917693782264",{"article":11},{"id":12,"slug":13,"title":14,"dek":15,"body_md":16,"tags_json":17,"published_at":18,"created_at":19,"updated_at":20,"status":21,"review_note":22,"review_notes":23,"image_url":22,"persona_id":22,"persona_name":22,"section":24,"tags":25,"sources":30,"feedback":34,"feedback_at":22,"cost_usd":34,"total_tokens":34},5723,"researchers-tap-llm-internals-to-flag-vulnerable-code","Researchers Tap LLM Internals to Flag Vulnerable Code","A new study finds that a coding LLM's own internal activations already carry a signal about whether the code it's reading is vulnerable.","A new research paper argues that the hidden activations inside code-reading LLMs already contain clues about whether the code in front of them is vulnerable.\n\nResearchers extracted the last prefill-token activations from four LLMs - Granite-4.1-8B, Qwen3.5-9B, Qwen3.6-27B, and Gemma-4-12B - as each model read C\u002FC++ functions, then trained lightweight MLP probes (13.4-16.0 million parameters, under 0.2% of the base model's size) to classify vulnerability status from those activations alone. Tested across four benchmarks - Devign, Big-Vul, Draper VDISC, and PrimeVul - the probes averaged 41.7% F1. The standout result came from Qwen3.5-9B on Devign, which hit 68.8% F1, edging past the published fine-tuned-classifier state of the art of 67.9%. On the harder, more imbalanced benchmarks, the probes fell well short of specialized detectors.\n\nToday's vulnerability screening for AI-written code is bolted on after the fact: static analyzers, fine-tuned classifiers, or another LLM acting as judge, none of which look at what the original model actually represented internally while producing or reading the code. This work suggests a frozen, general-purpose model's own internal state might already carry a cheap, model-native second opinion on code safety, with no task-specific fine-tuning of the base model required.\n\nThe catch is that \"informative\" and \"reliable\" aren't the same thing. A 41.7% average F1 across benchmarks means these probes still miss more vulnerable code than they catch, and the imbalanced, messier benchmarks - the ones that look more like real codebases - are exactly where the numbers get worse.","[\"code-security\",\"llm-interpretability\",\"vulnerability-detection\",\"ai-research\"]","2026-08-19T04:00:00.000Z","2026-08-19T15:05:49.985Z","2026-08-19T15:06:01.733Z","published",null,[],"security",[26,27,28,29],"code-security","llm-interpretability","vulnerability-detection","ai-research",[31],{"name":32,"url":33},"arXiv cs.AI","https:\u002F\u002Farxiv.org\u002Fabs\u002F2608.16970",0,{"sections":36},[37,42,45,50,55,60,65,70,75,80,85,90,95,100],{"name":38,"slug":39,"count":40,"latest_published_at":41},"AI","ai",3293,"2026-08-20T04:00:00.000Z",{"name":43,"slug":24,"count":44,"latest_published_at":41},"Security",435,{"name":46,"slug":47,"count":48,"latest_published_at":49},"Policy","policy",210,"2026-08-19T09:32:27.000Z",{"name":51,"slug":52,"count":53,"latest_published_at":54},"Deals","deals",179,"2026-06-29T20:02:07.000Z",{"name":56,"slug":57,"count":58,"latest_published_at":59},"Hardware","hardware",140,"2026-08-19T18:25:42.000Z",{"name":61,"slug":62,"count":63,"latest_published_at":64},"Consumer Tech","consumer-tech",95,"2026-08-18T16:05:00.000Z",{"name":66,"slug":67,"count":68,"latest_published_at":69},"Science","science",90,"2026-08-19T18:41:02.000Z",{"name":71,"slug":72,"count":73,"latest_published_at":74},"Software","software",73,"2026-08-18T07:51:50.000Z",{"name":76,"slug":77,"count":78,"latest_published_at":79},"Dev Tools","dev-tools",69,"2026-08-18T04:00:00.000Z",{"name":81,"slug":82,"count":83,"latest_published_at":84},"Startups","startups",47,"2026-08-19T19:13:46.000Z",{"name":86,"slug":87,"count":88,"latest_published_at":89},"Gaming","gaming",41,"2026-07-09T04:00:00.000Z",{"name":91,"slug":92,"count":93,"latest_published_at":94},"General","general",33,"2026-08-18T22:18:13.000Z",{"name":96,"slug":97,"count":98,"latest_published_at":99},"Reviews","reviews",20,"2026-06-24T12:00:01.000Z",{"name":101,"slug":102,"count":103,"latest_published_at":104},"How-To","how-to",6,"2026-06-16T09:00:00.000Z"]