Frequency-Aware Continual Learning for Smart Contract Vulnerability Detection with Large Language Models
새 취약점이 계속 나와도 잊지 않고 하나의 모델로 합치는 스마트컨트랙트 취약점 탐지 AI
스마트컨트랙트에 새로운 취약점 유형이 계속 생겨나는데, 매번 LLM을 통째로 재훈련하기는 너무 비싸다는 문제를 다뤘다. 연구팀은 적은 파라미터로 학습하고, 이전 지식을 안 잊게 복습시키고, 여러 버전을 하나로 합치는 3단계 파이프라인을 제안했다. DIVE라는 실제 스마트컨트랙트 벤치마크에서 개별적으로 각각 학습한 상한선 성능에 2.7% 차이까지 근접하면서도 병합에 156밀리초밖에 안 걸렸다.
무엇을 했나
- 문제: 스마트컨트랙트는 배포되면 고칠 수 없어서 사전에 취약점을 잡아야 하는데, 새로운 공격 유형이 계속 등장해 기존 모델이 낡아진다. 전체 재훈련은 너무 비싸고, 작업별로 따로 모델을 만들면 저장·운영 비용이 커진다.
- 방법1(FA-LoRA): LLM 본체는 그대로 얼려두고, 아주 적은 파라미터(전체의 0.4%)만 학습하는 방식인데, 이걸 일반적인 공간이 아니라 푸리에(주파수) 영역에서 수행하고 어떤 주파수 성분이 중요한지 학습 가능한 게이트로 조절한다.
- 방법2(FAR): 여러 작업을 순서대로 학습하면 예전에 배운 내용을 까먹는 '치명적 망각' 문제가 생기는데, 각 데이터 샘플의 손실(예측이 얼마나 틀렸는지) 변화를 추적해 잊혀질 위험이 큰 샘플을 더 자주 복습시키는 방식으로 이를 완화했다.
- 방법3(APPM): 순서대로 학습된 여러 개의 어댑터(작업별 소형 모델 조각)를 실제 서비스에서는 하나로 합쳐야 하는데, 가장 일반화가 잘 된 어댑터를 기준점(앵커)으로 삼아 보호하면서 나머지를 가중 평균하고, 주파수 게이트끼리 경쟁시켜 병합했다.
- 결과: FA-LoRA는 표준 LoRA·QLoRA보다 성능이 좋으면서 파라미터는 0.4%만 사용했고, FAR은 순차 학습에서 평균 Micro-F1 0.8022를 기록했으며, APPM은 병합 후에도 개별 학습 상한선 대비 2.7% 이내(Micro-F1 0.8085)로 성능을 유지하면서 병합 시간은 156밀리초, 추가 메모리는 없었다.


| Split | task_A | task_B | task_C | task_D |
|---|---|---|---|---|
| Train | 5,262 | 5,262 | 5,262 | 5,262 |
| Validation | 542 | 504 | 536 | 651 |
| Test | 530 | 542 | 513 | 648 |
| Total | 6,334 | 6,308 | 6,311 | 6,561 |


