Workspace IndexKnowledge Notes › A free AI auditor is a measurement problem — seed the bugs before you trust the findings

#72PoC2026-09-21chatdeep

A free AI auditor is a measurement problem — seed the bugs before you trust the findings

Pashov, a well-known Solidity audit lead, published an open-source security agent that installs as a Claude Code skill and runs with `/audit`. His post pitches it as installable in a minute, autonomous, available around the clock, backed by sub-agent helpers, and free to use with your own model; the project page says "findings in minutes, not weeks" and is built for Solidity devs who want a check before every commit, researchers hunting fast wins before a manual review, and anyone who wants an extra pair of eyes. It also states its own limit: not a substitute for a formal audit, but the check you should never skip.

Build a seeded-bug benchmark before adopting it as a gate. Take three of your own repositories, keep a clean copy, then inject a fixed catalogue of known bug classes one at a time — a missing access-control modifier, an unchecked return, a reentrancy path, a wrong-nonce authorization, a rounding direction that favours the caller. Run the skill on both copies. Score detection rate on the injected bugs and, more importantly, count findings on the clean copy, because those are false positives. The number that decides whether this becomes a pre-commit gate is not how many bugs it finds; it is how many it invents.

Why

The durable pattern is that an autonomous reviewer is only as useful as its false-positive rate, and no announcement can tell you that number for your code. "High-confidence" is the tool's own label for its output, not a measurement against ground truth. A reviewer that flags twenty issues per pull request is worse than no reviewer, because the team learns to skim, and the one real finding gets skimmed with the rest. Precision is the adoption blocker, not recall.

The second pattern is that free moved the cost rather than removing it. The skill is free, and you supply the model, so the invoice becomes a token bill that scales with how often you run it. "A security check before every commit" is the expensive sentence in the pitch. Before wiring it into a hook, price one run against a real repository and multiply by your commit rate, then decide whether the gate belongs on every commit, on pull requests only, or on a nightly schedule over the whole tree.

The third pattern is that sub-agent fan-out buys coverage and creates a ranking problem. Several helpers scanning different files in parallel see more than one reviewer can, but they do not share a conclusion. What comes back is a pile with duplicates, contradictions and no agreed severity, so the value is decided in the merge step. That is the same shape as any parallel-agent job, and it is where a thin wrapper and a serious tool differ.

The fourth point is what this does not overlap with. A code-level agent answers "what is wrong in these files". An authority matrix answers "who can do this action alone". A contract can be free of the first kind of finding and still let a backend owner move funds by design, which no pattern scan will call a bug. The two layers are complementary, and running one does not discharge the other.

How it works

What the announcement supports

ClaimSourceStatus
Installs as a Claude Code skill, invoked /auditthe demo terminal shows Skill(audit) loadingshown
Autonomous, with sub-agent helpersthe poststated, not demonstrated in the screenshot
Open source, free with your own modelthe poststated
Scans in-scope .sol files under a directorythe demo shows a default mode over nine filesshown
"Findings in minutes, not weeks"the project pagea speed claim, not an accuracy claim
Not a substitute for a formal auditthe project pagethe tool's own boundary, and the honest part

The benchmark to build

StepWhat you record
1. Freeze a clean baseline of three reposcommit hash per repo
2. Inject one known bug per variantbug class, file, line, expected finding
3. Run the skill on every variant and on the clean baselinewall time, model cost, findings
4. Scoredetected / missed on variants; findings on clean = false positives
5. Decide the gatepre-commit, pull request, or nightly — by cost and precision

The number that matters

precision = true findings / all findings

Recall tells you what it caught. Precision tells you whether anyone will keep reading its output after week two. Report both, per bug class, and keep the clean-baseline run in the report — a tool that is silent on clean code has earned the right to be believed when it speaks.

