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

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
L
LangChain Blog
B
Blog
阮一峰的网络日志
阮一峰的网络日志
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
D
Docker
WordPress大学
WordPress大学
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
有赞技术团队
有赞技术团队
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog
博客园 - Franky

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
GitHub ships a one-click self-revoke for users whose cred...
Leo · 2026-06-25 · via DEV Community

Leo

You forwarded the phishing email to the security channel about ninety seconds too late. The laptop is already cooperating with someone else. Your personal access token, the one you minted "just for that one script", is on its way to whatever Discord pays for stolen tokens this week. Now what?

For users on GitHub Enterprise, what was previously a clickthrough checklist you complete while your hands shake is now one button. On June 24 the GitHub Changelog announced a self-service credential revocation flow under Settings, Credentials. From that view a user can see counts of every credential they have generated or authorized through SSO, then revoke or delete all of them in a single action. Personal access tokens, SSH keys, OAuth tokens, SSO authorizations: gone together.

What actually shipped

Containment used to be a manual scavenger hunt. PATs sat under Developer Settings. SSH keys lived one tab over. OAuth apps you forgot you authorized two years ago hid behind a different submenu. SSO was its own world. In practice that meant during an incident you forgot something, and the something you forgot was the credential the attacker actually wanted.

The new view collapses that surface onto one screen. Counts on one side, a revoke-or-delete-everything action on the other. Whoever wrote it had clearly pictured the 3am screenshot: a user who has just been told to "rotate everything" and has no idea where "everything" lives.

GitHub frames this as a complement to an earlier enterprise-owner capability that lets admins with the "Manage enterprise credentials" permission bulk-revoke across one user or many. So there are now two pairs of hands on the kill switch: the user, and the org. (Whichever one notices first.)

Why a pipeline owner should care

Because users are the trust boundary you keep pretending is somebody else's problem. A leaked PAT in a CI pipeline is rarely a CI bug. It is a human who pasted the token into a script, then a laptop, then a sync folder, then a backup, then a public gist. The pipeline just happens to inherit the broadest scopes.

Containment time is the variable that matters here. If revocation is a support ticket, attackers have hours. If it is a self-service action behind 2FA, it is minutes. Every minute shaved off that window is a minute fewer for token replay against your build platform, your registry, your deploy keys.

The catch to put in your runbook

Revoke-everything is destructive by design. It is the user equivalent of kubectl delete ns prod. The button will, with one click, sign you out of integrations you forgot were load-bearing: CI runners using a PAT, that personal preview deploy, the Slack notifier on your team's repo, every IDE you ever authorized. Recovery is a separate and slower exercise.

That implies two habits to lock in before you bless this thing as a runbook step:

  1. Inventory the integrations that depend on a user-scoped credential. If your CI still runs as Alice's PAT, the day Alice presses the button is the day your deploys stop. Move user-scoped automation onto workload identity, OIDC-to-cloud, or a machine account before incident day.
  2. Write the post-revoke checklist. Which scoped tokens get re-minted, in what order, by whom. The whole point of break-glass is that you do not improvise after pulling it.

Where the wider ecosystem is going

The pattern is becoming industry-wide, with different ergonomics. Other forges already expose per-user token management with bulk revocation for personal access tokens, though SSH keys and OAuth grants often live on separate pages. Identity-provider-led shops increasingly push the kill switch up to the IdP: revoke the SSO session there and downstream tokens stop refreshing, which is cleaner in theory but assumes every credential is actually federated (most are not).

The interesting move on GitHub's side is not the destination. It is the surface. The platform is admitting that "rotate everything" is a real verb users perform under stress, then giving it a real button. Most platforms still treat token hygiene as documentation.

Kicker

A self-revoke button is not a security feature. It is an admission that the security feature was always going to be needed, and that asking the user to find it across four menus at 3am was the actual vulnerability. Ship the button. Then go find every PAT in your pipeline that should have been a workload identity six months ago.