Sabe aquele tipo de bug que fica escondido na sua cara, passa em todos os testes e quando você vai ver, está gerando centenas de falsos positivos? Pois é, passei exatamente por isso recentemente trabalhando no motor de análise estática do Ollanta.

Um de seus componentes o ollanta-scanner, de repente começou a acusar que qualquer chamada de função no código JavaScript era um perigoso eval(), não importava se era uma simples renderização de view ou configuração do sistema.

Fui investigar a fundo e o buraco era bem mais embaixo, envolvendo a forma como o binding Go da API do tree-sitter funciona. O problema não estava na query em si, mas em uma única chamada de método que faltava para avaliar os predicados semânticos.

O código compilava sem reclamar e os testes continuavam verdes porque só validavam o caminho feliz da detecção. Na prática, a ferramenta estava devolvendo todos os matches estruturais crus e ignorando completamente os filtros da regra.

Acabei escrevendo um artigo em meu blog pessoal https://scovl.github.io/2026/05/08/fixgo02/ detalhando toda essa investigação, que no fim das contas virou uma baita reflexão sobre design de APIs, o perigo do acoplamento temporal e aquele viés de confirmação clássico que temos ao esquecer de escrever testes negativos.

Se você trampa com #Go, #desenvolvimento de ferramentas, ou simplesmente curte ler um post-mortem sobre caça a #bugs que dão dor de cabeça, acho que vai gostar do texto.

#go #golang #desenvolvimento #development #developers #ast #cst #treesitter #postmortem

O predicado que ninguém chamou | scovl

Como uma linha de código ausente fez 20 regras de análise estática produzirem centenas de falsos positivos por meses

Patchwork: AST-Native Editing for LLMs

Patchwork은 LLM과 함께 사용하도록 설계된 AST 기반 코드 리팩토링 도구로, 정규식 대신 코드 구조를 인식해 안전하고 정확한 코드 변환을 지원합니다. Rust 스타일 반복 구문과 특수 토큰을 활용해 함수 인자, 배열 요소 등 복잡한 패턴도 자연스럽게 처리하며, 설정 파일 없이 단일 바이너리로 간단히 사용할 수 있습니다. 기존 도구인 ast-grep 대비 경량화와 단순성을 추구해, LLM이 명령어를 쉽게 생성할 수 있도록 설계된 점이 특징입니다. 현재는 단일 파일 내 작업만 지원하며, 복잡한 구조 변경은 LLM 기반 도구를 권장합니다.

https://github.com/ThatXliner/patchwork-cli

#ast #coderefactoring #llm #rust #treesitter

GitHub - ThatXliner/patchwork-cli: AST-native code refactor without LLMs, but for LLMs

AST-native code refactor without LLMs, but for LLMs - ThatXliner/patchwork-cli

GitHub

Show HW: LiteParser – An embeddable SQLite parser

LiteParser는 완전한 SQLite SQL 파서를 C 언어로 구현한 임베디드 라이브러리로, 외부 의존성 없이 단일 정적 또는 공유 라이브러리로 제공된다. SQLite의 모든 SQL 문법을 지원하며, AST를 JSON으로 직렬화하거나 다시 SQL로 변환하는 기능을 갖추고 있어 IDE 통합, 린터, 코드 분석 등에 적합하다. 메모리 관리는 아레나 할당 방식을 사용해 빠르고 메모리 누수 없이 처리하며, Apple Silicon에서 초당 약 42만 건의 구문 분석 성능을 보인다. 또한, 광범위한 SQLite 테스트 스위트와 퍼즈 테스트를 통과해 안정성과 완성도를 입증했다. WebAssembly 빌드도 지원해 브라우저 및 Node.js 환경에서도 활용 가능하다.

https://github.com/sqliteai/liteparser

#sqlite #sqlparser #c #wasm #ast

GitHub - sqliteai/liteparser: A lightweight, embeddable SQL parser designed for SQLite-based applications. It parses SQL statements into a structured representation that can be inspected, analyzed, or transformed programmatically.

A lightweight, embeddable SQL parser designed for SQLite-based applications. It parses SQL statements into a structured representation that can be inspected, analyzed, or transformed programmatical...

GitHub

Сделаем Python безопасным… снова

Все мы любим Python за то, что он дает нам свободу: динамическую типизацию, кроссплатформенность, огромное количество библиотек и многое другое. Но зачастую эта свобода становится кошмаром для security‑инженеров и архитекторов, когда речь заходит о высоконагруженных системах с серьезными требованиями к безопасности. В этой статье мы поговорим о том, как перехватить выполнение Python‑кода, запретить опасные вызовы и построить систему контрактов без изменения исходников.

