Solidity를 위한 경제 분석

돈을 움직이는 결함을 찾아냅니다.

Scorpio는 공개 Solidity 저장소를 분석하고, 가치가 어떤 길로 움직이는지 재구성하며, 결함이 버그 바운티나 운영 환경에 이르기 전에 재현 가능한 증거를 내놓습니다.

결제 전 사전 점검 USDC로 x402 결제 검증 가능한 산출물
ENGINE / LIVE CATALOGONLINE
STATE
VALUE
ACCESS
Scorpio 표장
127MODULES
49STATIC CHECKS
0닿을 수 있는 모듈배포된 엔진의 지문
0경제 계열위험도에 따라 정리한 범위
0정적 검사현재 카탈로그에 공개됨
0읽을 수 없는 모듈카탈로그가 처음부터 끝까지 읽힘
01 / 방법

저장소에서 확인 가능한 증거까지.

Scorpio는 모든 분석을 기술적 보관 사슬로 다룹니다. 먼저 저장소가 범위에 드는지 판단하고, 그다음 컴파일하고 모델링한 뒤 결과를 봉인합니다.

01

접수

공개 URL과 커밋, 그리고 프로젝트 자체 코드의 실제 규모를 확인합니다.

무료 · 아무 의무 없음
02
{ }

컴파일

Foundry 프로젝트를 해석하고 자체 코드를 의존성과 분리합니다.

격리된 환경
03

경제 지도

상태와 권한, 그리고 가치가 지나갈 수 있는 경로를 따라갑니다.

계약 사이의 맥락
04

검사

해당되는 계열을 실행하고 경제적 영향이 있는 신호를 앞세웁니다.

결정론적 엔진
05

산출물

우선순위를 매긴 발견 사항으로 보고서를 작성하고, 분석한 정확한 커밋과 함께 돌려줍니다.

재현 가능한 결과
02 / 결제하기 전에

저장소가 범위에 드는지 확인하세요.

사전 점검은 결제가 열리기 전에 프로젝트 자체 Solidity와 제삼자 Solidity를 따로 셉니다. 그것도 실제 서비스가 직접 합니다. 저장소를 복제해 파일 트리를 읽을 뿐, 컴파일하지도 않고 그 안의 무엇도 실행하지 않습니다. 무료이고 사용 한도가 있으며, 범위에 들지 않는 저장소는 요금을 받은 뒤 나중에 실패하는 대신 이 단계에서 거절됩니다.

  • URL과 커밋 확인 완료
  • 자체 코드와 제삼자 코드 분리 완료
  • 결제를 승인하기 전에 가격 확정
SCORPIO / PREFLIGHT가동 중
git:
제품전체 감사 · 149 USDC

무료이며 아무것도 결제하지 않습니다. 서비스가 저장소를 복제해 파일 트리를 읽어 Solidity를 세며, 컴파일하지도 않고 그 안의 무엇도 실행하지 않습니다. 몇 초 걸리고 사용 한도가 있습니다.

04 / 측정

처음 공개한 벤치마크에서, 경고 한 건당 쓸모 있는 신호가 더 많았습니다.

CodeHawks의 공식 사례 다섯 건에서 Scorpio는 공식 목록의 발견 사항 12건을 짝지었고 Slither는 5건이었으며, 전체 경고 수는 Scorpio가 26건, Slither가 63건이었습니다.

092026년
9월
엔진 890777…
i

이것은 대회 다섯 건이라는 작은 표본이며, 전반적인 우월함의 증거가 아닙니다. Scorpio 열은 2026년 9월 9일에 엔진 890777033a8fc952…로, 동일한 조건으로 세 번 실행해 측정했습니다. 배포된 엔진의 지문은 이 페이지 상단에 표시됩니다. 값이 다르면 이 측정은 더 이전 엔진의 것이며 오늘의 엔진으로는 다시 실행하지 않았습니다. Slither 열은 0.11.5 버전으로 같은 고정 사례에서 9월 6일에 측정했고, 두 날짜 사이에 Slither는 바뀌지 않았습니다.

!

짝이 맞지 않은 14건은 무엇인가. 그것을 “틀렸다”고 부르면 정확하지 않습니다. 네 건은 정보성 등급으로, 이벤트가 없는 계약에 대한 알림 세 건과 토큰 가정에 대한 메모 한 건입니다. 엔진이 일부러 제공하는 맥락이며, 애초에 취약점 목록에서 경쟁하지 않습니다. 세 건은 코드에 대해 참인 사실, 즉 ERC-20 전송의 반환값을 확인하지 않는다는 점을 말하지만 대회가 발견 사항으로 인정하지 않았습니다. 그리고 한 건은 한 방향으로만 움직이는 스위치인데, 그것이 의도된 것인지 판단하는 주체는 사람이므로 엔진은 의심으로 표시합니다.

