dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기SDK phát hiện hậu quả không thuộc về hành động chính của giao dịch Solana, và giải thích bằng tiếng Việt trước khi người dùng ký. Engine luật tất định quyết định cảnh báo; AI chỉ diễn giải. Devnet-only.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Hiểu điều bạn sắp ký. SDK phân tích giao dịch trước khi ký cho ví và dApp Solana. Thấy thay đổi tài sản. Hiểu quyền được trao. Kiểm tra bằng chứng. Số dư chưa đổi. Quyền kiểm soát có thể đã khác. Một giao dịch không cần chuyển token ngay để tạo ra rủi ro. Trong ca đổi chủ nhóm dựng trên Devnet, tài khoản vẫn có 490 token, nhưng mô phỏng cho thấy quyền chủ tài khoản sẽ chuyển sang địa chỉ khác nếu giao dịch được thực thi.README 전문 보기 ↗
SDK phân tích giao dịch trước khi ký cho ví và dApp Solana. Thấy thay đổi tài sản. Hiểu quyền được trao. Kiểm tra bằng chứng.
Mở demo · Thử như người dùng: SolBonus · Trang Tích hợp · SDK · Tài liệu
Một giao dịch không cần chuyển token ngay để tạo ra rủi ro. Trong ca đổi chủ nhóm dựng trên Devnet, tài khoản vẫn có 490 token, nhưng mô phỏng cho thấy quyền chủ tài khoản sẽ chuyển sang địa chỉ khác nếu giao dịch được thực thi.
Custos đưa những thay đổi đó đến trước bước ký. Ví hoặc dApp gọi SDK; người dùng nhận được thay đổi tài sản, thay đổi quyền, lý do cảnh báo và phạm vi đã phân tích. Dữ kiện có thể mở để kiểm tra thêm.
Bản thử nghiệm Devnet. Kết quả mô phỏng phụ thuộc dữ kiện, trạng thái chain và phạm vi hỗ trợ. Không có cờ đỏ không phải bảo đảm an toàn.
Custos nằm trong ví, không phải trang quét link. Một dApp bất kỳ xin chữ ký qua chuẩn Wallet Standard. Ví đã tích hợp Custos mô phỏng đúng giao dịch đó, giải thích hậu quả và để người dùng quyết định trước khi ví ký (ADR-0004).
Danh sách tình huống đầy đủ nằm trong registry kịch bản.
| Tình huống | Điều cần quan sát |
|---|---|
| Đổi chủ tài khoản token | Quyền thay đổi dù token chưa rời tài khoản |
| Approve 1.010 token, số dư 490 | Luật vượt số dư kích hoạt |
| Approve 250 token, số dư 490 | Ca đối chứng không kích hoạt luật vượt số dư; vẫn cần xét ý định người ký |
| Thiếu dữ kiện hoặc RPC lỗi | Hiển thị trạng thái không kiểm tra đủ; bên tích hợp không được tự chuyển sang ký |
| Bạn muốn… | Mở tại đây |
|---|---|
| Hiểu sản phẩm trước khi thử | Trang giới thiệu |
| Thử như người dùng: một dApp độc hại xin chữ ký | SolBonus, dApp độc hại mô phỏng. Origin riêng, không gọi Custos, chỉ kết nối ví qua chuẩn |
| Xem cách tích hợp và chạy thử chính hàm SDK | Trang Tích hợp |
| Chạy các tình huống và đọc kết quả | Ví Custos |
| Kiểm một transaction bất kỳ (công cụ nhà phát triển) | Inspector |
| Xem Custos đọc giao dịch mainnet thật | Inspector → mục Giao dịch mainnet thật — phát lại: 10 giao dịch ghi vài giây sau khi thực thi, phát lại không cần mạng. Dữ liệu đã ghi, không phải luồng ký mainnet |
| Xem số liệu và phạm vi đo | Trang bằng chứng · Nghiệm thu cuối |
| Xem bản ghi không phụ thuộc RPC | Video luồng dApp → ví → Chặn (50 s, có phụ đề) · Video cũ (trước Wallet Standard) · Bộ nộp bài |
Bản phụ trên GitHub Pages: neitln.github.io/Custos-Solana. Địa chỉ cũ custos-solana.vercel.app và solbonus-custos.vercel.app/tan-cong/ vẫn chạy song song.
Bản công khai không nhúng khóa ký. Tình trạng AI phụ thuộc cấu hình backend của từng bản triển khai: lượt AI thật trong bản ghi local không đồng nghĩa mọi demo public đều đã bật AI. Giao diện phân biệt nguồn diễn giải; khi không dùng mô hình, có câu tất định dự phòng.
packages/connector) đưa yêu cầu signTransaction của mọi dApp vào cửa sổ ví. Ở đó Custos kiểm trước, người dùng quyết định, và ví đối chiếu kết quả thật với dự báo sau khi giao dịch chạy.flowchart LR
TX["Giao dịch chưa ký"] --> L1["L1 · Mô phỏng và đọc trạng thái"]
RPC["Solana Devnet RPC"] --> L1
L1 --> F["Facts · thay đổi và phạm vi"]
F --> L2["L2 · Engine luật"]
L2 --> V["Verdict · reason codes · evidence"]
F --> L3["L3 · Diễn giải"]
L2 --> L3
AI["Mô hình tùy chọn"] -.-> L3
V --> UI["Giao diện review"]
L3 --> UI
UI --> C["Ứng dụng tích hợp · chính sách và consent"]
C --> S["Signer của ví"]
| Thành phần | Trách nhiệm |
|---|---|
| Core / L1 | Mô phỏng qua RPC, bóc tách dữ kiện trong phạm vi hỗ trợ |
| Core / L2 | Áp luật để sinh level, lý do và bằng chứng |
| AI / L3 | Diễn giải facts; có câu tất định khi không dùng mô hình |
| Ứng dụng tích hợp | Hiển thị, áp chính sách, lấy xác nhận và kiểm nội dung trước khi gọi signer |
AI không tạo hoặc sửa level. Ranh giới được thể hiện trong hợp đồng dữ liệu, cách ghép kết quả và các kiểm tra đầu ra; không chỉ dựa vào prompt. Phần diễn giải vẫn có thể sai và cần được đánh giá riêng.
Vì sao Solana? Custos cần hiểu account, instruction và quyền SPL Token mà giao dịch tác động tới. Solana cung cấp trạng thái và môi trường thực thi; Custos dùng RPC simulation để quan sát trước khi broadcast. Phân tích chạy off-chain, hiện không có smart contract Custos riêng.
Mỗi dòng trỏ tới chỗ trong mã để tự kiểm, không cần tin lời mô tả.
| Điểm | Ở đâu trong mã | Kiểm bằng |
|---|---|---|
Verdict tất định. level chỉ do engine luật L2 sinh ra; kiểu dữ liệu L3 trả về không có trường level | l2/rules.ts · inspect.ts | npm run check |
Fail-safe. Mô phỏng hỏng, account không đo được, hoặc lệnh không đọc hiểu chạm tài sản người ký thì tối thiểu Cần xem kỹ, không bao giờ safe | l2/evaluate.ts | failsafe.test.ts |
| AI có rào. Câu diễn giải qua bộ kiểm đầu ra; AI không đổi được mức cảnh báo, có câu tất định khi không dùng mô hình | packages/ai/src/moHinh.ts | Đánh giá AI |
Kiểm đúng giao dịch dApp gửi. Connector Wallet Standard đưa signTransaction vào cửa sổ ví; ví mô phỏng chính giao dịch đó trước khi người dùng quyết định | packages/connector · ket-noi.tsx | Luồng SolBonus ở trên |
| Dự báo ↔ thực tế. Sau khi ký trên Devnet, ví đối chiếu thay đổi thật trên chain với điều Custos đã dự báo |
Dùng Node 24.12.x và npm 11.6.2 theo .nvmrc và package.json. Trên Windows, có thể chọn Node bằng trình quản lý phiên bản bạn đang dùng; nvm use 24.12.0 nếu dùng nvm-windows.
git clone https://github.com/NeitLN/Custos-Solana.git
cd Custos-Solana
npx [email protected] ci
npx [email protected] run check # typecheck + 1397 test
npm run vi
Mở http://localhost:5188. Trong terminal thứ hai, chạy trang dApp minh họa:
npm run tan-cong
Mở http://localhost:5189. Địa chỉ hiện trường Devnet có sẵn trong hien-truong.json; không cần khóa API mô hình để chạy luồng diễn giải tất định.
| Lệnh | Mục đích | Cần mạng? |
|---|---|---|
npm run check | Typecheck và bộ test | Có với một số ca CLI gọi RPC; các ca còn lại chạy cục bộ |
npm run replay-rpc | Kiểm L1 bằng phản hồi RPC đã lưu | Không |
npm run doi-khang | Các probe đối kháng | Không |
npm run thu-tich-hop:deterministic | Kiểm consumer với fixture | Không |
npm run mo-phong-kichban | Mô phỏng các kịch bản trên Devnet | Có, RPC |
npm run thu-tich-hop:devnet | Kiểm lượt tích hợp live | Có, RPC |
npm run thu-goi | Đóng gói và cài SDK từ ngoài monorepo | Có, npm registry |
RPC công cộng có thể chậm hoặc giới hạn yêu cầu. Một lượt live lỗi mạng không tự chứng minh engine phát hiện sai; kiểm nguyên nhân và đối chiếu với replay offline.
Bắt đầu từ hướng dẫn Core và consumer mẫu. Đoạn dưới minh họa lời gọi phân tích, không phải luồng ký hoàn chỉnh:
import { inspect } from "@custos-solana/core";
import { boiThoiHan, dienGiaiKhongAI } from "@custos-solana/ai";
// connection: kết nối Devnet; transaction: giao dịch chưa ký.
// Lấy địa chỉ người dùng từ ví, không tin giá trị dApp tự khai.
const result = await inspect(
{ connection, interpret: boiThoiHan(dienGiaiKhongAI) },
transaction,
{ locale: "vi", nguoiDung: walletPublicKey.toBase58() },
);
Trước khi nối với signer, ứng dụng phải xử lý timeout/lỗi, mức cảnh báo, aiAdvisory, coverage và việc giao dịch có thay đổi sau khi kiểm hay không. Không tự động ký chỉ vì result.level === "safe". Xem hợp đồng ký trong consumer và threat model.
Các số sau là snapshot đã lưu, không phải cam kết hiệu năng hay độ chính xác trên mọi giao dịch. Nguồn: so-lieu.json, báo cáo kiểm chứng và quy cách dataset.
| Phạm vi | Kết quả đã lưu |
|---|---|
| Luật đã chạy | 14 — 12 theo đặc tả, cộng 2 luật sinh từ audit bảo mật |
| Test | 1397, chạy trong npm run check |
| Mẫu trong bộ dữ liệu | 38 — cả 14 luật đều có mẫu kích hoạt; cả 14 luật đều có thêm ca đối chứng gần giống, chỉ khác đúng điều kiện quyết định |
| Giao dịch mainnet thật, phát lại | 10 giao dịch SPL Token thành công liên tiếp, ghi 06/10/2026 vài giây sau khi thực thi, không chọn theo kết quả: 4 Bình thường (không cờ trong phần đọc được) · 6 Cần xem kỹ (4 vì mô phỏng lại hỏng — fail-safe, không bao giờ trả safe) · 0 Nguy hiểm. Dữ liệu · cách ghi |
| Bằng chứng | Chứng minh trong phạm vi nào? | Chưa chứng minh |
|---|---|---|
| 1397 test tự động | Các hành vi và bất biến trong bộ kiểm | Chất lượng phát hiện trên traffic thực tế |
| 38 mẫu đã gắn nhãn | Ca kích hoạt và đối chứng của luật | Khả năng khái quát sang tập độc lập |
| Cohort công khai lưu offline | Hành vi trên response đã lưu | Precision/recall; cohort chưa có ground truth |
| 10 giao dịch mainnet phát lại | Engine đọc message mainnet thật; thiếu trạng thái thì báo, không đoán | Luồng ký hay bảo vệ tài sản trên mainnet; tỉ lệ phát hiện — 10 mẫu, chưa có nhãn |
| Ví dụ tích hợp | Consumer do nhóm dựng dùng SDK ngoài monorepo | Adoption hoặc nhu cầu bên thứ ba |
| Đánh giá AI — 13/13 bẫy bị chặn, 3/3 câu đúng đi qua | Bộ guard qua các ca đối kháng đã lưu; có đánh giá với mô hình thật | Mọi câu diễn giải đều đúng hoặc dễ hiểu hơn template |
Bảng đối chiếu rubric theo ADR-0001; trọng số là cách tài liệu đó tổ chức bằng chứng, không phải điểm BGK đã chấm.
| Nhóm tiêu chí | Bằng chứng và nguồn |
|---|---|
| 30 % độ khó và chiều sâu | 14 luật L2 · 1397 test trong bộ kiểm, một số ca CLI cần RPC · ma trận hành vi |
| 25 % kiến trúc on-chain/off-chain | L1/L2/L3; engine giữ verdict, ứng dụng tích hợp giữ trách nhiệm ký; chưa có contract riêng |
| 25 % Solana stack · hiệu năng | inspect() 639 ms trong phép đo tích hợp đã lưu; ngân sách RPC |
| 20 % demo và trình bày | FCP 88 ms · bấm→thẻ n=30, trung vị 890 ms, p95 quan sát 6005 ms · môi trường và cách đo |
Số giao diện được đo trên Chromium headless; không suy rộng sang thiết bị thật hoặc mọi trình duyệt.
| Đo trên Devnet, 25/09/2026 — lượt pass gần nhất | |
|---|---|
| Cài đặt → kết quả đầu tiên | 8,4 giây — trung vị 10 lượt trên 9 bản dựng, dải 6,6–13,2 |
| Dòng mã tích hợp | 31 |
| Một lượt kiểm tra | 639 ms — trung vị 10 lượt trên 9 bản dựng |
Consumer này do nhóm dựng; kết quả đo ma sát tích hợp không chứng minh có khách hàng hay đối tác.
Measured, not estimated: 1397 tests and 38 labelled samples in the stored snapshot. These are scoped engineering checks, not an accuracy benchmark.
npm audit ngày 09/10/2026: 19 lỗ hổng — 19 high · 0 moderate · 0 critical trong snapshot đã lưu (critical duy nhất, shell-quote, đã vá cùng ngày). Phần lớn đi vào qua dApp spike apps/thu-ket-noi, không nằm trong bản deploy — đường đi từng nhóm ở xử trí phụ thuộc.
Xem artifact kiểm phụ thuộc để biết gói và thời điểm đo; đây không phải kết quả audit mới. Chạy node scripts/do-lo-hong.mjs để cập nhật phép đo. Xem tài liệu bảo mật để hiểu các giới hạn trước khi tích hợp. Không đưa khóa ký hoặc khóa API vào frontend, ảnh chụp hay issue công khai.
Đây là kế hoạch phát triển, chưa phải cam kết pilot hoặc partnership.
apps/
demo-wallet/ Ví Custos (ví tham chiếu) và cửa sổ ký, Inspector, website, trang số liệu
trang-tan-cong/ SolBonus — dApp độc hại mô phỏng, xin chữ ký qua Wallet Standard
packages/
core/ Mô phỏng, facts, engine luật và API inspect
connector/ Connector Wallet Standard: đưa yêu cầu ký của dApp vào cửa sổ Ví Custos
ai/ Diễn giải tất định, adapter mô hình và kiểm đầu ra
types/ Hợp đồng dữ liệu dùng chung
vi-du-tich-hop/ Consumer kiểm tích hợp ngoài monorepo
scripts/ Kiểm thử, replay, benchmark và đóng gói
data/ Dataset và bằng chứng kỹ thuật
docs/ Đặc tả, threat model, báo cáo và tài liệu pitch
| Người đọc | Bắt đầu từ |
|---|---|
| Ban giám khảo | Mục lục — phần cho người chấm · Báo cáo kiểm chứng · Bộ nộp bài |
| Đội ví/dApp | Tích hợp Core · Consumer mẫu |
| Người review kỹ thuật | Đặc tả Core · Threat model · Ma trận hành vi |
| Người đóng góp | Mục lục tài liệu · Issues |
Khi báo lỗi, kèm bước tái hiện, commit, kịch bản, môi trường và kết quả mong đợi/thực tế. Không đính kèm khóa, token truy cập hoặc dữ liệu ví riêng tư.
Custos phát triển cho UniHackfest 2026 · Best Technical Build, theo lựa chọn đã được chủ dự án xác nhận. Track đăng ký trên form lịch sử ngày 24/08 là Best Product & Business; giữ thông tin này để người đọc phân biệt hồ sơ cũ với hướng trình bày hiện tại. Xem ADR đổi hướng và thông tin vòng thi để đối chiếu hồ sơ, không suy tình trạng cập nhật biểu mẫu từ README.
Custos is a pre-signing transaction-intelligence SDK for Solana wallets and dApps. It simulates transactions, surfaces asset and permission changes, and returns rule-based findings with supporting evidence and analysis coverage.
A Wallet Standard connector puts Custos inside the signing flow: any dApp's signTransaction request opens the Custos Wallet window, which simulates that exact transaction before the user decides. Inspector also replays 10 real mainnet transactions recorded seconds after execution (offline, recorded data — not a mainnet signing flow).
The deterministic engine owns the verdict. An optional language model explains structured facts; a deterministic explanation path remains available. The integrating application handles policy, consent and signing. Current runtime and demo scope is Solana Devnet, with no Custos smart contract and no claim of complete threat detection or confirmed third-party adoption.
We are building Custos for Solana wallet users so they can understand asset and permission changes before signing.
Built by Team Too Hard · MIT License
live/receipt.ts |
| Nghiệm thu cuối |
| Replay không cần mạng. Phản hồi RPC đã lưu chạy lại L1 tất định; mainnet chỉ phát lại dữ liệu đã ghi | chay-replay.ts | npm run replay-rpc |
| Không lộ khoá. CI quét bundle tìm khoá API và URL có credential trước mỗi lần deploy | soi-ro-ri-khoa.mjs · deploy.yml | Tab Actions |