Webinar em inglêsWebinar com Jason Lee, quarta, 14/10Your newest insider is an AI agent.Jason LeeFormer CISO, Zoom & SplunkInscreva-se

Licenças open source, classificadas antes de o jurídico perguntar.

Cada licença das tuas dependências classificada, e a tua política jurídica aplicada a cada uma.

checkout-apiConformidade de licençasProjeto de demonstração
  • Bloqueadoitext7-core 8.0.5pom.xml

    Lida no pom.xml como AGPL-3.0-only, um copyleft forte.

    <name>GNU Affero General Public License v3</name>

    Copyleft forte: bloqueado por omissão, incluindo as transitivas.

A tua política, aplicada a cada pacote.

  • Quatro famílias

    • MIT
    • LGPL-2.1
    • GPL-3.0
    • AGPL-3.0
  • Expressões SPDX

    • MIT OR GPL-3.0
    • Apache-2.0 AND BSD-3-Clause
  • Os teus ajustes

    • LGPL-2.1 → permissive
  • Pacotes ignorados

    • @acme/internal-*
    • test/fixtures/**

A tua política decide o que é sinalizado.

Cada pacote sinalizado

  • Alerta: itext7-core 8.0.5
  • Alerta: jszip 3.10.1
  • Alerta: hibernate-core 6.6.1.Final
  • Alerta: @acme/billing-utils 1.2.0

A tua política aplicada

  • Bloqueado: itext7-core 8.0.5pom.xml
  • Permitido: jszip 3.10.1OR fica com a opção menos restritiva.
  • Permitido: hibernate-core 6.6.1.FinalO teu ajuste de organização: a LGPL-2.1 conta como permissiva.
  • Desconhecido: @acme/billing-utils 1.2.0Sem licença declarada: atribuis o identificador SPDX à mão.

Nenhum job extra para correr.

Lidas nos manifestos da análise SCA, ao lado das tuas vulnerabilidades.

  1. Análise SCAOs manifestos, lidos em cada push.Lidos
  2. SPDXCada licença, numa de quatro famílias.Classificada
  3. A tua políticaOs teus ajustes e bloqueios, aplicados.Bloqueada
  4. RelatórioPrimeiro as licenças desconhecidas, filtradas por equipa.Pronto

Começa por um repositório.

Liga o GitHub, o GitLab, o Bitbucket ou o Azure DevOps, escolhe um repositório e a primeira análise arranca.

Em detalhe

Cada licença da árvore, classificada.

A extração de licenças reutiliza a leitura dos manifestos da análise SCA e os resultados aparecem ao lado das descobertas de vulnerabilidades.

  • Quatro famílias

    Mais de 100 licenças classificadas à partida, incluindo as dependências transitivas.

  • Expressões SPDX

    OR fica com a opção menos restritiva, AND com a mais estrita, WITH aplica a exceção.

  • Os teus ajustes

    Trata a LGPL-2.1 como permissiva uma vez e todos os projetos seguem.

  • Licenças próprias

    Licenças internas ou de fornecedores, acompanhadas ao lado das open source.

  • Pacotes ignorados

    Módulos internos, fixtures de teste e ferramentas de desenvolvimento, postos de lado.

  • Todos os ecossistemas

    npm, Yarn, pnpm, Bun, Deno, pip, Poetry, Pipenv, Maven, Gradle, Go modules, NuGet, Composer, Cargo, CocoaPods, Swift PM, Pub, Hex, RubyGems, Conan, Clojars e GitHub Actions.

Tudo o que verifica

Quatro famílias, e as tuas regras por cima.

Cada identificador SPDX corresponde a uma família que a tua equipa jurídica controla. As expressões resolvem-se sozinhas; os ajustes decides tu.

  • Permissivas

    Usar, modificar, distribuir. Basta manter o aviso.

    Permitido
  • Copyleft fraco

    As alterações à biblioteca têm de ser partilhadas. O teu código continua teu.

    Rever
  • Copyleft forte

    Se a ligares, tens de abrir o teu produto. Bloqueada por omissão, também quando chega por transitividade.

    Bloqueado
  • Desconhecidas

    Sem SPDX nos metadados, um texto próprio, um campo mal formado. Alguém tem de o ler.

    Perguntar
  • Expressões SPDX, resolvidas

    OR escolhe a opção menos restritiva, AND mantém a mais estrita, WITH aplica a exceção.

  • O teu ajuste

    O jurídico aprovou a LGPL-2.1 para toda a organização? Define-o uma vez e todos os projetos passam a segui-lo.

Seis funções, um relatório pronto para o jurídico.

Extração SPDX, risco segundo as expressões, ajustes por organização e pacotes ignorados.

  • Extração SPDX automática em cada scan SCA

    As licenças são extraídas dos metadados dos pacotes durante o scan. Nenhuma tarefa extra para agendar, nenhuma ferramenta à parte para instalar.

  • Quatro categorias de risco, mais de 100 licenças pré-classificadas

    Permissive (MIT, Apache-2.0, BSD-2-Clause, ISC), Weak Copyleft (LGPL-2.1, MPL-2.0, EPL-2.0), Strong Copyleft (GPL-3.0, AGPL-3.0, SSPL-1.0) ou Unknown quando o manifesto não declara nada.

  • Parser de expressões SPDX. OR, AND, WITH

    MIT OR GPL-3.0-only resolve-se na opção menos restritiva (Permissive).

  • Ajustes ao nível da organização

    Se a tua equipa jurídica considera a LGPL-2.1 Permissive, ajusta-a uma única vez ao nível da organização e todos os projetos herdam de imediato a nova classificação.

  • Atribuição manual para licenças Unknown

    Quando o manifesto não declara nenhuma licença, o pacote vai parar à categoria Unknown.

  • Ignora pacotes internos ou só de teste

    Ativa a flag ignore em qualquer pacote: módulos internos do monorepo, fixtures de teste, ferramentas só de desenvolvimento.

Um risco que defendes perante o jurídico.
  • Alinhado com a tua política jurídica

    Cada identificador SPDX corresponde a uma categoria definida pela tua equipa. Altera os valores por omissão, acrescenta as tuas licenças proprietárias e repõe tudo sempre que a política mudar.

  • Nenhuma tarefa extra para correr

    A extração de licenças aproveita a leitura do manifesto que o scan SCA já faz.

  • Filtros para cada equipa

    A engenharia filtra por branch e ecossistema para se concentrar no que é seu.

Do alerta à política
  • GPL-3.0 na árvore.

    Um copyleft forte que chegou como dependência transitiva.

  • Julgada pela política.

    SPDX resolvido, os teus ajustes aplicados.

  • Aprovada ou substituída.

    Responsável atribuído, validado pelo jurídico, relatório emitido.

O que as equipas perguntam antes de o ativarem.

Como é decidido o nível de risco de cada licença?
Cada identificador SPDX corresponde a uma de quatro categorias (Permissive, Weak Copyleft, Strong Copyleft ou Unknown), segundo uma classificação integrada que cobre mais de 100 licenças. Cada organização pode ajustar qualquer classificação à sua política jurídica, e o ajuste aplica-se de imediato a todos os seus projetos.
O que acontece quando um pacote não tem licença detetada?
O pacote vai parar à categoria Unknown. A partir do resumo de licenças, podes abri-lo e atribuir-lhe à mão o identificador SPDX correto; o pacote é reclassificado e passa a contar nos contadores certos. As licenças Unknown aparecem primeiro no dashboard, para não se acumularem sem ninguém dar por isso.
A deteção de licenças torna o scan SCA mais lento?
Não. A extração de licenças aproveita a leitura do manifesto que o scan SCA já faz. Não há tarefa à parte, nem uma segunda pipeline, nem uma janela de scan incremental. Os dados de licenças aparecem no mesmo dashboard, ao lado das descobertas de vulnerabilidades.
Podemos acrescentar licenças proprietárias personalizadas?
Sim. A configuração da organização aceita entradas personalizadas com a classificação que escolheres (Permissive, Weak Copyleft, Strong Copyleft ou Unknown). É útil para licenças internas ou acordos com fornecedores que não fazem parte do SPDX, mas que é preciso acompanhar ao lado das licenças open source.
Como são avaliadas as expressões SPDX complexas?
OR escolhe a opção menos restritiva (`MIT OR GPL-3.0-only` → risco efetivo None). AND escolhe a mais restritiva (`MIT AND GPL-3.0-only` → risco efetivo High). WITH avalia a licença base com a exceção aplicada (`GPL-2.0-only WITH Classpath-exception-2.0` → GPL-2.0 com Classpath exception). O dashboard mostra tanto a expressão original como a categoria resultante.