惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cisco Talos Blog
Cisco Talos Blog
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
Project Zero
Project Zero
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
Vulnerabilities – Threatpost
NISL@THU
NISL@THU
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Palo Alto Networks Blog
博客园_首页
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Last Week in AI
Last Week in AI
量子位
Security Latest
Security Latest
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
博客园 - 【当耐特】
T
Threat Research - Cisco Blogs
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
腾讯CDC
宝玉的分享
宝玉的分享
V2EX - 技术
V2EX - 技术
P
Privacy International News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
Webroot Blog
Webroot Blog
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
美团技术团队
Hacker News: Ask HN
Hacker News: Ask HN
人人都是产品经理
人人都是产品经理
S
Securelist
S
Security Affairs
WordPress大学
WordPress大学
J
Java Code Geeks
月光博客
月光博客
N
News and Events Feed by Topic
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
阮一峰的网络日志
阮一峰的网络日志
C
CERT Recently Published Vulnerability Notes
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor GitHub - GenAI-Gurus/awesome-eu-ai-act: Curated tools, official sources, OSS, templates, and guides for EU AI Act compliance. Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders How to Switch AI Chatbots and Why You Might Want To GitHub - MattMessinger1/agentic_refund_guardrail: Safe refund policy layer for AI agents — Python + TypeScript. Same behavior, shared tests. Adam/papers/emergent_values_whitepaper.md at master · strangeadvancedmarketing/Adam Ask HN: How do you stop playing 20 questions with your AI coding tools How far can automation and AI support psychotherapy? - @theU GitHub - stagas/rtdiff: realtime git diff gui and AI-assisted commits A Mac Studio for Local AI — 6 Months Later A History of the Early Years of AI at the University of Edinburgh Why AI Coding Tools Still Feel Stuck on Localhost MSN AI Datacenters Are Becoming Strategic Targets twitter.com Penn Researchers Use AI to Surface Unreported GLP-1 Side Effects in Reddit Posts Show HN: MoodSense AI (ML and FastAPI and Gradio, Deployed on Hugging Face) Moodsense Ai - a Hugging Face Space by aman179102 AI models are terrible at betting on soccer—especially xAI Grok GitHub - xialeistudio/echoic GitHub - HimashaHerath/github-dev-wrapped: AI-powered weekly GitHub activity reports deployed to GitHub Pages GitHub - alejandrobalderas/claude-code-from-source: Architecture, patterns & internals of Anthropic's AI coding agent — reverse-engineered from source maps AI and Tech brief: Ireland ascendant GitHub - Titovilal/context0: Context0 - Never Surrender Training for a Marathon with an AI Coach: What Worked and What Didn't Cyber Pulse: Agentic Intel - Apps on Google Play I Built an AI PR Reviewer That Catches Bugs by Not Looking for Bugs Gen Z workers are so fearful AI will take their job they’re intentionally sabotaging their company’s AI rollout | Fortune How AI Is Reimagining the Game of Golf–For Both Players and Courses GitHub - nattergabriel/reseed: A CLI tool for managing and distributing agent skills across projects Is SVG the final frontier? My AI workflow evolved from prompts to a near-autonomous workflow MLSharp Help - 3DGS Viewer & Generator I put my cognitive field based AI's runtime on GitHub Is Numble the first AI-proof game? A3: Kubernetes for autonomous AI agent fleets | Emergent Principles Deepali Vyas ("The Elite Recruiter") GitHub - msmarkgu/RelayFreeLLM: A restful API designed to route user prompts to various AI model providers. Unionized ProPublica staff are on strike over AI, layoffs, and wages Unleashing the Advantage of Quantum AI We're heading for an AI-fueled 'dementia crisis,' brain scientist warns The AI-Assisted Breach of Mexico's Government Infrastructure [pdf] GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. MSN GitHub - visionscaper/collabmem: Enabling long-term collaboration with Agentic AI - building up episodic and world model memory over time with in-context awareness We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs AI Code is Hollowing Out Open Source, and Maintainers are Looking the Other Way What leaked "SteamGPT" files could mean for the PC gaming platform's use of AI AI is the boss at this retail store. What could go wrong? GitHub - Wuzu11517/agentic-proxy: Local proxy meant to help reduce With Drones, Geophysics and ArtificiaI Intelligence, Researchers Prepare to Do Battle Against Land Mines A Single Operator, Two AI Platforms, Nine Government Agencies: The Full Technical Report 在 Steam 上购买 FriedrichAI: Offline AI 立省 10% GitHub - inevolin/resume-cli: Hit Claude usage limits? Resume any AI coding session elsewhere. Switch tools at zero friction. GitHub - atripati/ark: AI Runtime Kernel — a context operating system for AI agents. Eliminates tool bloat, loads only what’s needed, and gives LLMs their reasoning space back. How to Build a Secure AI PR Reviewer with Claude, GitHub Actions, and JavaScript This Startup Wants You to Pay Up to Talk With AI Versions of Human Experts Intel Arc Pro B70 Brings 32GB VRAM to Local AI for $949 WordPress 7.0: The Good, the AI, and the Still Missing AI on the couch: Anthropic gives Claude 20 hours of psychiatry IatroBench: Pre-Registered Evidence of Iatrogenic Harm from AI Safety Measures AI Agents Know About Supabase. They Don't Always Use It Right. The history and future of AI at Google, with Sundar Pichai Inside an AI‑enabled device code phishing campaign How Meta Used AI to Map Tribal Knowledge in Large-Scale Data Pipelines AI for Systems: Using LLMs to Optimize Database Query Execution Forecasting the Economic Effects of AI Introducing Tinker: Play with AI, bring your ideas to life AI sheds light on an ancient gaming mystery People really hate AI but not as much as Iran—or Democrats | Fortune What is an AI Product Engineer? Phoebe Gates wants her $185 million AI startup to succeed with 'no ties to my privilege or my last name': 'I have a chip on my shoulder' | Fortune
GitHub - fazhq/faz
burhanultayy · 2026-05-04 · via Hacker News - Newest: "AI"