| Hyperparameter | Value |
|---|---|
| FA-LoRA rank r [16] | 16 |
| Frequency mode [5] | High-frequency retention |
| Retain fraction γ [5] | 0.2 |
| Optimizer [30] | AdamW |
| Learning rate (CL) [16] | 5×10−5 |
| Learning rate (PEFT) [16] | 3×10−5 |
| Batch size B [16] | 8 |
| Max sequence length | 1,024 |
| Epochs per task (CL) | 3–5 |
| Epochs (PEFT) | 3 |
| Replay buffer capacity [6] | 2,000 |
| Replay batch ratio [6] | 0.25 |
| FAR temperature τ | 2.0 |
| APPM protection ρ | 1.0 |
| Component | Params (M) | Fraction |
|---|---|---|
| Total | 1,241.0 | 100.0% |
| Frozen (LLaMA base) | 1,235.8 | 99.6% |
| Trainable (FA-LoRA) | 5.2 | 0.4% |
| — LoRA (𝑼,𝑽) | 5.0 | 0.40% |
| — Gates (𝒈) | 0.2 | 0.02% |
| Per-task storage | ∼10 MB |
| Method | Quant. | Trainable (M) | Storage (MB) | Micro-F1 | Macro-F1 | Subset Acc. | |||
|---|---|---|---|---|---|---|---|---|---|
| 1B | 3B | 1B | 3B | 1B | 3B | ||||
| WaRA [15] | ✓ | 35.77 | 136.5 | 0.8398 | 0.8515 | 0.6529 | 0.7133 | 0.5544 | 0.5840 |
| QLoRA [9] | ✓ | 1.72 | 6.6 | 0.8185 | 0.8365 | 0.6133 | 0.6407 | 0.5181 | 0.5298 |
| SLoRA [17] | ✓ | 6.85 | 26.2 | 0.8138 | 0.8305 | 0.5945 | 0.6263 | 0.4966 | 0.5262 |
| LoRA [16] | bf16 | 3.42 | 13.0 | 0.8094 | 0.8370 | 0.5613 | 0.6356 | 0.4845 | 0.5428 |
| FourierFT [13] | ✓ | 0.16 | 0.6 | 0.7449 | 0.7888 | 0.4724 | 0.5585 | 0.3471 | 0.4331 |
| FouRA [5] | ✓ | 0.55 | 2.1 | 0.7635 | 0.8020 | 0.4998 | 0.5930 | 0.4004 | 0.4648 |
| FA-LoRA | ✓ | 2.62 | 10.0 | 0.8185 | 0.8424 | 0.5904 | 0.6616 | 0.5074 | 0.5544 |
| Method | Merge (ms) | CPU Δ(MB) | Speedup | ΔInd |
|---|---|---|---|---|
| Simple-Mean | 102 | 0.0 | 70× | +5.5% |
| TIES [40] | 2,123 | 0.0 | 3.4× | +5.5% |
| DARE [44] | 4,204 | 0.0 | 1.7× | +7.9% |
| HAM g=2 | 7,164 | 68.1 | 1.0× | +11.0% |
| SFA a=0.5 | 72 | 0.0 | 100× | +33.0% |
| APPM (ours) | 156 | 0.0 | 46× | +2.7% |
| After training | task_A | task_B | task_C | task_D |
|---|---|---|---|---|
| task_A | 0.7495 | 0.6121 | 0.6331 | 0.6028 |
| task_B | 0.7253 | 0.7503 | 0.7303 | 0.7065 |
| task_C | 0.7162 | 0.7226 | 0.8974 | 0.8864 |
| task_D | 0.7128 | 0.7171 | 0.8935 | 0.8854 |
| Forgetting | −0.0367 | −0.0332 | −0.0039 | — |
왜 중요한가
블록체인 보안팀 입장에서는 새로운 취약점이 발견될 때마다 탐지 모델을 통째로 다시 만들 필요 없이 가볍게 업데이트하고 하나의 배포 모델로 유지할 수 있다는 뜻이다. 이는 실제 감사(auditing) 환경처럼 취약점 정보가 시간에 따라 계속 갱신되는 상황에 실용적인 접근을 제시한다.
이 논문의 용어
- LoRA(Low-Rank Adaptation) · 큰 모델 전체를 재훈련하지 않고 작은 추가 행렬만 학습해 적은 비용으로 모델을 새 작업에 맞추는 기법
- 치명적 망각(Catastrophic Forgetting) · 모델이 새 작업을 배우면서 이전에 배운 내용을 잃어버리는 현상
- 푸리에 변환(Fourier Transform) · 신호나 데이터를 다양한 주파수 성분으로 분해해서 표현하는 수학적 변환
- 어댑터(Adapter) · 큰 모델은 그대로 두고 특정 작업에 맞게 소량만 추가로 학습시킨 작은 모듈
- Micro-F1 · 여러 개의 라벨(취약점 종류)을 동시에 맞혀야 하는 상황에서 정확도와 재현율을 종합한 평가 지표
논문 원문 초록 (영문)
Smart contract vulnerability detection with Large Language Models (LLMs) faces three causally linked challenges. First, new vulnerability categories demand parameter-efficient adaptation, since full retraining is prohibitive for sequentially arriving tasks. Second, training per-task adapters on a shared backbone causes catastrophic forgetting of previously learned vulnerabilities. Third, the resulting multiplicity of adapters must be consolidated into a single model, since task identity is unknown at inference time. Each challenge arises directly from the solution to its predecessor, making an integrated framework essential. We propose a three-stage pipeline in which each stage addresses one challenge and feeds into the next. The adaptation stage uses Frequency-Aware Low-Rank Adaptation (FA-LoRA), which performs adaptation in the Fourier domain with per-frequency importance gates, requiring only 0.4% trainable parameters while outperforming standard LoRA and QLoRA. The continual learning stage applies Forget-Aware Replay (FAR), which uses these frequency gates to estimate per-sample forgetting risk via loss dynamics and prioritizes vulnerable knowledge for rehearsal, achieving an average Micro-F1 of 0.8022 across sequential tasks. The deployment stage employs Anchor-Protected Progressive Merging (APPM), which exploits the asymmetric generalization produced by FAR training to identify the strongest-generalizing adapter as an anchor and consolidates all adapters into a single model via anchor-protected weighted merging with frequency-domain gate competition. APPM achieves a Micro-F1 of 0.8085, within 2.7% of the independent per-task upper bound, at a merge cost of 156 ms and no additional runtime memory. Experiments on DIVE confirm the framework effectively addresses all three challenges for evolving blockchain ecosystems.
arXiv에서 원문 보기최신 논문
- Specification-delta-driven data governance: an empirical study of the {\guillemotleft}spec-delta{\guillemotright} as the unit of change in lakehouse data platforms데이터 플랫폼 변경도 코드처럼 '설계도 조각'을 붙여서 검토하면 어떨까: 실험 설계 논문
- Are LLMs becoming similarly creative? Evidence from three years of models최신 AI 챗봇일수록 서로 비슷한 답을 내놓는다는 3년치 조사 결과
- Auditing Cross-Lingual Fairness in Language Model WatermarkingAI 생성 텍스트를 잡아내는 워터마크 기술이 영어 아닌 언어에서는 훨씬 부실하게 작동하고, 그 격차는 개별 언어가 아니라 언어 계열 단위로 나타난다
- TESTNAV: Pareto-Guided Search for Compositional Robustness TestingAI 모델을 여러 손상이 겹친 입력으로 시험할 때, 굳이 다 테스트하지 않고도 '진짜 위험한 실패'만 골라내는 탐색법
- Optimal Skill Selection for LLM Agents with Provable Bicriteria GuaranteesAI 에이전트에게 어떤 '스킬 문서'를 몇 개나 줘야 잘 작동하는지, 수학적으로 최적해를 보장하며 골라주는 방법
- Reliable Financial Named Entity Recognition under Domain Shift금융 AI가 서류체 문장에서 배운 자신감은 트위터로 가면 거짓말이 된다
- FlashPrefill V2: Block-Sparse Prefill Attention for Long-Context LLM Serving논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기
- Robust Incomplete Multimodal Sentiment Analysis via Iterative Proxy Correction텍스트가 빠지거나 망가져도, AI가 그 자리를 대신할 '가짜 텍스트'를 한 번에 만들지 않고 여러 번 고쳐가며 감정을 더 정확히 읽어낸다
METAL LAB 최신 기사
그림 출처: Tenghui Huang et al., arXiv:2608.19680, arxiv-nonexclusive