mirror of
https://github.com/xroche/httrack.git
synced 2026-07-16 22:00:45 +03:00
libtest/ holds demo callback samples that aren't part of libhttrack, and src/proxy/ is ProxyTrack, a separate legacy binary with no auth surface whose recv/cache-parse code trips the taint queries by design. Together they account for ~26 alerts that are false-positive or by-design. Exclude both so the dashboard tracks the engine, where the queries earn their keep. Genuine bugs found in that code are fixed on their own, independent of scanning. Signed-off-by: Xavier Roche <roche@httrack.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
70 lines
2.0 KiB
YAML
70 lines
2.0 KiB
YAML
# CodeQL static analysis (C). The security-extended suite covers the classes
|
|
# this codebase actually fights: overflows, tainted-size allocs, format bugs.
|
|
name: CodeQL
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
schedule:
|
|
# Weekly re-scan of master so new/updated queries land without a push.
|
|
- cron: "17 4 * * 1"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: codeql-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
analyze:
|
|
name: analyze (c-cpp)
|
|
runs-on: ubuntu-24.04
|
|
permissions:
|
|
contents: read
|
|
# Upload findings to the repo's code-scanning dashboard.
|
|
security-events: write
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install build dependencies
|
|
run: |
|
|
set -euo pipefail
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends \
|
|
build-essential autoconf automake libtool autoconf-archive \
|
|
zlib1g-dev libssl-dev
|
|
|
|
- uses: github/codeql-action/init@v4
|
|
with:
|
|
languages: c-cpp
|
|
build-mode: manual
|
|
queries: security-extended
|
|
# fopen's umask-controlled 0666 is intended for mirror/cache/log
|
|
# output; the one credential file (cookies.txt) is kept 0600 on Unix.
|
|
config: |
|
|
paths-ignore:
|
|
# Demo callback samples, not part of libhttrack.
|
|
- libtest
|
|
# ProxyTrack: a separate legacy binary with no auth surface; its
|
|
# recv/cache-parse code trips taint queries by design.
|
|
- src/proxy
|
|
query-filters:
|
|
- exclude:
|
|
id: cpp/world-writable-file-creation
|
|
|
|
# Manual build: CodeQL traces the compiler, so build exactly what ships.
|
|
- name: Build
|
|
run: |
|
|
set -euo pipefail
|
|
autoreconf -fi
|
|
./configure
|
|
make -j"$(nproc)"
|
|
|
|
- uses: github/codeql-action/analyze@v4
|
|
with:
|
|
category: "/language:c-cpp"
|