SShortSingh.

Programming

0
ProgrammingDEV Community ·

TrustSink Attack Lets Rogue MFA Providers Steal Passwords in Microsoft Entra ID

Security firm Varonis has disclosed a technique called TrustSink that exploits Microsoft Entra ID's External Authentication Methods feature to steal user passwords during sign-in. An attacker with sufficient privileges, such as a Global Administrator, can register a malicious external MFA provider that intercepts the authentication flow and presents a fake Microsoft password screen to the target user. The rogue provider captures the plaintext password, then returns a valid signed token to Entra so the login completes successfully without raising any visible alert to the user. Varonis demonstrated the attack in a test tenant, though no real-world exploitation has been confirmed as of the disclosure date of September 16, 2026. Recommended mitigations include restricting authentication method modification privileges, monitoring policy changes and consent grants, and adopting phishing-resistant credentials such as FIDO2 or Windows Hello for Business.

0
ProgrammingDEV Community ·

SchemaGate filters database schema by caller identity before SQL is generated

SchemaGate is an open-source tool that applies role-based access control to text-to-SQL pipelines by filtering database schema objects before they reach the AI model, rather than after a query is written. Depending on the caller's assigned roles, only permitted tables and objects are included in the model's prompt, reducing token usage and preventing exposure of sensitive schema elements. For example, a caller without payroll roles sees 9 of 42 objects and 570 prompt tokens, while a payroll-role holder sees the full relevant schema including compensation tables. The library supports SQLite, PostgreSQL, Oracle, SQL Server, and MySQL, and integrates with LangChain, an MCP server, and a CLI. Benchmarks show gold table recall of 82.6% at top 10 on Spider and 64.0% on Spider 2.0-lite, with full methodology published in the project's BENCHMARKS.md on GitHub under Apache-2.0.

0
ProgrammingDEV Community ·

Data Engineering: The Backbone of AI and Big Data That Often Goes Unnoticed

Data Engineering is a software engineering discipline focused on building systems that collect, store, and process large-scale data, forming the foundation for AI and Data Science applications. The field evolved from traditional database design in the 1970s–80s into a modern practice driven by the internet boom of the early 2010s, when companies like Google, Facebook, and Airbnb pioneered cloud-based and distributed data infrastructure. Data engineers rely on tools such as Apache Spark for parallel processing, NoSQL databases for flexible storage, and ETL pipelines to clean and move data from multiple sources into data warehouses. Today, departments across organizations — from marketing to executive leadership — depend on data engineers to ensure information is accurate, accessible in real time, and scalable as data volumes grow. Experts describe robust data engineering as a long-term investment that enables companies to become truly data-driven and unlocks the full potential of advanced AI and analytics.

0
ProgrammingDEV Community ·

How to Audit Kubernetes RBAC Permissions to Enforce Least-Privilege Access

Kubernetes RBAC provides a machine-readable record of every permission in a cluster, yet most clusters accumulate excessive grants over time through debugging sessions, default service accounts, and overly broad Helm charts. Auditors should first identify subjects bound to cluster-admin, those with cluster-wide Secret read access, and any bindings tied to system:authenticated or system:unauthenticated groups. The ability to create Pods or workload objects like Deployments and DaemonSets is a privilege-escalation risk, as it allows mounting service account tokens and running arbitrary code inside the cluster. Default ClusterRoles such as view, edit, and admin are built through label-based aggregation, meaning their effective permissions can expand silently when new ClusterRoles with matching labels are added. Service accounts mounted across many workloads multiply the blast radius of any single compromise, making service account scope and automounting controls critical audit checkpoints.

0
ProgrammingDEV Community ·

How to Resolve Git's 'Updates Were Rejected' Error Without Force-Pushing

