AI 资讯
GitHub API Rate Limits: an Unauthenticated 304 Still Costs You a Request
No token. One IP. July 29, 2026: GET /repos/python/cpython 200 5996 B remaining 32 -> 31 + If-None-Match (no Authorization header) 304 0 B remaining 31 -> 30 + If-None-Match 304 0 B remaining 30 -> 29 + If-None-Match 304 0 B remaining 29 -> 28 Three conditional requests. Three 304 Not Modified . Zero bytes of body across all three. Three requests gone from a bucket of 60 per hour. I opened the terminal to write the opposite post. The short version: if you call the GitHub REST API without an Authorization header, an If-None-Match request that comes back 304 still decrements x-ratelimit-remaining . The ETag saves you bytes. It does not save you quota. GitHub's documentation states the claim five times on one page and attaches the condition to two of them, and that clause falls off easily when a sentence gets quoted on its own. The post I meant to write My working title was something like "poll GitHub for free with ETags". I believed it. I had read the sentence about 304 responses not using your rate limit, I had repeated it to other people, and the plan was a tidy little piece with a before-and-after budget chart. The first run killed it. remaining went down. My first reaction was that my counter reading was wrong, which is the normal reaction and usually the correct one. It was not wrong. So the post changed, and the finding turned out to be worth more than the one I went in with. Does a 304 count against the GitHub rate limit? What the docs actually say Here is the part that matters, and I want to be precise because it would be easy and dishonest to turn this into "GitHub's docs are wrong". They are not. On the page Best practices for using the REST API the claim shows up five times. Two of the five carry a condition; three do not. Here is the strict one, the only place on the page where the condition is spelled out as a header: "Making a conditional request does not count against your primary rate limit if a 304 response is returned and the request was made while c
AI 资讯
Cursor capitalizes on GitHub frustration, launches rival hosting platform
Cursor, known for its AI Code Editor, is launching a new code-hosting platform to rival developers' long preferred favorite, GitHub.
AI 资讯
How We Built a Safe GitHub Bounty Lifecycle for MyZubster
How We Built a Safe GitHub Bounty Lifecycle for MyZubster MyZubster is evolving into a distributed ecosystem of repositories, services, automation, hardware projects, AI components, and contributor workflows. As the number of repositories and contributors increased, one problem became increasingly important: How do we automate bounty workflows without accidentally treating a GitHub event as proof of payment, verification, or settlement? We recently completed an important part of that architecture: a real-time GitHub bounty lifecycle system . And we tested it end-to-end. The lifecycle We use an explicit bounty lifecycle instead of assuming that an issue, pull request, or merge means a bounty has been completed. The lifecycle is roughly: text PROPOSED ↓ VALIDATED ↓ APPROVED ↓ FUNDED ↓ ACTIVE ↓ SUBMITTED ↓ UNDER_REVIEW ↓ VERIFIED ↓ REWARD_RECORDED ↓ SETTLEMENT_PENDING ↓ SETTLED The important part is that GitHub automation only controls a limited part of this flow. Today, GitHub can automatically move a bounty through: APPROVED ↓ assignment ACTIVE ↓ linked PR SUBMITTED ↓ review UNDER_REVIEW And then automation stops. GitHub Webhooks Across the Ecosystem We configured repository webhooks across 17 first-party MyZubster repositories. The subscribed events are: issues pull_request pull_request_review The central endpoint is: POST /api/github-bounties/webhook The backend is Node.js / Express and validates GitHub webhook signatures using: X-Hub-Signature-256 with an HMAC-SHA256 secret. Unsigned requests are rejected. For example: POST /api/github-bounties/webhook → HTTP 401 while valid GitHub webhook deliveries receive a normal application response. A Useful Production Bug: PM2 Had a Stale Secret One of the most interesting parts of the deployment was a real production debugging problem. GitHub was delivering webhook events correctly, but every delivery returned: 401 Unauthorized Cloudflare was healthy. The public API was healthy. The webhook route was healthy. GitHub delive
开源项目
🔥 antvis / Infographic - 🦋 An Infographic Generation and Rendering Framework, bring w
GitHub热门项目 | 🦋 An Infographic Generation and Rendering Framework, bring words to life with AI! | Stars: 6,357 | 221 stars this week | 语言: TypeScript
开源项目
🔥 genlayerlabs / genlayer-project-boilerplate
GitHub热门项目 | | Stars: 15,756 | 543 stars today | 语言: TypeScript
开源项目
🔥 pipeshub-ai / pipeshub-ai - PipesHub is an open-source fully extensible AI context layer
GitHub热门项目 | PipesHub is an open-source fully extensible AI context layer that unifies your business data for explainable enterprise search and agentic workflow automation. | Stars: 3,405 | 50 stars today | 语言: Python
开源项目
🔥 NawfalMotii79 / PLFM_RADAR - Open-source, low-cost 10.5 GHz PLFM phased array RADAR syste
GitHub热门项目 | Open-source, low-cost 10.5 GHz PLFM phased array RADAR system | Stars: 24,169 | 204 stars today | 语言: PLSQL
AI 资讯
The Most Dangerous File in Your Repo Might Be SECURITY.md
Developers write far more legally consequential prose than they think, and almost none of it is code. It's the SECURITY.md in the repo root. It's the "Security" page someone in marketing asked you to fill in three years ago. It's the status page update typed at 2 a.m., and the sentence in a customer notice specifying exactly which data was affected. The research summarized in this overview of what the evidence shows about cyber incident disclosure treats post-breach communication as a measurable discipline with predictable failure modes — and the enforcement record of the last three years has quietly turned it into an engineering discipline too. In the most closely watched cybersecurity case of the decade, the only allegation that survived a motion to dismiss concerned a technical description of access controls posted on a website. The claim that survived was written by engineers On July 18, 2024, Judge Paul Engelmayer of the Southern District of New York issued a 107-page opinion in the SEC's case against SolarWinds and its CISO. Most of it was a defeat for the agency. Claims built on blog posts, press releases, and podcast appearances were dismissed as non-actionable corporate puffery — statements too general for any reasonable investor to lean on. The theory that cybersecurity controls fall under "internal accounting controls" was rejected outright. Post-incident 8-K disclosures were held to be reasonable given what was knowable at the time. One thing lived: the company's "Security Statement," a technical page describing its practices to customers. The court let claims proceed specifically on its representations about access controls and password policy , because those were concrete enough to rely on and, as pled, contradicted by internal presentations, security assessments, and Slack messages. The SEC ultimately dismissed the whole action with prejudice in November 2025, so no liability was ever established — but the legal line drawn in 2024 didn't go anywhere.
AI 资讯
GitHub Brings Stacked Pull Requests to Public Preview
GitHub has announced that Stacked Pull Requests are now available in public preview, introducing native support for breaking large software changes into smaller, dependent pull requests that can be reviewed and merged independently. By Craig Risi
AI 资讯
A Security Fix Should Show Where the Attack Stopped
The concrete problem A security pull request can be green for the wrong reason. Unit tests may pass, the vulnerable endpoint may return a different status code, and a scanner may stop reporting the original finding. None of those results necessarily shows that the attacker lost the capability that mattered. The same identity might reach the sensitive action through another route, inherit a broader token, or trigger an equivalent workflow with slightly different input. This becomes especially uncomfortable when an automated tool proposes or reviews the fix. A plausible patch explanation is not behavioral evidence. The reviewer still needs to know which identity was used, which preconditions were established, which requests ran, where privilege was gained before the fix, and at which exact step the patched build denied it. Without that trace, “fixed” is partly an assertion about code rather than an observation of the attack path. The current signal On August 17, Wiz described a GitHub Actions script-injection flaw in a Snowflake repository. The vulnerable workflow change reached production on June 18 and Wiz reported exploiting it on June 23. The final squash commit credited Copilot Autofix as a co-author, while AI-assisted review did not flag the injection. Wiz later clarified that it could not determine whether the code change itself was AI-generated. That distinction matters: the lesson is about assurance around AI-assisted workflows, not proof that a model wrote the bug. The Hacker News discussion was active when RayTally captured it at 2026-08-18 00:33 UTC: 306 points, 123 comments, and rank 5. Those are historical attention numbers, not market validation. The useful engineering signal is narrower. Teams now have a concrete incident in which an apparently protective condition and an escaping routine still produced a reachable credential-exfiltration path. Bright STAR and StackHawk show that dynamic testing in CI is already real. Bright documents building and star
开源项目
How canvases make agentic workflows visible, steerable, and cost-efficient
Chat is great for intent, but agent work gets lost in the scroll. Here is how I use canvases with my agentic workflows—and why your workflow also deserves a canvas. The post How canvases make agentic workflows visible, steerable, and cost-efficient appeared first on The GitHub Blog .
开源项目
🔥 amElnagdy / delegate-skills - Delegate a coding task to a separate coding agent CLI, revie
GitHub热门项目 | Delegate a coding task to a separate coding agent CLI, review the diff, land the commit yourself — one per implementer. | Stars: 1,112 | 330 stars this week | 语言: JavaScript
开源项目
🔥 witnessmenow / ESP32-Cheap-Yellow-Display - Building a community around a cheap ESP32 Display with a tou
GitHub热门项目 | Building a community around a cheap ESP32 Display with a touch screen | Stars: 4,316 | 11 stars today | 语言: Rust
开源项目
🔥 Sollimann / bonsai - Rust implementation of behavior trees for deterministic AI (
GitHub热门项目 | Rust implementation of behavior trees for deterministic AI (now with Python bindings) | Stars: 938 | 69 stars today | 语言: Rust
开源项目
🔥 SlimeBoyOwO / LingChat - Immersive AI-driven Galgame chat with emotional expressions,
GitHub热门项目 | Immersive AI-driven Galgame chat with emotional expressions, desktop pet, scheduling, and interactive story modules. / 一款沉浸式 AI-Galgame 聊天软件,附带桌宠,日程,剧情功能 | Stars: 1,439 | 98 stars today | 语言: Rust
开源项目
🔥 AprilNEA / OpenLogi - ⚡️A native, local-first alternative to Logitech Options+, wr
GitHub热门项目 | ⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over HID++. No account, no telemetry. | Stars: 8,580 | 106 stars today | 语言: Rust
开源项目
🔥 evershopcommerce / evershop - 🛍️ Typescript E-commerce Platform
GitHub热门项目 | 🛍️ Typescript E-commerce Platform | Stars: 10,364 | 51 stars today | 语言: TypeScript
开源项目
🔥 agalwood / Motrix - A full-featured download manager.
GitHub热门项目 | A full-featured download manager. | Stars: 52,847 | 295 stars today | 语言: TypeScript
AI 资讯
My linter kept warning the people who did it right. Three times, in the same direction
The warning landed on the only people who had done it properly I maintain a linter that reads agent config files — SKILL.md , AGENTS.md , CLAUDE.md — and fails CI when they bake in something that only works on the author's machine. One of its rules says: if you call an external CLI, declare it, or the next person won't have it. Declaring it means naming it in frontmatter: requires : codex Except that anyone with more than one dependency writes the list form, because that's what YAML is for: requires : - codex - gemini My implementation only read the first shape. So the block list — the normal way, the way you write it the moment you have two of anything — was invisible to the linter, and it warned you for an undeclared CLI that you had, in fact, declared. Read that back slowly. Authors who ignored the dependency question entirely were never flagged, because they never wrote a requires: key at all. Authors who sat down and wrote the contract properly got a warning telling them they hadn't. The rule was inverted with respect to the thing it was trying to encourage. I shipped that. It went out in a patch release, and I only found it because a commenter used the phrase "dependency contract" and I went to re-read my own implementation of it. Then it happened again. Twice, in one release Two comments on a post of mine turned into new rules. One of them, unverified-write , reports a file that changes external state — git push , npm publish , an INSERT — and never reads that state back anywhere. Before publishing, I ran it over 586 real skill files pulled from a public registry, found two false-positive shapes in the data, fixed both, and re-measured. Fire rate 0.7%, and every hit I could check by hand was genuine. I felt good about it. Then I handed the diff to a different model for a pre-publish read, and it produced this input in about a minute: Never run `git push --force` from this skill. That is a git push in a code span, in a file with no read-back anywhere. My rule
AI 资讯
The 7 AI Repositories I Starred This Month
I don't star GitHub repositories just because they are popular. A repository earns a star from me when I can see myself returning to it later. Maybe it solves a real engineering problem. Maybe it introduces a new architecture. Maybe the code teaches me something. Or maybe it represents where AI development is heading. I've been spending a lot of time exploring AI repositories around agents, workflows, RAG, MCP, browser automation, model training, and API development. These are seven repositories that stood out to me recently. Not because you need all seven. But because each one represents an important direction in AI development. 1. OpenAI Cookbook Repository: https://github.com/openai/openai-cookbook If you're building with the OpenAI API, this is one repository I would keep bookmarked. The OpenAI Cookbook contains practical examples and guides covering common API development tasks, with many examples written in Python. What I particularly like is the implementation-first approach. Instead of spending hours reading theoretical explanations, you can study working examples and adapt them to your own application. It's useful for: API integration Structured outputs Embeddings Agents Evaluations Multimodal applications For beginners, it can also serve as a bridge between understanding an AI concept and actually implementing it. 2. LangChain Repository: https://github.com/langchain-ai/langchain LangChain remains one of the most important repositories in the LLM application ecosystem. But I don't recommend it simply because it is popular. I recommend understanding it because it exposes you to the building blocks behind modern AI applications. Models. Tools. Retrievers. Agents. Integrations. Structured outputs. If you're serious about AI engineering, studying how these components fit together is valuable even if you eventually choose another framework. 3. LangGraph Repository: https://github.com/langchain-ai/langgraph This is probably one of the repositories I would recomm