Where it lands in Jayverse

  • Auditor: two layers, one report. The authority matrix answers who can act alone; a code agent answers what is wrong in the files. Add a line to the report naming which question was asked, so a green matrix is never read as "the contracts are safe".
  • Auditor: adopt the claim-boundary habit from the source. "Not a substitute for a formal audit" is exactly the sentence this project writes about itself, and the matrix should carry an equally plain one about its own scope.
  • Token, DeFi and Rails: the seeded-bug benchmark is the deliverable. Three repos with injected bugs, scored for precision and recall, is reusable against any future scanner and is worth more than the verdict on this one tool.
  • Devnet and CI: price the gate before wiring it. One run against a real repo times the commit rate decides pre-commit versus nightly. A security check nobody can afford to run is not a gate.

Claim boundary

The post and project page support the install-as-skill mechanism, the /audit invocation, open-source availability, bring-your-own-model pricing, sub-agent helpers, and the tool's own statement that it does not replace a formal audit. They do not publish a detection rate, a false-positive rate, a benchmark, or a list of vulnerability classes covered. Treat "already finding vulnerabilities in smart contracts" as a report of use, not as a measured result, until the benchmark above says otherwise.

Sources: pashov (@pashov) on X, the pinned post announcing the open-source Solidity Auditor — read 2026-09-21 from jay's screenshot, which also shows the project page's summary and the demo terminal.

Key expressions

Words and phrases from this page worth keeping, with the Korean meaning and the sentence they come from.

Expression뜻 · 쓰이는 자리
an extra pair of eyes한 사람 더 봐 주는 것 · 리뷰를 부탁할 때. "anyone who wants an extra pair of eyes"
not a substitute for XX의 대체물은 아니다 · 도구의 한계를 정직하게 그을 때
a fast win빨리 얻는 성과 · "researchers looking for fast wins before a manual review"
in scope / out of scope검토 범위 안/밖 · 감사 대화의 첫 합의 사항
a false positive거짓 양성(문제가 없는데 문제라고 한 것) · 스캐너 평가의 핵심 숫자
precision / recall정밀도(맞힌 비율) / 재현율(찾아낸 비율) · 둘을 같이 보고한다
ground truth정답 데이터 · "a measurement against ground truth"
to seed a bug버그를 일부러 심다 · 벤치마크를 만들 때
a baseline기준선 · 비교 대상이 되는 깨끗한 상태
a gate통과 관문(막는 검사) · pre-commit gate, CI gate
to wire something into X~을 X에 연결해 넣다 · "before wiring it into a hook"
fan-out병렬로 퍼뜨려 실행하기 · 서브에이전트 여러 개를 동시에 돌릴 때
to triage우선순위를 분류하다 · 발견 더미를 정리할 때
to skim대충 훑다 · "the team learns to skim"
to discharge an obligation의무를 면하다 · "running one does not discharge the other"
a claim boundary주장의 경계 · 발표가 뒷받침하는 범위를 적어 두는 습관

← All Knowledge Notes · Workspace Index · Top ↑

무료 AI 감사기는 측정 문제다 — 결과를 믿기 전에 버그를 심어라

잘 알려진 Solidity 감사 리드인 Pashov가 오픈소스 보안 에이전트를 공개했습니다. Claude Code 스킬로 설치되고 `/audit`으로 실행됩니다. 게시글은 1분이면 설치되고, 자율적으로 돌고, 24시간 쓸 수 있으며, 서브에이전트 도우미를 두고, 자기 모델만 있으면 무료라고 말합니다. 프로젝트 페이지는 "findings in minutes, not weeks"를 내걸고, 커밋 전마다 점검하고 싶은 Solidity 개발자, 수동 리뷰 전에 빠른 성과를 노리는 연구자, 그리고 눈 하나를 더 두고 싶은 누구나를 대상으로 삼습니다. 스스로 한계도 적어 두었습니다. 정식 감사의 대체물은 아니지만 절대 건너뛰면 안 되는 점검이라고요.

게이트로 채택하기 전에 버그를 심은 벤치마크를 만드십시오. 내 저장소 셋을 골라 깨끗한 사본을 남기고, 알려진 버그 종류를 하나씩 주입합니다. 빠진 접근 제어 modifier, 확인하지 않은 반환값, 재진입 경로, 잘못된 nonce의 authorization, 호출자에게 유리한 반올림 방향. 두 사본 모두에 스킬을 돌립니다. 주입한 버그의 탐지율을 재고, 더 중요하게는 깨끗한 사본에서 나온 발견 수를 셉니다. 그것이 거짓 양성입니다. 이것을 커밋 전 게이트로 삼을지 가르는 숫자는 몇 개를 찾았는지가 아니라 몇 개를 지어냈는지입니다.