!

남은 여섯 건 중 다섯 건은 공식 목록의 어느 항목과 같은 결함이며, 이름만 다릅니다. 비교기는 검출기 이름이 라벨의 계열과 같아야 짝을 맺으므로, 엔진이 결함을 제대로 찾아냈는데 그것을 결과가 아니라 원인으로 이름 붙이면 집계가 두 번 벌을 줍니다. 라벨은 찾지 못한 것으로, 발견 사항은 틀린 것으로 적힙니다. 다섯 쌍은 하나씩 대조했고, 같은 계약에서, 그중 네 쌍은 같은 함수에서였습니다. refund에서 결코 잠기지 않는 잠금장치는 CH-05의 재진입이고, 다시 쓸 수 있는 기한은 CH-07이며, claimants를 상한 없이 순회하는 것은 MC-08, 구현을 묶지 않는 서명은 SP-01, typehash 없는 다이제스트는 SP-02입니다. 여섯째는 목록에 실리지 않은 참인 사실을 말합니다.

i

그 판정은 수작업이고 이해관계가 있는 쪽이 했습니다. 엔진을 만드는 사람이 직접 했으니까요. 그래서 이 페이지에서 기준이 되는 숫자는 여전히 기계가 센 숫자입니다. 인정한 다섯 쌍을 포함해 세면 짝이 맞은 것 17건, 맞지 않은 것 9건, 즉 정밀도 65.4 %와 재현율 35.4 %가 됩니다. 차이가 어디에서 오는지 보이도록 적었을 뿐, 성과로 올리려는 것이 아닙니다.

Scorpio52,6%
10 TP · 9 FP
SSlither7.9%
5 TP · 58 FP
공식 발견 사항 48건사례 5 / 5 실행실행 15 / 15 안정
05 / 어떻게 검증하는가

스스로를 측정하는 엔진.

검출기마다 앞에 계약 두 개가 놓여 있습니다. 하나는 검출기가 울리도록 쓴 것이고, 다른 하나는 거의 같지만 울리지 않도록 쓴 것입니다. 둘 중 어느 하나라도 깨뜨리는 변경이 있으면 시험대가 빨간불이 되고, 시험대가 녹색이 아니면 주문을 처리하는 이미지는 만들지 않습니다.

0시험대 계약엔진을 시험하려고 쓴 것
0심어 둔 결함201개를 모두 잡아냄
0정상 대조군하나도 표시하지 않음
0변이 %죽일 수 있는 것을 분모로
i

변이 점수는 엔진의 한 줄을 일부러 바꾸고 시험대가 그것을 알아채는지 확인합니다. 알아채지 못한 것은 하나씩 이유와 함께 적어 둡니다. 그 줄이 왜 결과를 바꿀 수 없는지, 또는 그것을 일으키려면 어떤 사례가 필요한지를요. 오늘 읽지 않은 것은 하나도 남지 않았습니다.

06 / 범위

경제적 위험을 따라가기 위한 열 개 계열.

각 계열은 불변식을 깨거나 권한을 가로채거나 가치를 빼돌리는 구체적인 방식을 찾는 검사들을 모아 놓은 것입니다.

01
±

회계

잔액, 반올림, 수수료, 그리고 가치의 보존.

검사 6개
02

오라클

가격, 데이터 신선도, 단위 배율, 그리고 조작될 수 있는 의존성.

검사 4개
03

서명

재사용 공격, 도메인 분리, 논스, 그리고 암호학적 승인.

검사 8개
04

권한

역할, 설정 함수, 초기화, 그리고 통제권의 상승.

검사 7개
05

재진입

외부 호출과 안전하지 않은 상태 변경.

검사 4개
06

저장소 슬롯

슬롯 충돌, 배치, 그리고 업그레이드 후의 데이터 손상.

검사 4개
07

상태

있을 수 없는 전이, 잠김, 그리고 단계 건너뛰기.

검사 6개
08

갇힌 자금

출금 경로가 없거나 영원히 조건에 묶여 있는 경우.

검사 4개
09
0x

인코딩

셀렉터 충돌, calldata, 그리고 직렬화에 대한 가정.

