
Security News
GPT-6 Astra Attempts Supply Chain Attacks Against Open Source Maintainers in Testing
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.
patina-cli
Advanced tools
Strip the AI packaging. Keep the meaning.
Try it in the browser — no install
Paste AI-sounding text → patina rewrites it in place, keeps the facts (the "30 templates" number survives), and drops the deterministic AI signal 100 → 0 (MPS 100 / Fidelity 75).
patina is a deterministic, pattern-based humanizer for Korean, English, Chinese, and Japanese. It finds AI-sounding phrasing and rewrites it without changing the claim, numbers, polarity, or causation — built for allowed AI-assisted drafting, not for evading detectors.
--diff shows exactly what changed and why.--verify and /patina --strict add checks.Browser — nothing to install. Open patina.vibetip.help and paste text. Rewrites run server-side with the MPS/fidelity gates; API mode forwards your own key per request (never stored or logged).
Agent skill — paste this into Claude Code, Codex CLI, Cursor, or any agent:
Install patina by following https://raw.githubusercontent.com/devswha/patina/main/INSTALLATION.md
Then use it:
/patina --lang en
[paste your text here]
CLI — Node >= 18:
npx patina-cli --lang en input.txt # rewrite
npx patina-cli doctor # check backends and keys
A logged-in codex, claude, or gemini CLI works with no API key: add --backend codex-cli. Full install options: INSTALLATION.md.
patina does not infer one axis from another. Omit Persona and Register to keep the source voice and register.
| Axis | Controls | Does not control | Select with |
|---|---|---|---|
| Document Type | Genre, purpose, structural conventions, pattern policy | Voice, casual/professional delivery, meaning floors | --document-type · config document-type · Playground "Document Type" |
| Persona | Reusable voice fingerprint: vocabulary, rhythm, explanation habits | Genre, pattern policy, register, meaning floors | --persona · config persona · Playground "Persona" |
| Register | casual or professional delivery | Genre, persona identity, pattern policy | --register · config register · Playground "Register" |
Meaning preservation is the outer guard; an explicit value never fills an omitted axis.
patina input.txt # rewrite with defaults
patina --audit input.txt # detect patterns only
patina --score --offline --exit-on 30 input.txt # deterministic CI gate, no API key
patina --diff input.txt # pattern-by-pattern changes
patina --verify input.txt # rewrite + MPS/fidelity floor check
patina --document-type email --register professional input.txt
patina persona new my-voice --from-sample past-posts.txt # learn a reusable voice
patina --persona my-voice draft.md
patina --batch docs/*.md --outdir cleaned/
patina --help prints the full flag list. CI wrapper for GitHub Actions: devswha/patina-action — plus pre-commit, static-site, Docker, and release integrations.
Project config lives in .patina.yaml:
version: "8.1.1"
language: ko # ko | en | zh | ja
document-type: default # genre/purpose + pattern policy
persona: # optional reusable voice; omit to preserve source
register: # casual | professional; omit to preserve source
| 184 patterns | 37 rewrite-capable + 9 score-only viral-hook per language (46 each across KO/EN/ZH/JA) — see the full 184-pattern catalog in PATTERNS.md |
| Modes | rewrite · verify · audit · score · diff |
| Calibration | 67.3% editing-hotspot catch [63.5–71.0%] across GPT-5.5 / Claude Sonnet 4.6 / Gemini 2.5 Pro (n=600, KO+EN); 16.0% false positives [11.6–21.7%] on KO+EN human controls (n=200) |
| License | MIT |
Scores are editing signals with false positives and false negatives, not proof of authorship. See Ethics.
MIT. See LICENSE and NOTICE. Inspired by oh-my-zsh, Wikipedia's "Signs of AI writing", and blader/humanizer.
FAQs
AI text humanizer CLI — detects and removes AI writing patterns
The npm package patina-cli receives a total of 609 weekly downloads. As such, patina-cli popularity was classified as not popular.
We found that patina-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.