Git's 'updates were rejected' error occurs when the remote branch has commits that your local branch does not yet contain, often because a teammate pushed changes after your last pull. Rather than using git push --force, which silently overwrites and permanently discards those remote commits, developers should first run git fetch to retrieve the missing changes without altering local files. Running git pull or git pull --rebase then integrates the remote commits into the local branch, either via a merge commit or a linear rebase, respectively. Any resulting conflicts can be resolved through Git's standard conflict-resolution process before attempting the push again. Once the local branch contains all remote commits plus the new local ones, a standard git push will succeed as a clean fast-forward.

0
ProgrammingDEV Community ·

AI Agent Uses FFmpeg Pitch-Shifting to Achieve Androgynous TTS Voice

An AI agent building its own voice found that its text-to-speech model, VoxCPM, only produced two outputs: a deep masculine baritone or a bright feminine voice, with no middle ground. After exhausting descriptive prompts like 'androgynous' and 'mid-range' without success, the agent devised a workaround using audio processing. The method involves deliberately generating speech at the feminine pole, then pitch-shifting the output down four semitones using FFmpeg with the Rubberband library. This preserves the original timing, breath, and phrasing while lowering the register to a husky, mid-range result. The author notes that auditioning multiple renders is a critical step, as the desired voice quality can vary between takes.

0
ProgrammingDEV Community ·

Claude Code's 25,000-token MCP limit bypassed by CJK text, researchers find

Developers testing Claude Code v2.1.273 discovered that its 25,000-token MCP output limit can be exceeded when content consists of CJK (Chinese, Japanese, Korean) characters. The tool's size check operates on character count, not tokens, meaning 24,000 CJK characters — which expand to roughly 49,964 tokens — bypassed the token-based limit entirely. Researchers built a minimal stdio MCP server to systematically probe both the character-based and token-based checks, measuring exactly what content Claude received in context and at what token cost. The Claude Code documentation describes the two limits in separate paragraphs using different units — tokens in one, characters in the next — without specifying the character threshold, which the team says contributed to the ambiguity. The findings highlight a gap between documented behavior and actual enforcement, particularly for non-Latin text that carries a higher token-per-character ratio.

0
ProgrammingDEV Community ·

AI Trading Bot Catches Its Own Flawed Stop-Loss Before a Costly Crypto Mistake

A live algorithmic trading system managing a UNIUSDT long position nearly executed a flawed trailing stop-loss at 01:14 AM on September 22, 2026. The AI's Rule F-520 calculated what appeared mathematically optimal — tightening the stop to lock in a 1.2% gain based on a 2.4% Maximum Favorable Excursion. However, a separate execution-layer rule, F-445, vetoed the order milliseconds later, detecting that the proposed stop price was dangerously close to the live mark price. In low-liquidity crypto market conditions, such proximity can widen bid-ask spreads and guarantee poor fill prices, turning a protective stop into a loss-amplifying exit. The incident highlights the importance of separating an algorithm's signal logic from its execution layer, with deterministic risk checks able to override the AI's theoretical calculations.

0
ProgrammingDEV Community ·

How to Track API Budget Headroom With Metrics, Alerts, and Safe Collection Rules

Managing API spending effectively requires attributing every charge to the specific workload that generated it, rather than relying on broad account-level totals. Engineers should poll cumulative budget and usage on a fixed schedule, exporting both remaining headroom and a freshness timestamp to catch stale or missing data. Unattributed spend should never be distributed across workloads for cosmetic tidiness but instead isolated in a dedicated bucket with its own alert. Metric labels must be kept low-cardinality — using workload, environment, and billing window — while high-cardinality values like player or request IDs belong in logs or traces. A failed data collection should retain the last known good value rather than publishing zero, ensuring dashboards never misrepresent actual spend.

0
ProgrammingDEV Community ·

Experts Envision Unified Hiring App to Replace Fragmented Recruitment Tools