검사 5개
10

무작위성

예측 가능한 난수원 가운데 경제적 결과에 영향을 주는 것.

검사 1개
07 / 결과

흔적을 남기는 산출물.

보고서는 각 신호를 코드 속 위치에 연결하고, 그것이 나온 정확한 커밋과 함께 전달됩니다.

SCORPIO_REPORT
FINDING / ECONOMIC

가치 불변식에 구멍

HIGHCONFIDENCE 0.86

report.md
commit
tree
01

우선순위를 매긴 발견 사항

심각도, 확신도, 위치, 그리고 예상되는 경제적 영향.

02

기술적 증거

코드 경로와, 신호를 재현하기에 충분한 맥락.

03

출처

분석한 복제본의 정확한 커밋과 파일 트리를 보고서와 함께 돌려줍니다.

04

측정하지 못한 것

어떤 검사가 끝까지 가지 못했으면 주문은 INCOMPLETE로 표시되고 보고서가 그 사실을 말합니다. 침묵을 “아무것도 없다”로 내놓지는 않습니다.

08 / 입장

Scorpio가 주장하는 것.
그리고 주장하지 않는 것.

내놓는 것

  • 자동이고 반복 가능한 분석
  • 경제적 영향에 따른 우선순위
  • 분석한 코드에 묶인 증거
  • 정확한 커밋과 보고서의 봉인
  • 실행 상태를 분명히 밝힘

× 약속하지 않는 것

  • 오탐 없음
  • 모든 취약점의 완전한 범위
  • 매번 결함을 찾아내는 것
  • 사람이 하는 감사와 동등함
  • 자동으로 보상 대상이 되는 것
09 / 질문

분석을 실행하기 전에.

가장 중요한 기술적·상업적 조건을 작은 글씨 없이 설명합니다.

약관 전문 읽기
Scorpio가 사람이 하는 감사를 대신할 수 있나요?

아닙니다. 탐색 범위를 좁히고 반복 가능한 증거를 제공하지만, 계약이 안전하다고 증명하지 않으며 사람이 하는 검토의 모든 추론을 대신하지도 않습니다.

오늘 무엇을 분석할 수 있나요?

Foundry와 호환되고 사전 점검을 통과한 공개 저장소이며, 프로젝트 자체 Solidity 파일은 최대 1,200개까지입니다. 지금 열려 있는 제품은 체인의 상태를 읽지 않습니다.

언제 요금이 청구되나요?

먼저 무료 사전 점검이 실행됩니다. 저장소가 범위에 들면 Scorpio가 정확한 견적을 돌려줍니다. 분석은 x402 결제가 검증된 시점에 시작됩니다.

엔진이 실패하면 어떻게 되나요?

주문은 FAILED 상태로 남고, 약관에 따라 서비스 대금을 환불합니다. Scorpio와 무관한 네트워크 수수료는 그 환불에 포함되지 않습니다.

얼마나 걸리나요?

카탈로그는 지금 열려 있는 제품의 실행 시간을 약 5분으로 봅니다. 이는 기술적 추정이며 서비스 수준 약정이 아닙니다. 규모와 컴파일, 대기열이 전체 시간을 바꿀 수 있습니다.

DONE과 INCOMPLETE는 무슨 뜻인가요?

DONE은 예정된 산출이 끝났다는 뜻입니다. INCOMPLETE는 한계가 문서로 적힌 부분 산출물이 있다는 뜻입니다. PENDING과 FAILED는 진행 중이거나 실패한 실행을 나타냅니다. EXPIRED는 보관 기간 30일이 지나 산출물이 이미 삭제된 뒤에 나타납니다.

비공개 저장소를 보낼 수 있나요?

현재 제품으로는 불가능합니다. 자격 증명이나 토큰, 비공개 URL을 보내지 마세요. 이 공개 상품은 인증 없이 접근할 수 있는 저장소를 위해 만들었습니다.

결과를 어떻게 검증하나요?

모든 주문은 분석한 복제본의 정확한 커밋과 파일 트리를 돌려주므로, 어떤 발견 사항이든 특정 리비전 위에서 짚어 보고 나중에 다시 볼 수 있습니다. 그때그때 돌아가는 엔진 버전은 내용 지문과 함께 /health에 공개되어 있습니다.

SCORPIO / AUDIT-149

가치를 맡기기 전에,
코드를 확인하세요.

사전 점검은 무료이며, 결제 요청을 만들기 전에 범위를 확인합니다.

저장소 확인