@@ -323,6 +323,49 @@ não ao Dependabot version updates. Nenhuma ação necessária no `dependabot.ym
3233232 . ` dependabot.yml ` — ** não mexer** , já é 100% gratuito e correto.
3243243 . ` SecurityCodeScan ` + baseline — ** não mexer** , é o substituto ativo do CodeQL.
325325
326+ ## CodeQL REATIVADO — repos voltaram a público (2026-09-25)
327+
328+ A premissa da remoção acima (repo privado → GHAS pago) ** deixou de valer** . Os 3 repos do
329+ ecossistema (` LayoutParserApi ` , ` LayoutParserDecrypt ` , ` layoutparser-portal ` ) estão ** públicos**
330+ desde a limpeza de histórico de 2026-08-15 (ver seção "🔴🔴 2026-08-15" acima — a decisão de
331+ manter público foi tomada ali, não revertida). Em repositório ** público** , code scanning via
332+ ` github/codeql-action ` é ** gratuito** , sem exigir GHAS/licença. O ` layoutparser-portal ` já
333+ reativou o CodeQL nesse meio-tempo (` javascript-typescript ` + ` actions ` , ` build-mode: none ` ) e
334+ serviu de template para esta reativação — confirmado sem necessidade de mudança.
335+
336+ ** Ações desta sessão:**
337+
338+ 1 . ** ` LayoutParserApi ` ** — recriado ` .github/workflows/codeql.yml ` . ` on: ` usa ` develop ` /` master `
339+ (não ` main ` — branches reais deste repo, confirmado via ` git branch -a ` ). Matriz:
340+ ` csharp ` + ` actions ` . ` build-mode: none ` (não ` autobuild ` ) — decisão deliberada: o
341+ ` LayoutParserApi.csproj ` referencia ` LayoutParserLib ` via ` HintPath ` relativo a um repo
342+ ** irmão** (` ..\LayoutParserLib\bin\$(Configuration)\LayoutParserLib.dll ` ) que não existe no
343+ checkout isolado do workflow (o CodeQL só clona este repo). Um ` autobuild ` real quebraria
344+ nessa ` Reference ` ausente. ` build-mode: none ` para C# é suportado desde CodeQL CLI 2.16 —
345+ faz extração/análise direta do código-fonte sem precisar resolver todas as referências,
346+ cobrindo o mesmo escopo de ` security-extended ` (SQLi, path traversal etc.) sem depender de
347+ build completo. ** Limitação conhecida e não resolvida:** análise fluxo-sensível que dependa
348+ de tipos/símbolos definidos em ` LayoutParserLib ` (não neste repo) pode ficar mais fraca do
349+ que um build real conseguiria — se isso incomodar no futuro, a alternativa é um step manual
350+ que primeiro reconstrói um stub de ` LayoutParserLib.dll ` antes do ` dotnet build `
351+ (` build-mode: manual ` ), não implementado aqui.
352+ 2 . ** ` LayoutParserDecrypt ` ** — recriado ` .github/workflows/codeql.yml ` no repo. ` on: ` usa só
353+ ` master ` (sem ` develop ` — fluxo real deste repo é ` feat/** → master ` direto, confirmado via
354+ ` git branch -a ` ). Matriz: ` csharp ` + ` actions ` . Diferente da API, este projeto é ** standalone**
355+ (o próprio ` .csproj ` documenta em comentário que o código de ` LayoutParserLib ` foi embutido
356+ como arquivos-fonte locais exatamente para não depender de repo irmão) — mas é um projeto
357+ ** clássico não-SDK** (` TargetFrameworkVersion v4.8.1 ` , ` OutputType Exe ` ), que exige MSBuild
358+ (não ` dotnet build ` ) e por isso o ` build.yml ` existente já roda em ` windows-latest ` com
359+ ` microsoft/setup-msbuild ` + ` nuget restore ` /` msbuild ` explícitos, não ` dotnet ` .
360+ ` build-mode: none ` do CodeQL roda em ` ubuntu-latest ` e não builda nada — não tem esse
361+ problema, mas também não se beneficia da build real já validada no ` build.yml ` . Optou-se por
362+ manter ` build-mode: none ` + ` ubuntu-latest ` (mesmo padrão dos outros dois repos, mais simples
363+ e sem custo de manter um segundo caminho de build MSBuild dentro do CodeQL) — se no futuro
364+ quiser uma análise mais profunda equivalente ao ` autobuild ` , o caminho seria
365+ ` build-mode: manual ` em ` windows-latest ` reaproveitando os mesmos steps de
366+ ` setup-msbuild ` /` nuget restore ` /` msbuild ` do ` build.yml ` .
367+ 3 . ** ` layoutparser-portal ` ** — conferido, sem alteração necessária.
368+
326369## Regras gerais (todos os agentes)
327370
328371- ** NUNCA** comite segredos, connection strings ou tokens.
0 commit comments