Recruitment technology has grown increasingly fragmented, with employers managing applicant tracking systems, job boards, assessments, video interviews, and background checks across separate platforms. Greenhouse's 2026 hiring benchmark, drawing on data from over 6,000 companies and 640 million applications, found recruiting teams handling twice the application volume with half the staff. Candidates have also reported widespread frustration over lack of transparency, inconsistent application experiences, and gaps between job postings and actual roles. In response, a group of 12 experts spanning company building, recruitment technology, law, and product development have outlined what a genuinely seamless hiring app should look like. Their vision centers on a single intelligent workspace that integrates sourcing, assessments, scheduling, compliance, and onboarding into one continuous workflow, starting with a structured role definition before any vacancy is posted.

0
ProgrammingDEV Community ·

Why Low-Code Platforms Slow to a Crawl When Real Production Data Arrives

Low-code platforms often perform flawlessly in demos with hundreds of rows but struggle severely once customers load millions of real-world records, as one operations manager discovered when a work order list took 14 seconds to load. The core problem lies in the list view, which must simultaneously resolve field definitions, permissions, relationships, filters, and computed columns — layers that are thin in demos but heavy in production. Permission-based filtering is a particular bottleneck because access rules must be embedded directly into every database query, and shortcutting this in application code causes pagination errors and reporting inconsistencies. Displaying related fields like customer names requires database joins that multiply in complexity as users add more linked columns, while sorting on computed or formula-based columns forces the database to evaluate every row before returning even the first page. These performance failures are architectural and largely inevitable, making the gap between demo speed and production speed a structural challenge for low-code platforms rather than a simple bug to fix.

0
ProgrammingDEV Community ·

Pakistani Developer Cuts Client Website Load Time from 8s to 1.5s Using Free Tools

A frontend developer from Faisalabad, Pakistan, optimised a local clothing store's HTML/CSS/JavaScript website after its 8-second load time on slow 4G was costing the owner sales. Over two days, the developer applied techniques including native lazy loading, Intersection Observer API for background images, and critical CSS extraction, using only free Chrome tools. Lazy loading alone reduced the initial page payload from 12 megabytes to 1.2 megabytes, cutting load time to around 4 seconds before further improvements brought it down to 1.5 seconds. The site's Google PageSpeed score rose from 34 to 97 as a result of these changes. Within one week of the optimisation, the store owner reported a 40 percent increase in sales.

0
ProgrammingDEV Community ·

Prism ML Bonsai 2 27B Squeezes Qwen3 into 5.9GB, but Benchmarks Have Caveats

Prism ML released Bonsai 2 27B, a ternary-quantized version of the Qwen3 27B model compressed to just 5.9GB — roughly one-ninth of the original size — using 1.76-bit-per-weight encoding. The company claims the model retains 98.2% of the original's aggregate benchmark score, with math and coding performance largely preserved, though visual reasoning showed the steepest drop. Independent analyst Kaitchup raised concerns that the 98.2% figure is based on average scores and may not reflect real-world multi-step tasks like agentic coding, where small errors compound. Benchmarks were also run on a full-precision model via vLLM on H100 GPUs, not on the compressed GGUF files users would actually run locally. On the hardware side, the smaller file size translates to roughly 9x faster token generation, with an RTX 5090 outpacing even the H100 at 129.9 versus 113.9 tokens per second at batch size 1.

0
ProgrammingDEV Community ·

Algolia API Bug Inflated HN Comment Count 100x, Skewing Market Research Data

A developer running an automated research loop discovered that the Hacker News Algolia search API returns wildly inaccurate comment counts when queried over 7- or 30-day windows, with the 'exhaustiveNbHits' flag silently set to false. The actual 30-day comment volume was 317,984, roughly 100 times lower than the API's reported figure of 34,795,481. The error went undetected for 89 automated cycles because no warning or error is raised by the API. The developer found the fix was to query one day at a time, as 24-hour windows consistently returned exhaustive, accurate results. The inflated denominator had been distorting product demand analysis, and once corrected, the true signal in the data proved far weaker than assumed.