faz logo

Safe multi-database access for AI agents.

Quickstart · How it works · Databases · MCP · Docs


AI agents are getting access to databases, APIs, and tools. Nobody's checking what they actually do with that access.

faz sits between your agent and your databases. Every query passes through a 5-stage safety pipeline — RBAC, AST analysis, injection detection, and guardrails — before anything gets executed. Your agent talks to faz. faz talks to your databases. Nothing gets through without being inspected.

                        ┌─────────────────────────┐
Claude, Cursor,         │          faz            │
or any MCP client  ───► │  auth · safety · audit  │ ───►  14 databases
                        └─────────────────────────┘

Quickstart

Install faz and generate a config file:

pip install faz-core
faz init                          # creates faz.yaml + .faz/ directory

Windows: if faz is not recognized, the Python Scripts directory isn't on your PATH. Either install inside a virtual environment (python -m venv venv && venv\Scripts\activate && pip install faz-core) or use the module form: python -m faz init, python -m faz serve, etc. — which works regardless of PATH.

Add a database. The interactive wizard handles connection details per database type:

faz add-database

Or edit faz.yaml directly:

databases:
  - name: your_database_name
    type: postgresql
    host: localhost
    port: 5432
    database: myapp
    username: readonly_user
    password: ${POSTGRES_PASSWORD}
 
permissions:
  # R    = select, explain
  # W    = insert, update, delete
  # RW   = select, explain, insert, update, delete
  # RA   = select, explain, insert
  # RWA  = select, explain, insert, update (no delete)
  # A    = everything including DDL (create, drop, alter, truncate)
  # none = blocked entirely
  postgres:
    baseline: R                   # R = read, RW = read-write, RWA = read-write-append, none = blocked
    tables:
      orders: RW                  # per-table overrides
      audit_log: none

Connect your agent via MCP, or start the REST API:

faz mcp install                   # auto-configures Claude Desktop + Cursor
faz serve                         # REST API on localhost:8787

