619static int seriesBestIndex(

620sqlite3_vtab *pVTab,

621sqlite3_index_info *pIdxInfo

622){

...

630int aIdx[7]; /* Constraints on start, stop, step, LIMIT, OFFSET,

631** and value. aIdx[5] covers value=, value>=, and

632** value>, aIdx[6] covers value<= and value< */

633const struct sqlite3_index_constraint *pConstraint;

谷歌内部项目:大模型AI智能体发现了代码漏洞...

642for(i=0; inConstraint; i++, pConstraint++){

643int iCol; /* 0 for start, 1 for stop, 2 for step */

644int iMask; /* bitmask for those column */

645int op = pConstraint->op;

...

705iCol = pConstraint->iColumn - SERIES_COLUMN_START;

706assert( iCol>=0 && iCol<=2 );

707iMask = 1 << iCol;

...

713if( pConstraint->usable==0 ){

714unusableMask |= iMask;

715continue;

716}else if( op==SQLITE_INDEX_CONSTRAINT_EQ ){

717idxNum |= iMask;

718aIdx[iCol] = i;

719}

720}

然而,实际上这个断言并不存在,因此该漏洞可能会被恶意利用。幸运的是,该团队在正式版本出现之前就发现了这个问题,因此 SQLite 用户没有受到影响。

毫无疑问的是,智能体在这次漏洞查找中起了关键作用,这也表明智能体在软件安全方面具备很大的应用潜力。

参考链接:

https://googleprojectzero.blogspot.com/2024/10/from-naptime-to-big-sleep.html