SShortSingh.
Back to feed

Study shows AI code review cannot detect GNU strip-based supply chain backdoors

0
·1 views

A new research paper (arXiv 2607.24888) demonstrates that Ken Thompson's classic 'trusting-trust' compiler attack can be replicated using GNU strip, a build utility that processes only binary ELF files rather than source code. In the NixOS bootstrap environment, a single malicious strip binary injected into the seed can propagate a hidden payload across build generations, persisting even after the original infected binary is removed. Because AI code review tools analyze source diffs and patches, they have no visibility into the binary dependency chain where the malicious code actually resides. The authors argue this is a fundamental limitation, not one that more powerful AI models can overcome, since the threat exists entirely outside the source layer. Teams using AI review are advised to apply it strictly to source-level analysis and rely on separate artifact provenance and build reproducibility measures to verify what actually runs in production.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

MCP vs Function Calling: When You Don't Actually Need Model Context Protocol

Model Context Protocol (MCP), an open protocol developed by Anthropic, has become a buzzword in AI agent development, but experts argue it is not always the right tool for the job. Before MCP existed, developers had to write custom integration code for every AI application connecting to external services like GitHub or Slack. Alternatives such as function calling, introduced by OpenAI in 2023, allow developers to pass tool signatures directly to a large language model without any MCP overhead. Crucially, the underlying model cannot distinguish between a tool delivered via MCP and one delivered through direct function calling, as both produce identical JSON structures. MCP does carry real drawbacks, including large context overhead when connecting to a server, making simpler approaches preferable for lightweight or single-service use cases.

0
ProgrammingDEV Community ·

Why 130 Passing Tests Still Failed to Catch Critical Browser Extension Bugs

A developer building Longshot, a Firefox screenshot extension, discovered that a fully green Node.js test suite of 130 passing assertions missed two significant bugs in the print pipeline. The first bug caused the print dialog to hang indefinitely because an image decode promise never resolved inside a CSS-hidden subtree created by the print stylesheet — a browser-specific behaviour unreachable by Node-based tests. The second bug occurred when selecting PDF output broke the 'Open in editor' feature, as an internal stage passed a PDF blob to a function that cannot decode that format. Both failures existed at boundaries — either between the code and a browser API, or between two internal components — rather than within the individually tested functions themselves. The developer concluded that the test suite was not under-covering the code but was fundamentally the wrong shape to represent boundary interactions, and introduced an HTML harness running real page logic against stubbed browser APIs to catch such failures.

0
ProgrammingDEV Community ·

Google Gemini 2.0 Flash Gains Stronger Multi-Step Reasoning for Agent Workflows

Google has released Gemini 3.8 Flash, an upgrade to its Flash-tier model that focuses on improved persistence through complex, multi-step tasks rather than expanding the context window, which remains at roughly 1 million input tokens. The model scored 73.7% on the DeepSWE v1.1 coding benchmark, up from 65.3% for Gemini 3.7 Flash, signalling stronger performance on longer coding workflows. It supports a wide range of inputs — including text, images, video, audio, and PDFs — alongside tools such as function calling, code execution, and search. However, the gains come with potential trade-offs in latency and token usage, making the model better suited to complex, multi-step tasks than to simple, high-volume workloads like extraction or classification. Developers are advised to consider migrating to 3.8 Flash primarily when their workflows involve multiple steps, tool use, error recovery, or mixed-media inputs.

0
ProgrammingDEV Community ·

The Hidden Cost of Invoice Payment Terms Every Freelance Developer Should Know

A freelance developer shares hard-won lessons about how payment terms function as financial instruments, not mere administrative formalities. Standard Net 30 terms effectively mean the freelancer is offering an interest-free loan to the client for 30 days, a dynamic that large corporations actively exploit to improve their cash flow metrics. Early-payment discount terms like 2/10 net 30 can carry an annualized implied interest rate of around 36.7 percent, making them far more significant than they appear at face value. Late fee clauses, typically set at 1.5 percent per month, serve as a deterrent rather than a revenue stream, and must be included on the original invoice to be enforceable. Understanding the true financial math behind these terms allows freelancers to make informed decisions about pricing, cash flow, and client negotiations.