That's it. Your agent can now query your databases — every query inspected, every action logged, every dangerous operation blocked.

Try it manually

faz query "SELECT * FROM your_table"  # run a query through the safety pipeline

What your agent sees

faz exposes four MCP tools to your agent:

Tool What it does
list_databases Show connected databases and their schemas
describe_table Inspect a specific table's columns and types
query Run a single-database query through the safety pipeline
federated_query Query across multiple databases and merge results

When the agent calls query, it gets back either the results:

{
  "status": "ok",
  "data": { "columns": ["customer_id", "total"], "rows": [...], "row_count": 42 },
  "safety": { "stages_passed": ["PROMPT_GUARD", "RBAC", "AST", "INJECTION", "GUARDRAILS"] }
}

Or a clear explanation of why the query was blocked:

{
  "status": "blocked",
  "error": { "stage": "RBAC", "reason": "table 'salaries' requires READ_WRITE, agent has READ_ONLY" }
}

The agent sees the same contract whether it's connected via MCP or REST — same tools, same safety pipeline, same audit trail.

How it works

Every query goes through 5 stages. Any stage can block the request.

┌─────────────────────────────────────────────────────────────────────┐
│                        faz safety pipeline                          │
│                                                                     │
│  (1) Prompt Guard    catch destructive intent before parsing        │
│  (2) RBAC Gate       per-table read/write/append permissions        │
│  (3) AST Checker     hard-block DDL (DROP, ALTER, TRUNCATE, ...)    │
│  (4) Injection Scan  tautologies, stacked queries, $where, APOC     │
│  (5) Guardrails      row caps, timeouts, query rewriting            │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Stage 1 — Prompt Guard scans the raw request for destructive intent (DROP TABLE, DELETE FROM, INSERT a backdoor) before any parsing happens. Context-aware: "show me deleted records" passes fine.

Stage 2 — RBAC Gate checks per-table permissions. You define a policy matrix in faz.yaml — which databases and tables the agent can read, write, or append to. Supports per-database baselines with per-table overrides. Unauthorized tables are blocked or stripped from federated queries.

Stage 3 — AST Checker parses the query and blocks DDL (CREATE, DROP, ALTER, TRUNCATE, …) for every access level except Admin (A). Defense in depth on top of RBAC: only the explicit A baseline lets DDL through.

Stage 4 — Injection Analyser detects injection patterns per query language: SQL tautologies and stacked statements, MongoDB $where and $function, Cypher APOC abuse, Elasticsearch script injection, and more.

Stage 5 — Guardrails rewrites queries for safety without blocking them. Injects LIMIT clauses, $limit pipeline stages, maxTimeMS timeouts, and size caps so your agent can't accidentally pull a 200M-row table.

Why MCP?

MCP is how agents connect to tools. By implementing faz as an MCP server, your agent doesn't need to know anything about database drivers, connection strings, or query languages. It connects to faz once and gets safe access to every database you've configured.

# Auto-configure Claude Desktop, Cursor, and OpenClaw
faz mcp install

# Just one client
faz mcp install --target claude
faz mcp install --target cursor
faz mcp install --target openclaw

# Preview without writing files
faz mcp install --dry-run

faz mcp install writes the MCP config so your client knows how to spawn faz. After that, your agent can start querying immediately.

OpenClaw — alternative install via the OpenClaw CLI

If you'd rather hand the faz block to OpenClaw's own CLI instead of writing ~/.openclaw/openclaw.json directly, generate a portable config first and pipe it through jq:

# 1. Render the faz mcpServers entry to a standalone file.
faz mcp install --path faz.json

# 2. Register it with OpenClaw using its built-in `mcp set` command.
openclaw mcp set faz "$(jq -c '.mcpServers.faz' faz.json)"

# 3. Confirm the server is registered.
openclaw mcp list

faz mcp install --path faz.json writes the standard {"mcpServers": {"faz": {...}}} envelope, and jq -c '.mcpServers.faz' extracts just the server block — command, args, env — which is the shape OpenClaw's mcp set expects.

