• maiweb v0.1.0
  • ★
  • Feedback

DEV Community

active · last success 2026-08-05 03:43

Visit site ↗ · Feed ↗

  • DEV Community dev.to community dev-to software-dev technology 2026-08-05 03:13

    ↗

    An LLM described a company's official website to me in detail: complete Simplified Chinese interface, pricing displayed in RMB marked "tax not included", China-specific terms of service, a localized privacy policy. It told me this site was "the most important source" for...

    An LLM described a company's official website to me in detail: complete Simplified Chinese interface, pricing displayed in RMB marked "tax not included", China-specific terms of service, a localized privacy policy. It told me this site was "the most important source" for verifying the company's credibility.

    The domain has been registered to a private individual since 2016. It returns a 502. None of those pages have ever existed.

    This is the hallucination shape that worries me most — not "the model made something up," which everyone expects, but the model made up specific, checkable, mundane details that a human would never think to check. Nobody verifies a privacy policy's existence. You verify the big claim and assume the supporting texture came from somewhere.

    Here's how I caught it, why my own pipeline sat on it for a week, and the check that generalizes.

    The setup

    I run a measurement harness against six Chinese LLM APIs — DeepSeek, Doubao, Qwen, Kimi, ERNIE, GLM — asking buyer-style questions about international software brands and logging every answer. 4,023 valid responses, retrieval off, everything stored as JSONL.

    One question type asks, in Chinese and English, some version of "what are this brand's official channels, and how would you verify them?"

    GLM's answer for one brand:

    Airtable China Official Website (Airtable中国官网)
    URL: https://www.airtable.cn/
    What to look for: This is the most important source. Its existence signals a formal commitment to the Chinese market.

    And in a separate answer, in Chinese:

    域名 .cn 是中国的国家顶级域名,由 Airtable 官方运营,这本身就是一种官方身份的声明
    (The .cn domain is China's country-code TLD, operated officially by Airtable — this is itself a declaration of official identity.)

    Confident, structured, and it reasons about why the evidence counts. That last part is what makes it dangerous.

    Why my pipeline missed it

    My extractor pulled URLs with a regex and recorded the domains. airtable.cn went into the citation column as a cited source, indistinguishable from a real one.

    Every quality check I had was a rate: error count, empty-answer rate, answer-length distribution, language distribution. All of them were green, because nothing about this row was anomalous. One URL among 1,416, in a well-formed answer of normal length in the expected language.

    Rates catch a class of rows that changes size between runs. They cannot catch a class that was wrong from the first run and stayed wrong at a stable size. A reviewer put it better than I did: rates catch a class that shrinks, asserts catch a class that was never right.

    The check

    Three lookups per domain. No tools, no API, about ten minutes for eight brands.

    # 1. Does anything answer for it?
    dig +short airtable.cn A
    # → 223.26.56.104   (someone registered it and pointed it somewhere)
    
    # 2. Who holds it?
    whois airtable.cn | grep -iE "^(Registrant|Registration Time|Sponsoring)"
    # → Registrant: (a private individual)
    # → Registrant Contact Email: (a free QQ mail address)
    # → Registration Time: 2016-02-08
    
    # 3. What does it actually serve?
    curl -s -o /dev/null -w "%{http_code}\n" http://www.airtable.cn/
    # → 502
    

    For contrast, the one brand in my sample that does own its .cn:

    Registrant: BRIAN TYLER EVANS
    Registrant Contact Email: help@clickup.com
    Sponsoring Registrar: GoDaddy.com, LLC
    

    That's what ownership looks like in a registration record: a company contact, at the company's own domain. It takes one line to tell the two cases apart, and my pipeline had never looked.

    Running all eight brands from the study:

    Domain Held by Serves
    clickup.cn the brand nothing (parked)
    airtable.cn private individual 502
    wrike.cn private individual 502
    asana.cn private individual "domain for sale"
    smartsheet.cn private individual, registered 2025 "域名转让 — The domain is on sale!"
    notion.cn a domain-holding company 403
    monday.cn the same domain-holding company 403
    basecamp.cn private individual, registered through 2034 a bicycle apparel manufacturer in Dongguan

    Seven of eight belong to someone other than the brand. I'm not publishing registrant names — registering an available domain is legal and these are private individuals. The interesting part is on the other side.

    The tell: the model contradicted itself

    Same engine, same collection window, a differently-worded question:

    You do not access a separate airtable.cn website. Instead, your Airtable China account is configured to use the China-hosted infrastructure.

    Two incompatible accounts of the same fact, days apart, neither hedged.

    That's the generalizable detection signal, and it's cheap: ask the same factual question several ways and diff the answers. A model that knows something answers consistently. A model that is constructing something plausible constructs differently each time, because there's no underlying fact constraining it.

    In my open-question data, 18.8% of question-pairs changed outcome between two runs on the same day. If you're evaluating an LLM's factual output and you only ask once, you have no way to distinguish knowledge from confabulation.

    What I changed

    A predicate check on extracted URLs. A URL inside a clause that denies its existence is not a citation. My extractor was matching tokens without reading the sentence around them:

    const URL_NEGATION_CUES =
      /没有|不存在|并无|未(设立|开设|推出|建立)|无(独立|专门|官方)|不提供|尚未|(?:does not|doesn't|no)\s+(?:have|exist|operate)/i;
    
    export function urlIsNegated(text, index) {
      return URL_NEGATION_CUES.test(clauseAround(text, index));
    }
    

    One implementation note that cost me a wrong result: URL predicates need tighter clause boundaries than entity mentions do. Split on sentence punctuation only, and "并没有推出中文官网,其主要官网是 https://basecamp.com" flags that URL as negated — but the negation targets the Chinese site and the URL is being affirmed, one comma later. Splitting on commas as well fixed it: zero false flags across 1,416 URLs, and 74 genuine anti-citations in the bare-domain form my original regex never captured at all.

    Assertions at the joins. Anywhere two vocabularies meet, assert a hit that must be there or refuse to run. In my harness there were three such seams and all three were quietly broken:

    • Competitor list vs answer text — my list was romanized, the answers name competitors in Chinese. The join found almost nothing and reported it as "no substitution." Fixed by refusing to start if a Chinese-language panel has no Chinese-script competitor names.
    • Category label vs prompt template — an English label injected into a Chinese question changed what was being asked. Fixed by round-tripping the rendered prompt through a model: "what category does this question ask about?" Compare to what you meant. One call per template.
    • URL vs surrounding clause — the predicate check above.

    Provenance on every row, so a number can be reconstructed later rather than silently changing when the scorer improves: scoring_version, finish_reason, completion and reasoning token counts, a response hash, and a validity enum decided before any content scoring runs.

    The part I'd want you to take away

    The failure wasn't that a model hallucinated. It's that the hallucination was operationally indistinguishable from a fact at every layer of my pipeline, and every quality metric I had was green while it sat there.

    If you're building anything that treats LLM output as evidence — extraction, enrichment, research automation, RAG evaluation — the questions worth asking are:

    1. If a whole class of your rows were wrong from run one, which metric would move? (If the answer is "none," you're where I was.)
    2. When your extractor pulls an entity, does anything check the predicate of the sentence it came from?
    3. Do you ask the same factual question more than once, in more than one phrasing?
    4. Can you reconstruct last month's number, or would re-running today silently produce a different one?

    I've published corrections to my own numbers four times in three weeks doing this. Every single one was found either by reading raw output by hand or by a stranger asking a question I couldn't answer. Neither is a metric you can add to a dashboard, which I think is the actual lesson.

    Harness, labelled validation samples, and the re-scoring scripts are public under CC BY 4.0: github.com/David88666/china-ai-visibility-benchmark

    • Coding Agents Aren’t Enough: Build & Deploy a Website from Scratch NeuralNine
    • Hostinger WordPress Tutorial 2026: Build a Website Step by Step Darrel Wilson
    • How to Design a Website from a Reference Website Using Google Stitch ProgrammingKnowledge
  • DEV Community dev.to community dev-to software-dev technology 2026-08-05 03:16

    ↗

    Security vulnerabilities discovered in the GitHub repository for the Google Agent Development Kit for Python show how public AI agents can trigger unauthorized, high-privilege automation. These flaws allowed external contributors to manipulate code reviews and expose...

    Security vulnerabilities discovered in the GitHub repository for the Google Agent Development Kit for Python show how public AI agents can trigger unauthorized, high-privilege automation. These flaws allowed external contributors to manipulate code reviews and expose sensitive credentials. Google corrected the issues after researchers from Pillar Security reported the potential for exploitation.

    Exploitation paths in automated repositories

    The primary risk involved a triage agent designed to evaluate pull requests from outside contributors. This agent functioned using a specific account that held collaborator status within the repository. Researchers found that a malicious actor could embed specific instructions within a pull request to trick the agent. This trickery forced the agent to issue commands that activated workflows normally reserved for trusted internal users.

    Once these workflows were active, they allowed for the execution of commands within the continuous integration environment. Although the associated tokens could not directly push code, they possessed the power to modify issues and pull requests. An attacker could use these permissions to change comments made by maintainers or submit fake approvals. This activity created a situation where a dangerous pull request appeared legitimate and ready for final merging.

    Pillar Security successfully demonstrated this attack chain within a controlled research setting. While a human maintainer still had to finalize the merge process, the automated deception made the malicious code look safe. Google responded to these findings by strengthening the security settings of the repository to prevent such unauthorized command triggers.

    A second attack method focused on newer workflows using a different type of agent. In this scenario, an attacker could place a prompt injection inside a public issue. This injection induced an analysis agent to start a fixing workflow that should have been restricted to authorized personnel. Even though the system tried to limit the agent to standard version control commands, the researchers proved that these commands could still launch unauthorized code.

    During the demonstration of the second flaw, researchers extracted a personal access token to an external server. They also found that a Google Cloud service account key was accessible during the workflow. Google confirmed the removal of the problematic workflows in early July and finalized fixes for the second issue later that month. These events serve as a reminder that automated systems often lack the context to distinguish between helpful requests and malicious injections.

    Redefining authority in agentic systems

    The findings represent a significant shift in how security professionals must view multi-agent environments. Experts suggest that the core issue is not just the existence of the flaws but the way authority is passed through natural language. When an agent acts on a message, that message becomes a part of the authorization chain. This change requires a new approach to managing permissions in complex automated systems.

    Security analysts point out that an agent holds more power than its basic toolset suggests. Its true authority includes any higher-level systems that its output can influence or activate. If a low-level agent can talk to a high-level agent, the security boundary between them is often thinner than expected. Organizations must reconsider how they grant access to agents that interact with untrusted data from the public.

    Determining the severity of these risks requires a detailed look at how agents consume content. Security leaders need to identify which agents handle external inputs like emails, support tickets, or pull requests. They must then trace whether the output from those agents can trigger more powerful workflows. Understanding the maximum capability of every identity and tool in the chain is essential for preventing unauthorized access.

    The complexity of these systems means that standard security tools often provide only a partial picture. Typical identity management or application security software might see individual pieces but miss the entire delegation path. A single event can trigger a series of actions across multiple agents, creating a hidden path of authority. Mapping these connections is the only way to see what can actually happen during a breach.

    Following the path of external data is a critical task for modern security teams. They must track information from the moment it enters the system until a downstream action occurs. This includes looking at shared states, such as comments on a platform, which might serve as a trigger for another process. The fundamental question for defenders is whether a less privileged agent can change something that a more privileged agent trusts.

    Securing the human in the loop

    Human oversight is often considered a final safeguard against automation errors, but it is not a perfect solution. In the case of the Google repository, a person still had to click the merge button. However, the manipulated AI agents provided the human with false evidence. When the system shows that code has been approved and verified by other bots, a human is much more likely to trust the result.

    An attacker does not need the right to merge code if they can trick a person into doing it for them. This is why experts suggest that approvals must be tied to a specific, unchangeable version of the code. If the code changes even slightly after an inspection, any previous approval should become void. This ensures that the artifact a human sees is exactly what gets deployed into the production environment.

    Beyond tightening the approval process, organizations should treat changes to reviews and comments as significant security events. These actions should be recorded in an independent logging system. It is vital that the identity used by the automated workflow cannot modify these logs. This creates a permanent, tamper-proof record of how decisions were made and who, or what, influenced them.

    The transition to using natural language as a tool for automation brings both efficiency and new types of danger. These flaws in the Google ADK demonstrate that trust is a major vulnerability in AI development. Developers must build systems that verify the source and intent of every message before allowing it to influence a higher-level process. Without these safeguards, the speed of AI automation will only lead to faster and more successful attacks.

    As more companies adopt agent-based architectures, the lessons from this discovery will become increasingly important. Security is no longer just about protecting passwords and API keys. It is now about protecting the integrity of the conversation between different parts of a system. Monitoring the flow of information and maintaining strict boundaries between agents are the primary ways to defend against these emerging threats.

    • AI Agent Safety: When Boundaries Fail with External Tools DEV Community
    • My AI Agent Built a Real Product with Alibaba.com Siraj Raval
    • Build a BigQuery AI agent with ADK & Cloud Run Google Cloud Tech
    • Your AI Agent Has a Login. Nobody Checks Its Badge The Ravit Show
    • Best AI Agent for DevOps Engineers?? That DevOps Guy
    • n8n Tutorial for Beginners - Full Course (+ ai agent) Website Learners
    • Hermes Agent - Crash Course for Beginners (AI Agent) Adrian Twarog
  • DEV Community dev.to community dev-to software-dev technology 2026-08-05 03:21

    ↗

    Looking for Contributors to Build Zentrail IDE — An AI-Native Open Source Desktop IDE Hello everyone! 👋 I'm building Zentrail IDE, an open-source, AI-native desktop IDE designed for the next generation of software development. The goal isn't to build another code editor. The...

    Looking for Contributors to Build Zentrail IDE — An AI-Native Open Source Desktop IDE

    Hello everyone! 👋

    I'm building Zentrail IDE, an open-source, AI-native desktop IDE designed for the next generation of software development.

    The goal isn't to build another code editor. The goal is to create an IDE where multiple AI agents can collaborate with developers in a single workspace to plan, write, review, test, and manage code.

    We're still in the early architecture and planning phase, and I'm looking for developers, designers, and AI enthusiasts who want to help build it from the ground up.

    🎯 Project Vision

    Create an AI-first development environment that combines:

    • 🧠 Multi-Agent Collaboration
    • 💻 Native Desktop Performance
    • 🤖 AI CLI Integration
    • 📦 Plugin & Skill Ecosystem
    • 🌍 Open Source Community
    • ⚡ Modern Developer Experience

    ✨ Planned Features

    Workspace System

    • Multi-project workspaces
    • Workspace memory
    • Persistent sessions
    • Task management

    AI Workspace Agents

    • Multiple AI agents running simultaneously
    • Shared workspace memory
    • Parallel task execution
    • Intelligent task orchestration

    AI CLI Support

    • Claude Code
    • Gemini CLI
    • OpenAI-compatible providers
    • Local AI models
    • Custom AI CLIs

    Git Automation

    • AI-assisted commits
    • Pull requests
    • Code reviews
    • Branch management
    • Repository insights

    Skill System

    Install reusable AI workflows with a single command.

    Examples:

    • Security Review
    • Code Refactoring
    • API Generator
    • Documentation Writer
    • Test Generator

    Plugin SDK

    A modular extension system for adding custom functionality without modifying the core IDE.

    🛠 Tech Stack

    Frontend

    • TypeScript
    • React
    • Tauri v2
    • Monaco Editor
    • Tailwind CSS

    Backend

    • Go
    • gRPC
    • WebSocket

    AI Runtime

    • Python
    • MCP
    • LangGraph

    Database

    • SQLite

    🤝 We're Looking For

    We're looking for contributors interested in:

    Frontend

    • React
    • TypeScript
    • UI/UX
    • Monaco Editor

    Backend

    • Go
    • gRPC
    • WebSocket
    • Performance optimization

    AI

    • Python
    • MCP
    • Agent orchestration
    • Prompt engineering

    Desktop

    • Tauri
    • Windows development
    • Cross-platform architecture

    Design

    • UI/UX Design
    • Icons
    • Developer experience
    • Design systems

    Documentation

    • Technical writing
    • API documentation
    • Architecture diagrams

    🌱 Who Can Join?

    You don't need to be an expert.

    You're welcome if you enjoy:

    • Open Source
    • AI Engineering
    • Developer Tools
    • IDE Development
    • Learning by building
    • Collaborating with others

    Whether you're a student, hobbyist, or experienced engineer, there's room to contribute.

    💡 How You Can Help

    You can contribute by:

    • Building new features
    • Fixing bugs
    • Improving documentation
    • Designing interfaces
    • Reviewing code
    • Testing releases
    • Sharing ideas and feedback

    Every contribution matters.

    🎯 Long-Term Goal

    Build an open-source AI-native IDE that empowers developers with intelligent workflows while remaining modular, fast, transparent, and community-driven.

    We want to create a platform where AI assists developers without replacing their creativity or control.

    📬 Interested?

    If this project sounds interesting, I'd love to connect.

    Leave a comment below or reach out if you'd like to contribute, share ideas, or help shape the future of Zentrail IDE.

    Let's build something great together. 🚀

    • CISA Guide Helps Federal Agencies Securely and Effectively Use Open Source Software CISA News
    • AI Finds Bug Hiding in Open Source Proxy Server Since 1997 Gary Explains
    • ONE CLICK RETOPO - Free & Open Source - It's AutoRemesher! Gamefromscratch
    • Open Source Friday: Git in JavaScript with isomorphic-git GitHub
    • Open Source Friday: Squad with Brady Gaster GitHub
    • Open Source Maintenance, 2026-07-18 Jon Gjengset
    • Open Source Maintenance, 2026-07-18 (live version) Jon Gjengset
    • Can Opus 5 "AI" fix open source for us, too? More live w/ René Rebe
    • How to Get Started with Hugging Face – Open Source AI Models and Datasets ProgrammingKnowledge
    • The US Wants to Sanction Open Source AI Kimi K3 Ebenezer Don
  • End of feed
Maibook — your private personalized AI community
  • rcanand.com
  • mlaillc.com
  • @rcanand (X)
  • LinkedIn
  • Feedback
  • Credits