https://habr.com/ru/companies/otus/articles/1029676/

#Python #безопасность_Python #audit_hook #syssettrace #AST #байткод #статический_анализ #песочница #eval #runtimeконтроль

Сделаем Python безопасным… снова

Все мы любим Python за то, что он дает нам свободу: динамическую типизацию, кроссплатформенность, огромное количество библиотек и многое другое. Но зачастую эта свобода становится...

Хабр

Show HN: Patchwork, AST-native sed without LLMs
Patchwork은 LLM(대형 언어 모델)을 사용하지 않고 AST(추상 구문 트리) 기반으로 코드 구조를 인식하여 코드 리팩토링을 수행하는 경량 CLI 도구입니다. sed와 같은 정규식 기반 도구의 한계를 극복하고, Semgrep이나 ast-grep 같은 무거운 도구 대비 빠르고 간단한 구조적 코드 변경을 지원합니다. Rust로 개발되었으며 Java, Python, JavaScript, TypeScript, TSX 언어를 지원하고, 3MB 크기의 단일 바이너리로 설치와 사용이 용이합니다. 복잡한 구조 변경이나 LLM 기반의 심층 분석은 지원하지 않지만, 빠른 코드 수정 작업에 적합합니다.

https://github.com/ThatXliner/patchwork

#coderefactoring #ast #clitool #rust #softwaredevelopment

GitHub - ThatXliner/patchwork: AST-native code refactor without LLMs

AST-native code refactor without LLMs. Contribute to ThatXliner/patchwork development by creating an account on GitHub.

GitHub

Starting Line-Ups for Aston Villa vs Tottenham Hotspur Premier League Match

📰 Original title: Confirmed line-ups: Aston Villa vs Spurs

🤖 IA: It's not clickbait ✅
👥 Usuarios: It's not clickbait ✅

View full AI summary: https://killbait.com/en/starting-line-ups-for-aston-villa-vs-tottenham-hotspur-premier-league-match/?redirpost=e6738126-cacc-46f8-8819-70a366999cdf&utm_source=mastodon_social&utm_medium=social&utm_campaign=tawC1tPUo4nO8gfV507Ysi8dz02kz5dW5yXCkRHz8-k

#sports #tottenham #ast...

Starting Line-Ups for Aston Villa vs Tottenham Hotspur Premier League Match

Tottenham Hotspur has confirmed its starting line-up for tonight’s Premier League match against Aston Villa, scheduled for 7 pm UK time. Head coach Roberto De Zerbi has made four changes from the team…

KillBait Archive

Villa favored in a tight PL clash as Spurs push to upset. Expect a high-stakes 20:00 kickoff (UTC+2) with a draw not out of the question.

Aston Villa 54.3%
Draw 27.2%
Tottenham Hotspur 18.5%

#Football #Soccer #PremierLeague #AST #TOT #ASTTOT

【完結編】コードを1行も読ませずに、AIに脆弱性を100%特定させる方法(自作ツールがAIに論破された日)
https://qiita.com/harupython/items/4d572a384c62016c51f2?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items

#qiita #Python #Security #AST #AI #静的解析

【完結編】コードを1行も読ませずに、AIに脆弱性を100%特定させる方法(自作ツールがAIに論破された日) - Qiita

🚀 TL;DR(忙しい人向けまとめ) 前回の「理論編」の続編。AST(抽象構文木)で抽出した「コードの構造マップ」だけをプロンプトとしてAIに渡す手法の実証編です。 自作の静的解析ツールをこの手法でAI(Gemini 3.1 Pro)に診断させた結果、コードの...

Qiita

YAM – Local AST-based plagiarism detector (MOSS alternative)

I wrote YAM as a fast, private alternative to MOSS that runs completely on your own machine. Can run in command line mode or in server mode if you want to host it inside your firewall. Combines the winnowing approach with AST structural analysis.

Hosted at https://gitlab.com/sylvan.wood.carving-group/yam.git

#plagiarism #winnowing #ast

コードを1行も読ませずに、AIに脆弱性を100%特定させる方法(理論編) - Qiita

🚀 TL;DR AI(LLM)に生のソースコードを読ませるのは、実は効率の悪い「情報の暴力」である。 AST(抽象構文木)から「構造」だけを抽出したマップこそが、AIのIQを極限まで引き出す。 データの流入から破綻までをグラフ理論で定義すれば、理論上、脆弱性は100%...

Qiita