Why

오래가는 패턴은 자율 리뷰어의 쓸모가 거짓 양성 비율에 묶여 있고, 그 숫자는 어떤 발표도 내 코드에 대해 알려주지 않는다는 것입니다. "high-confidence"는 도구가 제 출력에 붙인 이름표이지 정답과 대조한 측정값이 아닙니다. PR마다 스무 건을 띄우는 리뷰어는 없느니만 못합니다. 팀이 대충 훑는 법을 배우고, 진짜 하나가 나머지와 함께 훑여 지나가기 때문입니다. 채택을 막는 것은 recall이 아니라 precision입니다.

두 번째 패턴은 무료가 비용을 없앤 것이 아니라 옮겼다는 것입니다. 스킬은 무료이고 모델은 내가 대므로, 청구서가 실행 횟수에 비례하는 토큰 요금으로 바뀝니다. "커밋 전마다 보안 점검"이 이 홍보에서 가장 비싼 문장입니다. 훅에 걸기 전에 실제 저장소로 한 번 돌려 값을 매기고 커밋 빈도를 곱한 다음, 그 게이트가 커밋마다인지 PR에만인지 밤마다 전체 트리인지 정하십시오.

세 번째 패턴은 서브에이전트 팬아웃이 커버리지를 사는 대신 순위 문제를 만든다는 것입니다. 여러 도우미가 서로 다른 파일을 병렬로 훑으면 한 명보다 많이 보지만, 결론을 공유하지는 않습니다. 돌아오는 것은 중복과 모순이 섞이고 합의된 심각도가 없는 더미이고, 그래서 가치는 병합 단계에서 결정됩니다. 모든 병렬 에이전트 작업과 같은 모양이며, 얇은 껍데기와 진지한 도구가 갈리는 지점입니다.

네 번째는 이것이 무엇과 겹치지 않는가입니다. 코드 수준 에이전트는 "이 파일들에서 무엇이 잘못됐나"에 답합니다. 권한 매트릭스는 "이 행동을 누가 혼자 할 수 있나"에 답합니다. 어떤 컨트랙트는 첫 번째 종류의 발견이 하나도 없으면서도 설계상 백엔드 소유자가 자금을 옮길 수 있고, 어떤 패턴 스캔도 그것을 버그라 부르지 않습니다. 두 층은 상호 보완이며, 하나를 돌렸다고 다른 하나가 면제되지 않습니다.

How it works

발표가 뒷받침하는 것

주장근거상태
Claude Code 스킬로 설치, /audit로 호출데모 터미널의 Skill(audit) 로딩보임
자율 실행, 서브에이전트 도우미게시글진술, 스크린샷으로는 미증명
오픈소스, 자기 모델이면 무료게시글진술
디렉터리 아래 in-scope .sol 스캔데모의 기본 모드, 파일 9개보임
"findings in minutes, not weeks"프로젝트 페이지속도 주장이지 정확도 주장이 아님
정식 감사의 대체물이 아님프로젝트 페이지도구 스스로 그은 경계, 그리고 정직한 부분

만들 벤치마크

단계기록할 것
1. 저장소 셋의 깨끗한 기준선 고정저장소별 커밋 해시
2. 변형마다 알려진 버그 하나 주입버그 종류, 파일, 줄, 기대 발견
3. 모든 변형과 깨끗한 기준선에 스킬 실행소요 시간, 모델 비용, 발견 목록
4. 채점변형의 탐지/누락, 깨끗한 쪽의 발견 = 거짓 양성
5. 게이트 결정커밋 전 / PR / 야간 — 비용과 precision으로

중요한 숫자

precision = 진짜 발견 / 전체 발견