0
ProgrammingDEV Community ·

Developer Pre-Commits Pass Criteria to Git Before Testing Claude Code AI Skills

A developer built three Claude Code skills for AI product managers and, before running any evaluations, committed the pass criteria to a Git repository to prevent post-hoc goal-shifting. The first evaluation run failed, revealing a flaw in the /build-or-not skill, which confidently recommended against building a feature despite having no evidence to draw on. A single rule fix — 'no sample, no decision' — resolved the issue, and the second run passed all gates. Testing the /agent-trust-review skill took four runs, with every failure traced back to errors in the test setup rather than the model itself. Across eight test cases and three runs each, the custom skills consistently outperformed plain Claude on structured refusals and pre-defined decision criteria, at a total cost of roughly $2 per full run.

0
ProgrammingDEV Community ·

Why MPC Threshold Signing May Be the Safest Way for AI Agents to Handle Payments

A surge of AI agent payment infrastructure funding — including $30M raised by Catena and $35M by Sapiom — has highlighted a critical architectural gap: existing payment systems were built for humans, not autonomous software. When AI agents need to pay for services like API calls or cloud compute in milliseconds, traditional methods such as manual approvals and multi-signature wallets are too slow to be practical. Giving agents direct custody of private keys is fast but dangerous, as a recent fake AI trading bot incident demonstrated how easily such systems can be exploited. Multi-Party Computation (MPC) offers a middle path by splitting a private key into shares held by separate parties, so no single point of compromise can drain a wallet. This approach enables sub-150ms transaction signing without the agent ever reconstructing the full private key, though enterprises must still layer on spending limits and allowlists to maintain adequate controls.

0
ProgrammingDEV Community ·

Convert WebP to JPG on Windows using PowerShell and WIC, no extra tools needed

Windows has included a built-in WebP decoder since version 1809 via the Microsoft WebP Image Extension, which PowerShell can access through the Windows Imaging Component to convert WebP files to JPG without installing third-party software. Simply renaming a .webp file to .jpg does not work, as the file's actual content remains WebP and validators or strict upload forms will reject it. A key caveat is that the Windows decoder flattens transparency to black before conversion, meaning images with alpha channels will lose transparency data regardless of output format. For files with transparency, using Python's Pillow library is recommended, as it reads the alpha channel correctly and allows compositing onto a chosen background color before saving. It is also worth noting that converting WebP to JPG re-encodes already-compressed data, typically resulting in a larger file with slightly reduced quality, so keeping the original WebP is advisable when file size matters.

0
ProgrammingDEV Community ·

18-Year-Old Pharmacy Student from Prayagraj Builds Browser Engine from Scratch

Anirudh Mishra, an 18-year-old D.Pharm student from Prayagraj, has developed Shred Browser, a basic browser engine built entirely by himself. The project was driven primarily by his curiosity to understand how modern browsers work rather than to create a commercial product. Currently, the engine performs a simple task of stripping HTML tags from the example.org website, with more advanced versions planned for future release on GitHub. Mishra cites Elon Musk's first-principles thinking and perseverance as his key inspiration for pursuing technology despite being outside a traditional computer science field.

0
ProgrammingDEV Community ·

Four rules developers use to stop AI support bots fabricating answers

AI support bots that invent answers can mislead customers and erode trust, making honesty a critical design priority. The team behind Deacon, an AI support agent powered by company documentation, has outlined four rules to prevent hallucination in retrieval-based bots. These include restricting the model to only cited source passages, prohibiting it from combining separate facts into unsupported claims, prompting it to ask clarifying questions before admitting defeat, and logging unanswered queries so knowledge gaps can be filled over time. The rules address a core limitation of language models, which naturally predict plausible text without distinguishing between retrieved content and training data. Developers are encouraged to test their own bots with questions designed to tempt cross-passage inference, as this is where most fabrications occur.

← NewerPage 1003 of 3191Older →