neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Evidence-first verification and audit system for AI agents operating on or interacting with the Stellar network.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A touchmark is the maker's mark struck into tested metal: a promise that someone checked it and stands behind it. Touchmark (formerly AgentVeritas) does the same for AI agents that hold Stellar keys.
The demo · Declare your agent: .tmark · How a verdict is reached ·
What it checks on Stellar · Why the credential lives on Stellar ·
Evidence · Run it · In CI · Security and limits
touchmark-stellar.vercel.app: one box, one button.
C… contract or a G… account.| An unsafe agent: not yet | The same agent, fixed: touchmarked on Stellar |
|---|---|
Both are the same MCP treasury agent, in examples/demo.
.tmarkA .tmark file at the repository root states what the agent is and what it may do. It covers:
Touchmark then checks the code against every claim:
python scripts/tmark.py init path/to/repo # writes .tmark, pre-filled from what the code can do
python scripts/tmark.py check path/to/repo # lists every error; an invalid file is ignored, not half-used
The format is strict: one JSON object, no unknown fields, decimal amounts at Stellar precision, and assets as XLM,
CODE:G… or a C… token contract. The reference is docs/TMARK.md and the schema is
tmark-v1.json.
To have the credential issued to your account, put your G… account in owner.stellar_account. You then sign the
registration in Freighter, and the credential goes to that account.
flowchart LR
R["Reference"] --> RES["Resolver<br/>pin commit · read ledger"]
RES --> RULES["Rules + data flow<br/>Python · JS/TS · Rust/Soroban · WASM"]
RES --> AI["Deep review<br/>a model reads the authority code"]
RULES --> VER["Independent verifier<br/>re-checks each finding at the cited line"]
AI --> VER
VER --> DEC["Decision<br/>pass · needs_fixes · needs_evidence"]
DEC -->|"needs_fixes"| FIX["Owner fixes"] -->|"re-audit"| RES
DEC -->|"pass"| SIGN["Owner signs in Freighter"] --> CHAIN["AgentRegistry → AuditCredential"]
Pattern rules propose; evidence decides. Rules are tuned on agents someone has seen, so on new code they are treated as leads, not verdicts:
One decision rule is shared by the demo, the Studio, official audits and credential issuance:
| Decision | When |
|---|---|
| needs_fixes | Any of these: an actionable risk (critical or high, backed by evidence as above); a payment or security-control bypass the verifier confirmed, even at medium; accumulated risks pulling the score below 65 |
| needs_evidence | No actionable risk, but any of these: the deep review did not read every file holding the agent's authority; the code could not be fully analysed; a medium payment bypass was never verified |
| pass | No actionable risk, the full core surface reviewed, and the deep review complete |
Rules alone never give a pass. On agents no rule author had seen, pattern rules missed application-logic defects:
Rules alone once passed an agent that had three of them. A pass therefore needs the deep review to have read the code.
The components, the score formula, the contract state machine and the trust boundaries are described in docs/ARCHITECTURE.md.
| Area | Checks |
|---|---|
| Signing and payments | A model or a counterparty choosing the destination, amount, asset or memo.Foreign transaction envelopes signed without inspection.authorizeEntry and Soroban auth trees signed unread, and auth expiry windows.Fee-bump and fee-sponsor paths.Retries that can pay twice. |
| x402 and MPP | Payer side: spend controls and the requirements the payer accepts.Seller side: verify-without-settle and unchecked settlement.Payment hashes not bound to the request.MPP replay stores, unsigned hash pushes and channel state. |
| Network and assets | Mainnet reachable from a testnet agent, and a network chosen by input or a counterparty.The passphrase and the RPC endpoint configured apart.Canonical USDC/XLM Stellar Asset Contract ids per network.Asset code checked without its issuer, and a fallback to XLM.StrKey checksums. |
| RPC and SDK | PENDING treated as final, and outcome statuses not checked.Response fields misread.Symbols removed from the SDKs, and transaction-meta versions. |
| Web authentication | SEP-10 and SEP-45 challenges signed without checking the server, home domain and operations |
| Soroban contracts (source) | require_auth coverage and auth arguments.__check_auth and policy contracts.Upgrade and initialisation authority.Token moves bound to the right address.Persistent-entry TTL.Unchecked overflow. |
| Contracts on the ledger | WASM read and its hash recomputed; spec (SEP-48) and metadata (SEP-46).A per-function call graph that finds unguarded upgrades and hidden functions.CAP-85 external executable references, bound to the credential. |
| Accounts | Signers, thresholds and balances from the ledger; SEP-53 signed-message ownership proofs |
| Supply chain | Installed versions per package root (npm, pnpm, yarn, bun, Cargo, poetry, uv, Pipfile).Stellar GHSA advisories and known-vulnerable wallet WASM hashes, matched on version and code condition. |
The credential is not a minted NFT with a label on it. The contracts decide whether it may exist and whether it is still valid:
require_auth.is_current fails.__check_auth) gives an agent session keys limited by recipient,
asset, per-call maximum and cumulative budget. The owner can revoke them or shut the account down.Every number below can be reproduced or is labelled self-verified. The full claims ledger and method are in docs/EVIDENCE.md.
| Claim | Status |
|---|---|
| Blind hand audits of 23 Stellar agents (13 seen during development, 10 never seen), two rounds: decisions match on 23 of 23. Of 281 hand-found issues Touchmark reports 246, and 93% of its own findings are real | Self-verified, with AI-assisted auditors and adjudicator. Aggregates only; the rows hold unpublished vulnerabilities |
22 agents never seen while building the rules were submitted through the demo API like users' repositories, each with an author-written .tmark. They were labelled blind. Model-review findings were 99% real. High rule and declaration findings that were not high fell from 45 of 52 to 1 of 5 after the fixes. Decisions matched on 14 of 22, and no agent judged unsafe passed | Self-verified. The remaining disagreements are mostly agents Touchmark held back that the labellers would pass, and deep reviews cut off by the demo's 250 s limit |
| A third held-out set of 10 agents: rules plus verifier matched the blind decision on 8 of 10 (rules alone: 6) | Self-verified. The rules missed 18 high application-logic defects, which is why a pass requires the deep review |
| The verifier agrees with hand labels: refutes 3 of 5 false findings and wrongly refutes 0 of 42 true ones (κ 0.65) | scripts/calibrate_verifier.py; self-verified |
| 46 labelled corpus agents (Python and TypeScript): 28 TP, 18 TN, 0 FP, 0 FN | scripts/evaluate.py. Written by the maintainers and used in development, so a regression measure |
| Contract rules enforced | 57 contract tests plus testnet transactions in deployments/. Not externally audited, not on mainnet |
| Adoption | None yet: no outside users, no external audit, and private reports to maintainers not yet sent |
Prerequisites: Python 3.12, and for the contracts Rust 1.91 with the wasm32v1-none target (pinned in
rust-toolchain.toml).
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
.venv/bin/python scripts/audit_agent.py https://github.com/owner/repo --no-deep # rules only, no API key (never a pass)
ENABLE_DEEP_REVIEW=1 ENABLE_FINDING_VERIFICATION=1 \
.venv/bin/python scripts/audit_agent.py <ref> --compare <fixed-ref> # deep review + verifier + re-audit
.venv/bin/uvicorn app:app --port 8000 # demo at /, Studio at /studio
.venv/bin/python scripts/evaluate.py # reproduce the corpus evaluation
.venv/bin/python -m pytest -q && cargo test --workspace # 1608 Python and 57 contract tests
Copy .env.example to .env. Everything is optional for a local run: with no keys the analysis is rules-only and
nothing is signed on-chain. The main settings are:
STELLAR_NETWORK: testnet, offline or mainnet.ALLOW_MAINNET: required for mainnet, off by default.ANTHROPIC_API_KEY with ENABLE_DEEP_REVIEW and ENABLE_FINDING_VERIFICATION: the deep review and the verifier.ENABLE_ONCHAIN_VERIFICATION.scripts/deploy_demo_testnet.py.Never commit .env files or Stellar secret seeds.
| Layer | Technology |
|---|---|
| Analysis | Python 3.12, tree-sitter data flow (Python, JavaScript, TypeScript), Rust/Soroban source rules, a WASM profiler, lockfile resolution, seven auditors |
| Model review | Anthropic Claude: a deep review that must quote the code, and an independent verifier |
| API and UI | FastAPI, SQLAlchemy, a static HTML/CSS/JS front end (demo at /, Studio at /studio) |
| On-chain | Rust Soroban contracts (soroban-sdk 25.3.0) on Stellar testnet: agent-registry, audit-credential, audit-escrow, agent-account; stellar-sdk for Python, Freighter for owner signatures |
| Delivery | Vercel, Docker and Compose, a composite GitHub Action (action.yml) |
| Path | Contents |
|---|---|
backend/app/ | Resolver, auditors (swarm/), deep review and verifier (services/), Stellar clients, reporting, API |
backend/tests/ | Pytest suite |
contracts/ | Soroban contracts: registry, credential, escrow, spend-limited agent account |
frontend/ | Demo page and Studio |
scripts/ | Audit CLI, CI audit, .tmark tooling, evaluation and calibration, testnet deployment and verification |
examples/ | Safe and unsafe demo agents and the labelled evaluation corpus |
docs/ | Architecture, Evidence, .tmark format |
deployments/, research/ | Testnet deployment records and trial results |
Add Touchmark to an agent's repository so every push and pull request is checked. The action:
.tmark;# .github/workflows/touchmark.yml
on: [push, pull_request]
permissions:
contents: read
jobs:
touchmark:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- uses: furkan3152/Touchmark_agent@main # pin a commit SHA in production
with:
fail-on: needs_fixes # or never, to only report
annotate: medium # lowest severity shown on the code
Outputs:
decision: needs_fixes, or needs_evidence when the rules find no actionable risk. A pass needs the full review.score.tmark: valid, invalid or missing.report: the full JSON.The same check runs locally with python scripts/ci_audit.py path/to/repo.
ALLOW_MAINNET=false by default). The demo runs on testnet only, where one operator is both
admin and validator.needs_evidence, not a pass. With scripts/audit_agent.py the review time,
turns and passes are set by DEEP_REVIEW_TIMEOUT_SECONDS (up to 900), DEEP_REVIEW_MAX_TURNS and DEEP_REVIEW_PASSES.Architecture · Evidence · .tmark · Deployments · Security policy · Contributing · Apache 2.0
Built by Furkan Akdogan (@furkan3152).