recall은 무엇을 잡았는지 말해 줍니다. precision은 2주 뒤에도 사람들이 그 출력을 계속 읽을지를 말해 줍니다. 버그 종류별로 둘 다 보고하고, 깨끗한 기준선 실행 결과를 보고서에 남기십시오. 깨끗한 코드에서 조용한 도구는 입을 열었을 때 믿어 줄 자격을 얻은 것입니다.

Jayverse에서의 위치

  • Auditor: 두 층, 한 보고서. 권한 매트릭스는 누가 혼자 행동할 수 있는지에, 코드 에이전트는 파일에서 무엇이 잘못됐는지에 답한다. 어떤 질문을 했는지 보고서에 한 줄로 적어, 초록색 매트릭스가 "컨트랙트가 안전하다"로 읽히지 않게 한다.
  • Auditor: 출처의 주장 경계 습관을 가져온다. "정식 감사의 대체물이 아니다"는 이 프로젝트가 스스로에 대해 쓴 바로 그 문장이고, 매트릭스도 제 범위에 대해 그만큼 분명한 문장을 달아야 한다.
  • Token, DeFi, Rails: 버그 심은 벤치마크가 산출물. 버그를 주입한 저장소 셋을 precision과 recall로 채점한 것은 앞으로 어떤 스캐너에도 재사용되며, 이 도구 하나에 대한 평결보다 값지다.
  • Devnet과 CI: 게이트를 걸기 전에 값을 매긴다. 실제 저장소 1회 실행 비용 × 커밋 빈도가 커밋 전이냐 야간이냐를 정한다. 아무도 감당 못 할 보안 점검은 게이트가 아니다.

주장 경계

게시글과 프로젝트 페이지는 스킬 설치 방식, /audit 호출, 오픈소스 공개, 자기 모델 사용 과금, 서브에이전트 도우미, 그리고 정식 감사를 대체하지 않는다는 스스로의 진술을 뒷받침합니다. 탐지율, 거짓 양성 비율, 벤치마크, 다루는 취약점 종류 목록은 공개하지 않습니다. "이미 스마트 컨트랙트에서 취약점을 찾고 있다"는 사용 보고로 취급하고, 위 벤치마크가 달리 말하기 전까지 측정된 결과로 취급하지 마십시오.

출처: pashov(@pashov)의 X 고정 게시글, 오픈소스 Solidity Auditor 공개 — 2026-09-21 jay의 스크린샷으로 읽음. 스크린샷에는 프로젝트 페이지 요약과 데모 터미널도 함께 보입니다.

핵심 표현

이 페이지의 영어 본문에서 배울 만한 단어와 표현, 뜻과 나온 자리.

Expression뜻 · 쓰이는 자리
an extra pair of eyes한 사람 더 봐 주는 것 · 리뷰를 부탁할 때. "anyone who wants an extra pair of eyes"
not a substitute for XX의 대체물은 아니다 · 도구의 한계를 정직하게 그을 때
a fast win빨리 얻는 성과 · "researchers looking for fast wins before a manual review"
in scope / out of scope검토 범위 안/밖 · 감사 대화의 첫 합의 사항
a false positive거짓 양성(문제가 없는데 문제라고 한 것) · 스캐너 평가의 핵심 숫자
precision / recall정밀도(맞힌 비율) / 재현율(찾아낸 비율) · 둘을 같이 보고한다
ground truth정답 데이터 · "a measurement against ground truth"
to seed a bug버그를 일부러 심다 · 벤치마크를 만들 때
a baseline기준선 · 비교 대상이 되는 깨끗한 상태
a gate통과 관문(막는 검사) · pre-commit gate, CI gate
to wire something into X~을 X에 연결해 넣다 · "before wiring it into a hook"
fan-out병렬로 퍼뜨려 실행하기 · 서브에이전트 여러 개를 동시에 돌릴 때
to triage우선순위를 분류하다 · 발견 더미를 정리할 때
to skim대충 훑다 · "the team learns to skim"
to discharge an obligation의무를 면하다 · "running one does not discharge the other"
a claim boundary주장의 경계 · 발표가 뒷받침하는 범위를 적어 두는 습관

← 전체 기술 노트 · 워크스페이스 인덱스 · 맨 위 ↑