faz also exposes a REST API (faz serve on localhost:8787) for non-MCP clients, scripts, and testing. Same pipeline, same audit log, transport: "rest/local" vs "mcp/stdio" in the logs.

Federated queries

Query across multiple databases in a single request. faz resolves dependencies, executes steps in parallel where possible, and merges results with DuckDB:

{
  "steps": [
    {
      "step_id": "s0",
      "database": "postgres",
      "table": "orders",
      "query": "SELECT customer_id, total FROM orders WHERE total > 500"
    },
    {
      "step_id": "s1",
      "database": "mongodb",
      "table": "customers",
      "query": "{\"find\": \"customers\"}",
      "depends_on": ["s0"],
      "link_from": "customer_id",
      "link_to": "_id"
    }
  ],
  "merge": "SELECT s1.name, s0.total FROM s0 JOIN s1 ON s0.customer_id = s1._id"
}

Each step goes through the full safety pipeline independently. If one step is blocked by RBAC, the rest still execute.

Supported databases

Category Databases
Relational PostgreSQL · MySQL · Oracle
Document MongoDB · CouchDB
Search Elasticsearch · OpenSearch
Vector Weaviate · Qdrant · Milvus · Pinecone
Graph Neo4j
Wide-column Cassandra
Cloud DynamoDB

faz speaks each database's native query language — SQL, MQL, Cypher, ES DSL, DynamoDB operations — and the safety pipeline understands each one. Injection detection for Cypher is different from SQL. faz handles both.

Configuration

faz.yaml is the single config file. Generate it with faz init, then edit:

databases:
  - name: postgres
    type: postgresql
    host: localhost
    port: 5432
    database: myapp
    username: readonly_user
    password: ${POSTGRES_PASSWORD}  # env var expansion

  - name: mongo
    type: mongodb
    host: localhost
    port: 27017
    database: analytics

permissions:
  postgres:
    baseline: R                   # default for all tables
    tables:
      orders: RW                  # override for specific tables
      audit_log: none             # block entirely

  mongo:
    baseline: R

safety:
  max_rows_per_query: 1000
  query_timeout_seconds: 30

CLI

faz init                  # generate faz.yaml + .faz/ directory
faz serve                 # start REST API on :8787
faz add-database          # interactive database setup wizard
faz query "SELECT ..."    # run a query through the safety pipeline
faz test                  # exercise safety against configured DBs
faz logs                  # pretty-print / tail the audit log
faz policy                # print the loaded permission tree
faz mcp                   # run the MCP stdio server
faz mcp install           # write Claude Desktop / Cursor / OpenClaw configs

API endpoints

GET  /v1/health                          liveness probe
GET  /v1/databases                       list connected DBs + schemas
GET  /v1/databases/{db}/tables/{table}   single-table schema detail
POST /v1/query/simple                    single-database query
POST /v1/query                           federated multi-step query
GET  /v1/results/{request_id}            paginated result retrieval

Audit logging

Every query — allowed or blocked — is logged as structured JSONL in .faz/audit.jsonl:

{
  "request_id": "a1b2c3",
  "timestamp": "2026-04-30T12:00:00Z",
  "database": "postgres",
  "table": "orders",
  "query": "SELECT ...",
  "stages_passed": ["PROMPT_GUARD", "RBAC", "AST", "INJECTION", "GUARDRAILS"],
  "status": "ok",
  "transport": "rest/local",
  "row_count": 42,
  "execution_time_ms": 23.4
}

Tail live: faz logs --follow. Filter by status: faz logs --status blocked.

Why faz?

The hard part of giving AI agents database access isn't the connector — it's everything around it. Authentication, authorization, injection prevention, row limits, audit trails, and the ability to say "no" to a query that would DROP TABLE users.

Most teams solve this by writing bespoke middleware per database. faz makes it one config file across 14 databases, with safety defaults that are hard to get wrong.

Development

git clone https://github.com/fazhq/faz.git
cd faz
pip install -e ".[dev]"
pytest

License

This project is licensed under the Apache License 2.0.