Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-24 02:07 UTC

microsoft / ebpf-for-windows

eBPF implementation that runs on top of Windows

C · C++MIT★ 3528 estrellas⑂ 290 forksdesde abr 2021Ver en GitHub ↗

microsoft/ebpf-for-windows tiene un índice de salud de 85 sobre 100, lo que lo sitúa en la banda Excelente. Su puntuación más alta es Vitality (93/100) y la más baja, Sustainability & Governance (75/100). Se actualizó por última vez hoy. 2 personas concentran la mayor parte del trabajo reciente.

85
global / 100
Excelente

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

85
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

Titularidad

MicrosoftOrganización
125.738 seguidores8217 repositorios públicosdesde dic 2013

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

93Excelente · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
35.3/36Cadencia de commits — 51/52 semanas con commits
18/18Volumen de commits — 315 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year315
human_commit_share0,97
days_since_last_push0
active_weeks_last_year51
Cómo se puntúa
27/27Publica versiones — 30 versiones publicadas
36/36Recencia de las versiones — última versión hace 0 días
19.8/27Cadencia de publicación — una versión cada ~66,2 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count30
latest_release_tagv1.4.0
releases_from_tagsno
days_since_latest_release0
mean_days_between_releases66,2

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

90Excelente · 18% del índice global
Cómo se puntúa
57.5/60Estrellas — 3528 estrellas
20.5/25Forks — 290 forks
9.5/15Observadores — 53 observadores
Datos de entrada utilizados
forks290
stars3528
watchers53
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conduct
has_pull_request_template

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

75Bueno · 24% del índice global
Cómo se puntúa
25.2/54Factor bus — la mitad de los commits recae en 2 contribuyente(s)
13.5/22.5Distribución de commits — el principal contribuyente firma el 40% de los commits
13.5/13.5Amplitud de contribuyentes — 58 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 7 contributing companies or organizations
Datos de entrada utilizados
bus_factor2
contributors_sampled58
top_contributor_share0,399
Cómo se puntúa
40.8/46.8Resolución de issues — 87% de issues cerradas
31.1/38.3Aceptación de PR — 2513/3088 PR decididos fusionados
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Datos de entrada utilizados
merged_prs2513
open_issues272
closed_issues1867
issue_closed_ratio0,873
closed_unmerged_prs575
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
25/25Alcance del propietario — 125.738 seguidores de microsoft
25/25Trayectoria — 8217 repos públicos, cuenta de ~12 años
Datos de entrada utilizados
followers125.738
owner_typeOrganization
is_verified
owner_loginmicrosoft
public_repos8217
account_age_days4608

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

86Excelente · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 21 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter
9.6/9.6Hooks de pre-commit
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_config
Cómo se puntúa
30/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
0/10Topics
10/10Wiki
Datos de entrada utilizados
topics
has_wiki
homepage
has_readme
has_docs_dir
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

82Bueno · 16% del índice global
Cómo se puntúa
3.8/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — sin datos
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
1.2/2.5CII-Best-Practices — badge detected: Passing
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 7 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — sin datos
5/5Pinned-Dependencies — all dependencies are pinned
4.5/5SAST — SAST tool detected but not run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate7,8
Excluidos de la puntuación (sin datos o no aplicable): branch_protection, packaging. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
0/25Dependencias indirectas libres de avisos conocidos — el conjunto transitivo no es separable de las dependencias de desarrollo y prueba en este alcance
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories0
affected_packages0
assessed_packages16
unassessed_packages4
affected_by_severitynone
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Dependencias indirectas libres de avisos conocidos, Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejaron 16 dependencias resueltas con OSV. 4 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido o fuera de la lista de paquetes informada. Este repositorio no publica ningún paquete que el índice resuelva, por lo que se evaluó en su lugar el grafo de dependencias del repositorio. Ese grafo mezcla fijaciones de desarrollo y prueba con las dependencias distribuidas, de modo que solo se puntúan las dependencias declaradas en tiempo de ejecución; los hallazgos transitivos se informan como contexto y quedan excluidos de la puntuación. No se analiza la alcanzabilidad.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

79Bueno · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — .github/copilot-instructions.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 95 de 97 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,979
agent_instruction_files.github/copilot-instructions.md
agent_instruction_max_bytes7149
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
11/11Configuración de lint / formato
11/11Verificación estática de tipos — C (tipado estático)
10/10Entorno reproducible — Dockerfile
10/10Práctica demostrada con agentes — 40 de los últimos 100 commits con autoría o crédito de agente
8/8Mantenimiento automatizado — 3 de los últimos 100 commits son actualizaciones automáticas de dependencias
10/10OpenSSF Scorecard: Pinned-Dependencies — all dependencies are pinned
Datos de entrada utilizados
has_nixno
has_tests
lockfiles
has_dockerfile
typed_language
bootstrap_files
has_devcontainerno
has_linter_config
typecheck_configs
agent_commit_share0,4
toolchain_manifests
dependency_bot_commit_share0,03
Cómo se puntúa
45/45Código verificable por tipos — C (tipado estático)
52.1/55Tamaños de archivo manejables — 35/660 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageC
largest_source_bytes311.514
source_files_sampled660
oversized_source_files35
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — sample
Datos de entrada utilizados
example_dirssample
has_mcp_signalno
api_schema_files

Datos clave

3528estrellas de GitHub
58contribuidores
315commits en los últimos 12 meses
0días desde el último push
30versiones publicadas
2factor bus
272issues abiertas
ecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Más detalle

Historial de estrellas y forks 0 ★ / 290 ⇿
0Estrellas
290Forks
29Versiones

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

050100150200250300280352021-052023-122026-07
Mayor 0Menor 12Parche 2

Cada punto abarca 5 días.

OpenSSF Scorecard 7.8 / 10
7.8agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-24 02:06 UTC

5Binary-Artifactsbinaries present in source code
n/dBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
5CII-Best-Practicesbadge detected: Passing
10Code-Reviewall changesets reviewed
10Contributorsproject has 7 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
n/dPackagingpackaging workflow not detected
10Pinned-Dependenciesall dependencies are pinned
9SASTSAST tool detected but not run on all commits
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Todas las dependencias 20

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 0 paquetes directos y 20 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

RegistroPaqueteVersiónRelación
NuGetboost1.72.0.0indirecta
NuGetCatchOrg.Catch2.2.0indirecta
NuGetEverParse2022.6.13indirecta
NuGetmbedtls2.16.3indirecta
NuGetMicrosoft.Windows.SDK.CPP10.0.26100.6584indirecta
NuGetMicrosoft.Windows.SDK.CPP10.0.28000.1839indirecta
NuGetMicrosoft.Windows.SDK.CPP.$(HostPlatform)indirecta
NuGetMicrosoft.Windows.SDK.CPP.$(Platform)indirecta
NuGetMicrosoft.Windows.SDK.CPP.arm6410.0.26100.6584indirecta
NuGetMicrosoft.Windows.SDK.CPP.x6410.0.26100.6584indirecta
NuGetMicrosoft.Windows.SDK.CPP.x6410.0.28000.1839indirecta
NuGetMicrosoft.Windows.SDK.CPP.x8610.0.26100.6584indirecta
NuGetMicrosoft.Windows.WDK.$(HostPlatform)indirecta
NuGetMicrosoft.Windows.WDK.$(Platform)indirecta
NuGetMicrosoft.Windows.WDK.arm6410.0.26100.6584indirecta
NuGetMicrosoft.Windows.WDK.x6410.0.26100.6584indirecta
NuGetMicrosoft.Windows.WDK.x6410.0.28000.1839indirecta
NuGetMicrosoft.Windows.WDK.x8610.0.26100.6584indirecta
NuGetopen-enclave-cross0.12.0.2indirecta
NuGetWiX3.14.1indirecta
Avisos de dependencias 0

Este repositorio no publica ningún paquete que el índice resuelva, así que se evaluó su propio grafo de dependencias — 16 paquetes, que incluyen también fijaciones de desarrollo y prueba que nunca se distribuyen: 0 tienen avisos conocidos, de los cuales 0 son directas. 4 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido, o fuera de la lista de paquetes informada.

Ningún aviso conocido afecta a las dependencias evaluadas.

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 46290,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "C": 9382380,
        "C++": 2670116,
        "Roff": 31170,
        "CMake": 3815,
        "Shell": 13193,
        "Batchfile": 15151,
        "PowerShell": 281017
      },
      "pushed_at": "2026-07-24T01:49:32Z",
      "created_at": "2021-04-08T00:32:50Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-24T00:19:54Z",
      "description": "eBPF implementation that runs on top of Windows",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "C",
      "significant_languages": [
        "C",
        "C++"
      ]
    },
    "owner": {
      "blog": "https://opensource.microsoft.com",
      "name": "Microsoft",
      "type": "Organization",
      "login": "microsoft",
      "company": null,
      "location": "Redmond, WA",
      "followers": 125738,
      "avatar_url": "https://avatars.githubusercontent.com/u/6154722?v=4",
      "created_at": "2013-12-10T19:06:48Z",
      "is_verified": null,
      "public_repos": 8217,
      "account_age_days": 4608
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2026-07-24T01:49:33Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2026-06-15T04:12:53Z"
        },
        {
          "tag": "v1.2.1",
          "kind": "patch",
          "published_at": "2026-05-23T01:20:39Z"
        },
        {
          "tag": "Release-v1.1.0",
          "kind": "other",
          "published_at": "2026-03-25T00:53:02Z"
        },
        {
          "tag": "Release-v1.0.0-rc2",
          "kind": "other",
          "published_at": "2025-11-24T17:52:02Z"
        },
        {
          "tag": "Release-v1.0.0-rc1",
          "kind": "other",
          "published_at": "2025-10-23T15:14:54Z"
        },
        {
          "tag": "Release-v0.21.1",
          "kind": "other",
          "published_at": "2025-05-01T19:37:19Z"
        },
        {
          "tag": "Release-v0.21.0",
          "kind": "other",
          "published_at": "2025-04-16T08:33:08Z"
        },
        {
          "tag": "Release-v0.19.2",
          "kind": "other",
          "published_at": "2024-12-05T05:55:09Z"
        },
        {
          "tag": "Release-v0.20.0",
          "kind": "other",
          "published_at": "2024-12-05T06:00:00Z"
        },
        {
          "tag": "Release-v0.18.0",
          "kind": "other",
          "published_at": "2024-07-25T17:40:59Z"
        },
        {
          "tag": "Release-v0.17.1",
          "kind": "other",
          "published_at": "2024-06-26T00:27:13Z"
        },
        {
          "tag": "Release-v0.17.0",
          "kind": "other",
          "published_at": "2024-06-15T00:51:50Z"
        },
        {
          "tag": "Release-v0.16.0",
          "kind": "other",
          "published_at": "2024-04-26T00:32:03Z"
        },
        {
          "tag": "Release-v0.15.1",
          "kind": "other",
          "published_at": "2024-04-09T04:24:09Z"
        },
        {
          "tag": "Release-v0.15.0",
          "kind": "other",
          "published_at": "2024-04-01T20:05:41Z"
        },
        {
          "tag": "Release-v0.14.1",
          "kind": "other",
          "published_at": "2024-02-16T01:27:22Z"
        },
        {
          "tag": "Release-v0.13.0",
          "kind": "other",
          "published_at": "2023-12-09T04:03:09Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2023-10-05T20:59:23Z"
        },
        {
          "tag": "v0.11.0",
          "kind": "minor",
          "published_at": "2023-09-13T01:08:04Z"
        },
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2023-08-08T19:53:23Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2023-06-23T00:18:12Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2023-05-04T20:03:37Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2023-04-10T21:23:01Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2023-03-09T21:42:22Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2023-02-14T02:02:10Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2022-10-03T22:33:40Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2022-09-15T10:01:07Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2022-08-09T15:38:05Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2022-07-09T01:01:00Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "a37f5e3d79157b6aa69b4e02d4b8d532f4fbdaa5",
          "body": "Co-authored-by: Shankar Seal (from Dev Box) <sseal@ntdev.microsoft.com>",
          "is_bot": false,
          "headline": "remove JIT stress tests. (#5454)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-07-23T22:46:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43954732f1008484f1de19f76e4b48d0c6c58a5a",
          "body": "Co-authored-by: Shankar Seal (from Dev Box) <sseal@ntdev.microsoft.com>",
          "is_bot": false,
          "headline": "restore cxplat. (#5453)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-07-23T22:39:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f3b2755109be11769e7386715da8751ad2794ca",
          "body": "* Added positive proof of verification test.\n\nSigned-off-by: Nicholas L <nickl239@att.net>\n\n* Added Nuget.config\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Added driver test for proof of verification.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Signed binary copies to \n[…]\n@att.net>\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add drivers tests for proof of verification (#5456)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-07-23T21:59:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f5eb7492cbd6dd766ed51a82bfe7479eadfa6226",
          "body": null,
          "is_bot": false,
          "headline": "fix version (#5446)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-07-22T21:40:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7031396435e3ff3608715bfcea2256848b2457a",
          "body": "* add instrumentation to perf_event__new\n\n* Address PR comments.\n\n---------\n\nCo-authored-by: Shankar Seal (from Dev Box) <sseal@ntdev.microsoft.com>",
          "is_bot": false,
          "headline": "add instrumentation to perf_event__new (#5438)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-07-18T00:48:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "457333a7e0473bc3b583d8680d06122664978c37",
          "body": "* Add permission to modify workflow files\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Move hash to JSON\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Removed stale action permissions\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* renamed variables\n\nSigned-off-\n[…]\nig <nludwig@microsoft.com>\n\n---------\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Alan Jowett <alanjo@microsoft.com>",
          "is_bot": false,
          "headline": "Fix update curl dependencies (#5417)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-07-15T18:19:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4f5232300201d02fc0f35310ced13200fa3ed65f",
          "body": "* Interim hot-add-CPU workaround for epoch initialization\n\nOn systems where KeQueryMaximumProcessorCountEx(ALL_PROCESSOR_GROUPS)\nexceeds the set of processors that are actually schedulable at boot\n(hot-add-capable firmware, BIOS-disabled cores, partial processor\ngroups), ebpf_epoch_initiate() sizes \n[…]\nthub.com>\nCopilot-Session: 307a4c35-daea-4067-9cf5-1769e124763d\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Interim hot-add-CPU workaround for epoch initialization (#5441)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-07-14T17:34:04Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5a80b1d38c82f467a623c255eeabb13896eeb88c",
          "body": "…285)\n\n* Use UserMode for SeAccessCheck calls evaluating user-mode callers\n\nSeAccessCheck was called with KernelMode in ebpf_access_check,\n_ebpf_driver_is_caller_privileged, and ebpf_drv.c. Using KernelMode\ncauses SeAccessCheck to always succeed, bypassing the actual DACL\ncheck and mandatory integri\n[…]\neply.github.com>\n\n* Address remaining PR feedback\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Use UserMode for SeAccessCheck calls evaluating user-mode callers (#5…",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-07-14T03:35:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "616ab9a816a7243b62fbb014c2f7094b52ba9fce",
          "body": "Add execution guidance for pagination, quoting-safe Markdown rendering, row-count reconciliation, live-scope refreshes, and service-account filtering in the PR triage skill.\n\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Improve pr-triage-report skill robustness (#5416)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-07-13T04:57:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0562fc5d8d58337f9f6867a12f7d52ec10dfd072",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Update step-security/harden-runner action to v2.20.0 (#5436)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-13T04:56:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf60270c2bf325fa0f24205da9ebea67729ee9d2",
          "body": "* Issue 5363: added test context for sock_addr\n\n* Updated doc\n\n* Minor changes\n\n* Fixed uninitialized memory at _ebpf_sock_addr_context_create. Workaround for analyzer.\n\n* Issue 5363: added test context for sock_addr\n\n* Updated doc\n\n* Minor changes\n\n* Fixed uninitialized memory at _ebpf_sock_addr_co\n[…]\ng header\n\n* Fixed EverParse generated files (whitespace only changes)\n\n---------\n\nCo-authored-by: Maksim Sudzilouski (386302) <maksims@microsoft.com>\nCo-authored-by: Alan Jowett <alanjo@microsoft.com>",
          "is_bot": false,
          "headline": "Issue 5363: added test context for sock_addr (#5378)",
          "author_name": "Maksim S.",
          "author_login": "maxsud",
          "committed_at": "2026-07-10T18:24:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a911aa18c72b1fb34bb6b37e01af78bc81df30fc",
          "body": "Signed-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>",
          "is_bot": false,
          "headline": "Update ProcDump hash (#5433)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-07-10T17:40:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54d40618cbcade006390446977c1195f8bcda2c2",
          "body": null,
          "is_bot": false,
          "headline": "Update version to 1.5 (#5415)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-07-08T16:28:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee0a677beefcb1048fa5234e5b42211f9b85fe08",
          "body": "* Add bound checks for perf event array.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Add bound checks for perf event array.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Address comments.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Fix nullptr pass\n\nSigned-\n[…]\nig <nludwig@microsoft.com>\n\n---------\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Alan Jowett <alanjo@microsoft.com>",
          "is_bot": false,
          "headline": "Add bound checks for perf event array. (#5391)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-07-07T20:00:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "979b59f9eac14e766638c817a3ff8d4bbe97d10a",
          "body": "Co-authored-by: Shankar Seal (from Dev Box) <sseal@ntdev.microsoft.com>",
          "is_bot": false,
          "headline": "support multiple programs in sample extension. (#5410)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-07-06T22:01:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7760f752afd1593cb9f177ca7afe4af02c84500",
          "body": "…dler (#5409)\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>",
          "is_bot": false,
          "headline": "Bump external/ubpf to fix MSVC C4146 in EBPF_OP_NEG64 interpreter han…",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-07-06T20:39:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4eb6240aa30a3fc014b0ddc7585a421b6cf82d13",
          "body": "* add global virtual bpf_redirect_map helper\n\n* Fix invalid redirect_map sample build\n\n* fix build?\n\n* address all PR comments\n\n* Address redirect_map review feedback\n\n* Update include/bpf_helper_defs.h\n\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>\n\n* cr comments\n\n* fix formatting\n\n---------\n\n[…]\neply.github.com>\nCo-authored-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>\nCo-authored-by: Anurag Saxena <anusa@microsoft.com>",
          "is_bot": false,
          "headline": "Add global virtual bpf_redirect_map helper (#5302)",
          "author_name": "Michael Friesen",
          "author_login": "mtfriesen",
          "committed_at": "2026-07-06T17:57:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "421e37956d13eb6d053b7ea3fa947cd7ca4ee00b",
          "body": "* update regression test version\n\n* update artifact path in the script",
          "is_bot": false,
          "headline": "Update regression test version to 1.3 (#5405)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-07-03T01:36:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "461c80ca2b5a6bef3a86850abe9db7405030c06e",
          "body": "* array map lookup optimizations\n\n* array map lookup optimizations\n\n* update expected files\n\n* fix build\n\n* potential fix\n\n* fix\n\n* update generated files\n\n* format code\n\n* support older programs\n\n* update prefetch for optimized array maps\n\n* update doc\n\n* fix build errors\n\n* update expected files\n\n* update minimum version for optimized array map\n\n* fix for subprograms\n\n* changes\n\n* update expected files\n\n* update skills files\n\n* update expected files\n\n* cr comments",
          "is_bot": false,
          "headline": "bpf2c array map lookup optimization. (#5127)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-07-03T00:52:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0039d1ba1fce05ad5e10287067bf9bf7346f0544",
          "body": "…hed. (#5389)\n\n* Support attaching multiple programs to test hook provider helper class.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\nPR feedback.\n\n* PR comments.\n\n---------\n\nCo-authored-by: Shankar Seal (from Dev Box) <sseal@ntdev.microsoft.com>",
          "is_bot": false,
          "headline": "user mode test hook provider supporting multiple programs to be attac…",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-07-01T22:04:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "aacc33f0c921f84310d47740cebc5550b7860db7",
          "body": "* Updated WDK\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Updated WDK\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Update WDK and switch to vs 2026\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Updated WDK\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.c\n[…]\nig <nludwig@microsoft.com>\n\n---------\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Alan Jowett <alanjo@microsoft.com>",
          "is_bot": false,
          "headline": "Move CI/CD to windows-2025 for VS 2026 support (#5257)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-07-01T21:05:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ff4064ee3ff31b6316eff59c455192f8be797eeb",
          "body": "* Bump external/ubpf to close ubpf_fuzzer ASAN crash\n\nThe fuzzer's `ubpf_get_helper_prototype` stub in\n`libfuzzer/libfuzz_harness.cc` returned a default-constructed\n`EbpfHelperPrototype{}` whose `.name` is a null pointer. Verifier\npaths that assigned `.name` to a `std::string` then dereferenced\nNULL\n[…]\nthored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Bump external/ubpf to close ubpf_fuzzer ASAN crash (#5374)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-06-30T18:17:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2ba6f45eff72d029d2027dab9160dc9620bf2d1a",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Update github-actions (#5401)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-06-29T22:53:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "97381175af248f744ec4c340cc76326604568b1c",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Update github-actions (#5400)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-06-29T16:33:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "275c4aa86e08b6497c45d2fcb5c32c893390494a",
          "body": "Co-authored-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Alan Jowett <alanjo@microsoft.com>",
          "is_bot": false,
          "headline": "Add additional curl retry logic (#5357)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-06-29T16:14:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41538d3016f063f7a16d37463d4c1d02ad65603f",
          "body": "Signed-off-by: Claude Code <claude-code@anthropic.com>\nCo-authored-by: Claude Code <claude-code@anthropic.com>",
          "is_bot": false,
          "headline": "docs: add release regression test reminder (#5398)",
          "author_name": "Polly Labs",
          "author_login": "pollychen-lab",
          "committed_at": "2026-06-29T16:08:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6fca22e5d81204fd4a38d841b9dddda5fa8eccef",
          "body": "…#5379)\n\n* Fix fuzzer stack-buffer-overflow: scope hook client by program type\n\nThe netebpfext fuzzer's hook client attached to ALL hook providers via\nthe generic EBPF_HOOK_EXTENSION_IID NPI, including providers for different\nprogram types that share a WFP layer. When the fuzzer selected\nBPF_PROG_TY\n[…]\nthored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix fuzzer stack-buffer-overflow: scope hook client by program type (…",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-06-29T02:45:58Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9951c3bfe4c209f2b6e33683f13ce04075eae75e",
          "body": null,
          "is_bot": false,
          "headline": "revert ebpf_ctx_descriptor_t to ebpf_context_descriptor_t (#5399)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-06-27T17:06:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84768f04ec8fb5d6ad20ecdfabd014a14bf9e832",
          "body": "While OSS Renovate supports the license field,\nMend Renovate (which github uses) does not.\n\nFixes #5392\n\nSigned-off-by: Dave Thaler <dthaler1968@gmail.com>",
          "is_bot": false,
          "headline": "Remove license from renovate.json (#5393)",
          "author_name": "Dave Thaler",
          "author_login": "dthaler",
          "committed_at": "2026-06-26T05:23:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8db86718a40467de944986220e07f475367c67f2",
          "body": "…d (#5390)\n\nThe perf_buffer_sync_callback_block test spawned a consumer thread that\ncalled REQUIRE(poll_result >= 0) in a loop while the main thread also\ncalled REQUIRE concurrently. Catch2's output-redirect machinery is not\nthread-safe before v3.9.0, so concurrent REQUIRE trips an internal\nassertio\n[…]\nhis file\n(atomic counter + main-thread REQUIRE). See catchorg/Catch2#2935.\n\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix api_test crash: don't call Catch2 REQUIRE from the consumer threa…",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-06-24T22:29:12Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2331c2f5dc3a2c97d0c509e42ad16348439a296d",
          "body": "* Implement EverParse artifact validation\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n* Fix EverParse issue update step\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n* Fix EverParse generated file line endings\n\nCo-authored-by: Copilot <223556219+Co\n[…]\n Avoid opening EverParse divergence issues on PRs\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Implement EverParse artifact validation (#5369)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-06-23T18:23:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b548bdfb22c794b2404954da53eaeea2788fec25",
          "body": "* fix for jit/interpret, add tests\n\n* cr comments",
          "is_bot": false,
          "headline": "Fix JIT / interpret flow for bpf2bpf, add tests (#5337)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-06-19T23:54:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49088b722752e4c486e9530e729179c06f777f74",
          "body": "* Add Visual Studio 2026 (v145) and WDK 10.0.28000.1839 support\n\n- Unified wdk.props with conditional WDKVersion, WindowsTargetPlatformVersion,\n  and EbpfPlatformToolset based on VS version (18.0 vs 17.0)\n- Added PlatformToolset to all user-mode vcxproj files to override WDK default\n- Updated bpf2c \n[…]\nm>\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Alan Jowett <alanjo@microsoft.com>",
          "is_bot": false,
          "headline": "Add Visual Studio 2026 (v145) and WDK 10.0.28000.1839 support (#5375)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-06-19T23:45:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "98de5bf3f2d25011c5f9eade6d2657be05565ba4",
          "body": "…290)\n\n* ebpf_program: Add NULL check for global_helper_function_addresses\n\n_ebpf_program_general_program_information_attach_provider dereferenced\nprogram_data->global_helper_function_addresses without a NULL check.\nIf a provider registers with NULL global_helper_function_addresses,\nthis would cause\n[…]\nFix PNPI_MODULEID qualifiers in helper validation\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "ebpf_program: Add NULL check for global_helper_function_addresses (#5…",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-06-19T15:25:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2492b5ee688df160e96bb70cebed5e2f17b81b44",
          "body": "…r failure (#5287)\n\n* ebpf_program: Fix rollback of program state on NmrClientAttachProvider failure\n\nWhen NmrClientAttachProvider fails in the type-specific program\ninformation attach callback, the error path incorrectly cleared\ngeneral_helper_program_data (wrong field) instead of rolling back\nthe \n[…]\ngithub.com>\n\n* Clean up NMR attach rollback state\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "ebpf_program: Fix rollback of program state on NmrClientAttachProvide…",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-06-19T15:18:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b6133414cca3ba561e675505d3d288ad1d044b12",
          "body": "* Add better code review prompt\n\nSigned-off-by: Alan Jowett <alan.jowett@microsoft.com>\n\n* Update .github/skills/adversarial-branch-review/SKILL.md\n\nCo-authored-by: Andrew Beltrano <2082148+abeltrano@users.noreply.github.com>\n\n---------\n\nSigned-off-by: Alan Jowett <alan.jowett@microsoft.com>\nCo-authored-by: Alan Jowett <alan.jowett@microsoft.com>\nCo-authored-by: Andrew Beltrano <2082148+abeltrano@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add better code review prompt (#5377)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-06-17T19:19:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32904fd9aa9e851a7bebf2a018539eec245e848a",
          "body": "Issue #5360 reported an ASan stack-buffer-overflow READ of size 4 in\nthe netebpfext fuzzer, fired from _net_ebpf_extension_sock_addr_bind_process_verdict\nwhen invoked on the call stack of net_ebpf_ext_resource_allocation_classify\n(the legacy BIND program type's WFP classifier).\n\nThe bind classifier \n[…]\neferenced in this repo\ntoday but consistent with the existing helper API).\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Bump external/usersim to acb95c9 (fix test_callout pairing) (#5371)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-06-14T04:48:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8385d0eba2ab1cd45affb79edc7ff98f0badc09f",
          "body": "SeCaptureSubjectContext captures token references that must be\nreleased via SeReleaseSubjectContext. Both ebpf_access_check and\nebpf_platform_get_authentication_id were missing this call, leaking\nkernel token object references on every invocation.\n\nAdd SeReleaseSubjectContext on all return paths in both functions.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "ebpf_platform: Add missing SeReleaseSubjectContext calls (#5288)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-06-11T15:59:37Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6df1c33389616f6fd45d754f8caf5426745ef1c6",
          "body": "* Add listen hook to sock_addr: WFP callout, classify, types, and registration\n\nAdd support for eBPF programs that hook into listen() socket calls via\nWFP ALE_AUTH_LISTEN_V4/V6 layers, enabling security/observability for\nlisten operations. Closes #4480.\n\n- Define EBPF_ATTACH_TYPE_CGROUP_INET4/6_LIST\n[…]\nthored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add listen hook implementation to sock_addr (#5268)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-06-10T05:17:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aab4a652b20f105811cacb6167b746417b6a5df1",
          "body": "Co-authored-by: Laksh Kotian <lakshkotian@microsoft.com>",
          "is_bot": false,
          "headline": "Remove ubpf from arm build (#5342)",
          "author_name": "Laksh",
          "author_login": "LakshK98",
          "committed_at": "2026-06-09T20:56:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "755f1794aad7bd296629315cca7fcf826730a7fb",
          "body": null,
          "is_bot": false,
          "headline": "Add callgraph_bpf2bpf test declaration (#5356)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-06-09T00:40:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a01f73a10797d4b0db7230d7c513014e51dca37c",
          "body": "* Update BPF version minor number to 4\n\n* Update BPF2C version to 1.4\n\n* Update BPF version from 1.3 to 1.4\n\n* Update BPF version minor number to 4\n\n* Update BPF version minor from 3 to 4\n\n* Update BPF version from 1.3 to 1.4",
          "is_bot": false,
          "headline": "Update bind test prog version (#5347)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-06-08T18:26:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00053ce6b11b51186861b27853a20c6e1927b5fa",
          "body": "* Align bind hook with Linux: add CGROUP_INET4/6_BIND attach types\n\nAdd new attach types BPF_CGROUP_INET4_BIND and BPF_CGROUP_INET6_BIND under\nthe existing BPF_PROG_TYPE_CGROUP_SOCK_ADDR program type. This provides a\nLinux-aligned bind hook using bpf_sock_addr_t, enabling cross-platform eBPF\nprogram\n[…]\nthored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Implement sock_addr bind hook (#5272)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-06-06T02:25:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5d0e270bd7c9f0effb2f1119a2e81aac2cdc8ddd",
          "body": "* update version\n\n* update expected files\n\n* add missing expected files",
          "is_bot": false,
          "headline": "Update version to 1.4 (#5333)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-06-05T21:36:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb5652652cc0b095af0b6c2d05a648cfc7e0791b",
          "body": "…189)\n\n* WIP - PR part 1\n\n* ready for CR\n\n* updates - add threadedDPC for completion\n\n* docs: address trivial PR feedback\n\n- Fix TOC anchor for AUTH_CONNECT/AUTH_RECV_ACCEPT (slash maps to double dash)\n\n- Remove FwpsPendClassify reference in DATAGRAM_DATA section -- per the layer table, datagram use\n[…]\ned',\n  which was ambiguous across REINVOKE loops)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "[doc][netebpfext] Add proposal for async operations in netebpfext (#5…",
          "author_name": "Matthew Ige",
          "author_login": "matthewige",
          "committed_at": "2026-06-04T16:16:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ff82ab20a55c3087d996787eee360113e2241641",
          "body": "Fixes #5329\n\nSigned-off-by: Dave Thaler <dthaler1968@gmail.com>",
          "is_bot": false,
          "headline": "Add fuzz test checkbox in PR template (#5331)",
          "author_name": "Dave Thaler",
          "author_login": "dthaler",
          "committed_at": "2026-06-03T01:42:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aee91178f797f6f5588f3cda8271d53aacf7e16a",
          "body": null,
          "is_bot": false,
          "headline": "update verifier submodule (#5335)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-06-02T18:51:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "218f09e13dc9b41273b5636debbcd76c2ff3f328",
          "body": "…and map access from subprograms (#5274)\n\n* fix\n\n* add missing sample program\n\n* fix\n\n* update tests\n\n* update expected files\n\n* update tests\n\n* cleanup\n\n* fix helper update callback, add tests\n\n* Potential fix for pull request finding\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilo\n[…]\ny.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix bpf2bpf calls: global helper index, runtime_context propagation, …",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-06-01T22:55:03Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bb44add485b6c0c62633a0e760cbc09c50eaff33",
          "body": "…update codecov-action to v6.0.1 (#5305)\n\n* fix: remove invalid functionalities input and add CODECOV_TOKEN to all codecov upload steps\n\nAgent-Logs-Url: https://github.com/microsoft/ebpf-for-windows/sessions/dbc655ad-3a29-4e19-98fe-3699b3b4c7d2\n\nCo-authored-by: saxena-anurag <43585259+saxena-anurag@\n[…]\n copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>\nCo-authored-by: Anurag Saxena <anusa@microsoft.com>",
          "is_bot": false,
          "headline": "fix: pass CODECOV_TOKEN, remove invalid `functionalities` input, and …",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-06-01T22:34:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "477928acde5608598cde3b7d9ce7e5dd46375fb2",
          "body": "* Switched to curl to download dependencies instead of Choco\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Added additional error check for OpenCPP\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Switched to curl to download dependencies instead of Choco\n\nSigned-off-by: Nicho\n[…]\ns have updated hashes\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n---------\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>",
          "is_bot": false,
          "headline": "Switch from using choco to curl in pipeline (#5255)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-06-01T19:28:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "05b1b5a93d797834d438e115dfb07e7b27d00b44",
          "body": "* Fixed bug to sort by latest version.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Fixed bug to sort by latest version.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Fixed bug to sort by latest version.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Escape pac\n[…]\nated regex formatting\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n---------\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>",
          "is_bot": false,
          "headline": "Update-WdkVersion.ps1 now sorts by latest version (#5258)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-06-01T19:24:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aad8c3af63e82488865c4b44e2d4e15bcd41e3ac",
          "body": "The official_main pipeline (defined in microsoft/undock/ES) builds via\n`/t:tools\\onebranch /p:BuildOneBranch=True` and produces an artifact\nwhere binaries live under a `bin/` subdirectory. Two gaps caused the\nES-side test pipeline (Official.ebpf-for-windows.test) to fail when\nconsuming these artifac\n[…]\nlds and `install_ebpf.psm1` discovers it before MSI\ninstallation; `sample_ebpf_ext.sys` is discovered in `$pwd\\bin\\` for\nboth Debug and Release.\n\nCo-authored-by: Matthew Ige <matthewige@microsoft.com>",
          "is_bot": false,
          "headline": "Fix official_main artifact layout for test pipeline (#5319)",
          "author_name": "Matthew Ige",
          "author_login": "matthewige",
          "committed_at": "2026-05-28T17:57:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bd3f6c1c19e832d1cb4dddd92f5936fd5745608c",
          "body": "…by-zero (#5283)\n\nebpf_program_execute_test_run did not validate that repeat_count is\nnon-zero before passing it to the work item, which divides cumulative\nduration by repeat_count. While the IOCTL handler already defaults\nrepeat_count to 1 when 0 is provided, ebpf_program_execute_test_run\nis a publ\n[…]\n ebpf_program_execute_test_run to return\nEBPF_INVALID_ARGUMENT when repeat_count is 0, and add a corresponding\nnegative test case.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "ebpf_program: Reject repeat_count == 0 in test run to prevent divide-…",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-05-27T22:12:47Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d5e15b382539dab14a174470a1187fcdaaa05d9c",
          "body": "…ork (#5267)\n\n* Test infra: add listen error and socket family support to test framework\n\n- socket_helper: Add expected_listen_error parameter to\n  _stream_server_socket, add socket_family_t parameter to _server_socket.\n  Fix initialize_accept_socket() to use matching address family for AcceptEx.\n- \n[…]\nthored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Test infra: add listen error and socket family support to test framew…",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-05-26T18:42:41Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "cd22f202d18d1d689e17c62c571229e783b6303e",
          "body": "The following binaries are invoked from scripts/run_driver_tests.psm1\non the driver-test VMs but are not currently built by the official\n'onebranch' target. Add them as ProjectReferences so they ship in the\nofficial build artifact:\n\n- bpftool_tests.exe (CI/CD driver tests)\n- sample_ext_app.exe (CI/C\n[…]\npf_stress_tests_km.exe (KM stress tests)\n\nThis removes the need for a separate native_only_test build stage to\nproduce the driver-test binaries.\n\nCo-authored-by: Matthew Ige <matthewige@microsoft.com>",
          "is_bot": false,
          "headline": "Add driver test binaries to onebranch build target (#5309)",
          "author_name": "Matthew Ige",
          "author_login": "matthewige",
          "committed_at": "2026-05-22T21:43:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "16d0ed485341e6abb9e258ffee5d9167f68a49f3",
          "body": null,
          "is_bot": false,
          "headline": "Add mayfail tag to stress test cases (#5277)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-05-22T06:25:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "028632e7573328d343d6ce2df085a745965d0594",
          "body": "Invoke test_cgroup_inet4_connect_authorization and\ntest_cgroup_inet6_connect_authorization from the BPF_PROG_TYPE_CGROUP_SOCK_ADDR\narm of the netebpfext libfuzzer harness. The helpers were added when the\nCONNECT_AUTHORIZATION readonly context test landed (PR #5230) but the fuzzer\ndispatch was not up\n[…]\nath and its filter\ncontext lifecycle uncovered by fault-injection fuzzing.\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fuzz CONNECT_AUTHORIZATION hook in netebpfext_fuzzer (#5297)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-05-22T02:06:11Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "722d8d58dd61ded623342ed49e338816c846715d",
          "body": "* Exclude bpf2c expected files from clang-format\n\nThese files are generated by bpf2c from sample BPF programs (see scripts/generate_expected_bpf2c_output.ps1) and serve as golden output for bpf2c_tests. Reformatting them with clang-format would break the tests until regenerated, so a .clang-format w\n[…]\nuthored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCo-authored-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Exclude bpf2c expected files from clang-format (#5282)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-05-21T22:21:58Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ac4d62bd898b4aaa5fdfaf6b2709a622f5f1d4ec",
          "body": "…ame PE section (#5280)\n\n* fix\n\n* update tests",
          "is_bot": false,
          "headline": "Fix native PE parsing to support multiple eBPF programs sharing the s…",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-05-20T23:30:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4c220b0afb37c69e2772fc0b3b1a7546528971d",
          "body": "* Use cxplat safe integer helpers\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n* Cover remaining safe integer paths\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n* Fix /analyze errors\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.\n[…]\nreview: no failure path after delete notification\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Use cxplat safe integer helpers (#5200)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-05-19T17:53:52Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "464e55b1da9b4afd8ae050510eb5021ccd1361f5",
          "body": "* Add CONNECT_AUTHORIZATION readonly context test\n\nAdd a socket test that covers the netebpfext path which rejects CONNECT_AUTHORIZATION programs that mutate read-only sock_addr context. Introduce a dedicated sample program that modifies the destination port while returning a soft permit, and add it\n[…]\n\n* Remove perf.yml accidentally re-added by merge\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add CONNECT_AUTHORIZATION readonly context test (#5230)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-05-15T22:26:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "094e6c71fa14ccd67caacd9df137c15c520a2065",
          "body": "* update verifier, fix build errors\n\n* update verifier\n\n* fix build\n\n* update binary dependencies\n\n* update binary dependencies\n\n* update verifier submodule\n\n* cr comments",
          "is_bot": false,
          "headline": "Update verifier submodule, fix breaking changes. (#5216)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-05-13T20:08:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a5443e86d54da9d9642c5c3fbe6f11fb45821d8",
          "body": "* compiling common submodule\n\n* basic rundown functions replaced\n\n* include fixes\n\n* fuzzer header include\n\n* consume tracelog\n\n* remove header\n\n* update gitmodule\n\n* refactor net_ebpf to ebpf\n\n* fix include path\n\n---------\n\nCo-authored-by: Laksh Kotian <lakshkotian@microsoft.com>",
          "is_bot": false,
          "headline": "Consume ebpf-extension-common (#5075)",
          "author_name": "Laksh",
          "author_login": "LakshK98",
          "committed_at": "2026-05-13T19:44:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ae3779327b01443eee95601308fdaebaf67136b",
          "body": null,
          "is_bot": false,
          "headline": "Updating ProcDump hash in Azure Pipelines (#5263)",
          "author_name": "VINOD KLSWAMY",
          "author_login": "kumarvin123",
          "committed_at": "2026-05-13T18:35:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb3a9b627c93362d698688989f97c1486b5bb3b4",
          "body": "* IOCTL Interface changes\n\n* Ring Buffer Unmap changes\n\n* Fix perf_event_array test for ring buffer unmap API change\n\n* Fix SAL annotations on unused unmap parameters\n\nChange _In_ to _In_opt_ for consumer, producer, and data parameters\nin ebpf_ring_buffer_map_unmap_buffer_with_index since these valu\n[…]\n_reopen\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Alan Jowett <Alan.Jowett@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Miscellaneous Bug Fixes for 26_05  (#5229)",
          "author_name": "VINOD KLSWAMY",
          "author_login": "kumarvin123",
          "committed_at": "2026-05-12T00:13:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c20dc7e1453ae110e06c1a12952326201c75104c",
          "body": null,
          "is_bot": false,
          "headline": "Updating Prodcump.zip Hash (#5252)",
          "author_name": "VINOD KLSWAMY",
          "author_login": "kumarvin123",
          "committed_at": "2026-05-11T22:11:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "410aa8acc4a237ed5140b153eeec7f5dcd4e25ca",
          "body": "* Update usersim\n\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\n\n* Restrict handle type in object reference\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n* Update usersim submodule to fix ARM64 alignment errors\n\nPoints to microsoft/usersim fix/arm64-object-type-alignment\n[…]\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update usersim (#5232)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-05-07T15:45:31Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4eab691900712e217e730fd1e5db05d5c1f9ead9",
          "body": "* fix\n\n* fix leak",
          "is_bot": false,
          "headline": "[custom maps] bugfix: Update check for `pre-free` case (#5224)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-05-05T18:22:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1a5299cb426519ab240dc53f5fcd28df71881db",
          "body": "Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Remove standalone performance workflow (#5223)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-05-04T19:47:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "56cd967c8b715f7eb6a072233bda0218789c5276",
          "body": "…(#5095)\n\n* Fix connect_redirect test cascading failures and overlapped I/O leak\n\nFixes #5094, #5096, #5105\n\nconnect_redirect_tests have a flaky failure pattern where one test\ntimeout causes cascading failures in subsequent tests. Root causes:\n\n1. Policy map cleanup missing on exception - update_pol\n[…]\nthored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix connect_redirect test cascading failures and overlapped I/O leak …",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-05-01T22:08:29Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "eee378e62c3cee1328129c929d43d96ca9ea2fed",
          "body": "* Add EverParse-based IOCTL message validation\n\nAdd formal validation of IOCTL message structure using EverParse 3D\nspecification. The generated validator is compiled as a separate\ntranslation unit in both user-mode and kernel-mode execution context\nlibraries, following the pattern used by nvlib in \n[…]\ngithub.com>\n\n* Address follow-up PR 5081 comments\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add EverParse-based IOCTL message validation (#5081)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-05-01T17:15:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6061e0592eaba61efbfb656a9a35b736d3645dbd",
          "body": "* remove lock, add concurrency test\n\n* remove lock from delete flow\n\n* cr comments, make delete entry callback void\n\n* fix tests\n\n* remove fault injection from delete entry path\n\n* fix test failure\n\n* Update tests/end_to_end/end_to_end.cpp\n\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>\n\n* fix\n\n* fix\n\n* update tests\n\n---------\n\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>",
          "is_bot": false,
          "headline": "Remove map level lock from custom map operations. (#5186)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-04-30T22:43:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c228c7dd395e56fe72129bca5dca7b963dbd380",
          "body": "* Fix intermittent recv_accept hard permit test timeout (#4978)\n\nReset client/server sockets after each sub-test in execute_connection_test\ninstead of only after allow results.\n\nRoot cause: connection_test_recv_accept_hard_permit runs two sub-tests on\nthe same TCP socket pair -- sub-test 0 (soft per\n[…]\n@gmail.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>",
          "is_bot": false,
          "headline": "Fix intermittent recv_accept hard permit test timeout (#4978) (#5187)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-04-30T19:35:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1930b55ae7dcaf874ef67eb985329ff1f974fea7",
          "body": "…orization6 (#4750)\n\n* Add support for cgroup/auth_connect4 and cgroup/auth_connect6 attach types\n\nAdd new BPF_CGROUP_INET4_AUTH_CONNECT and BPF_CGROUP_INET6_AUTH_CONNECT\nattach points for authorization of outbound connections:\n- Add new hook types and program types in ebpf_nethooks.h\n- Add attach t\n[…]\ny.github.com>\n\n---------\n\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\nCo-authored-by: Alan Jowett <alan.jowett@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add support for cgroup/connect_authorization4 and cgroup/connect_auth…",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-04-30T03:21:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a38311626bd8ad3f8669add84cb2dd1c7fc3ad72",
          "body": "PR #5131 made nuget.vcxproj and redist-package.vcxproj incrementally\ncorrect, which inadvertently broke the OneBranch post-signing repack.\nThe post-build.ps1 script re-invokes MSBuild on these projects to\nrepack nupkgs with signed binaries, but MSBuild now correctly skips\nthe CustomBuild step becaus\n[…]\nps1 to pass ForceRepack=true\non the nuget and redist-package repack calls.\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix OneBranch signed-nupkg repack after #5131 (#5210)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-04-29T19:54:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d978b751e7549e6847320ff9bc231bb27187d7a8",
          "body": null,
          "is_bot": false,
          "headline": "Added tcp_udp_listener.exe to vpack (#5211)",
          "author_name": "VINOD KLSWAMY",
          "author_login": "kumarvin123",
          "committed_at": "2026-04-29T19:47:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "addc2f7ab40c3d17abacd812262a2f52952c8b48",
          "body": null,
          "is_bot": false,
          "headline": "Adding connect_redirect_tests.exe to vpack (#5208)",
          "author_name": "VINOD KLSWAMY",
          "author_login": "kumarvin123",
          "committed_at": "2026-04-28T21:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "759f9e8c0e48e4b34399dd668b2a3227447390df",
          "body": "* Updated Main Version to 1.3.0\n\n* Updating the Version in test collateral",
          "is_bot": false,
          "headline": "Updated Main Version to 1.3.0 (#5207)",
          "author_name": "VINOD KLSWAMY",
          "author_login": "kumarvin123",
          "committed_at": "2026-04-28T02:12:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c4c6802404e4a2be187f78c9943500f590969db",
          "body": "* Fix fault injection crash in NmrRegisterClient.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Clean up handles on failure\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Clean up table pointer\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n---------\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>",
          "is_bot": false,
          "headline": "Fix fault injection crash in NmrRegisterClient (#5192)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-04-24T23:36:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76bc17b835ff1f8c6040697c6094c905d61149f5",
          "body": "* register BPF_MAP_TYPE_XSKMAP\n\n* add missing defs and add compile asserts\n\n* revert commented changes / whitespace\n\n* fix and update fuzz test, too",
          "is_bot": false,
          "headline": "Register BPF_MAP_TYPE_XSKMAP (#5179)",
          "author_name": "Michael Friesen",
          "author_login": "mtfriesen",
          "committed_at": "2026-04-23T18:50:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b9314aaa0d0cf23fec7a0f73ca2a86cb0690da0",
          "body": "* Added positive proof of verification test.\n\nSigned-off-by: Nicholas L <nickl239@att.net>\n\n* Added Nuget.config\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Added driver test for proof of verification.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Signed binary copies to \n[…]\n@att.net>\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Anurag Saxena <43585259+saxena-anurag@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Adding driver tests for proof of verification (#4975)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-04-23T18:23:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6106482786311b2cf83bc53fbfc5afef7e1a5615",
          "body": "* Include sample .o in nuspec.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Include sample .o in nuspec.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Added new package build.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n* Removed samples from redist nuspec.\n\nS\n[…]\ne nupkg durinf ci/cd.\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\n\n---------\n\nSigned-off-by: Nicholas Ludwig <nludwig@microsoft.com>\nCo-authored-by: Nicholas Ludwig <nludwig@microsoft.com>",
          "is_bot": false,
          "headline": "Include sample .o in nuspec. (#5165)",
          "author_name": "Nicholas L",
          "author_login": "nmlud21",
          "committed_at": "2026-04-21T15:23:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8e7d0a8afb53ee21623022b0c4f1058fc6d373fa",
          "body": "* Revise release process documentation\n\nUpdated the release process documentation to clarify version updating and publishing steps.\n\n* Update docs/ReleaseProcess.md\n\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>\n\n---------\n\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>",
          "is_bot": false,
          "headline": "Revise release process documentation (#5167)",
          "author_name": "Shankar Seal",
          "author_login": "shankarseal",
          "committed_at": "2026-04-20T21:56:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b36b2e9ca30fd03da6706dab8887262a5f93e2b",
          "body": "* bpf2c/nuget: Track script dependencies as CustomBuild inputs (#5003)\n\nAdd AdditionalInputs to CustomBuild items in bpf2c.vcxproj and nuget.vcxproj so that changes to helper scripts and\ndata files correctly trigger rebuilds:\n\n - bpf2c_dll.c / bpf2c_driver.c: track escape_text.ps1\n - bpf2c.exe.manif\n[…]\nthored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix nuget.vcxproj Outputs mismatch for Release configurations (#5131)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-04-20T21:55:22Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5e0a71bf176de6323d48f9b2a206ea305158ee7b",
          "body": "* add proposal doc\n\n* update doc\n\n* update doc\n\n* cr comments\n\n* update design doc\n\n* proposal doc\n\n* CR comments\n\n* CR comments\n\n* update file name\n\n* address cr comments, update doc\n\n* Apply suggestions from code review\n\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>\n\n* address cr comments, add more details\n\n* update doc\n\n* cr comments\n\n* Update docs/CustomMaps.md\n\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>\n\n---------\n\nCo-authored-by: Dave Thaler <dthaler1968@gmail.com>",
          "is_bot": false,
          "headline": "[doc] Custom maps design (#4882)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-04-20T20:21:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d72467d9d2fa2070f708c535d2ce34111e392e3",
          "body": "All documentation snippets showing program_runtime_context_t were\nmissing the ebpf_native_module_header_t header field that exists in\nthe actual definition in include/bpf2c.h. Update all three doc files\nto match the real struct layout.\n\nFixes #5093\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add missing header field to program_runtime_context_t in docs (#5175)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-04-16T15:22:05Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1a60263459d40a62a978299d24cc08986499d1eb",
          "body": null,
          "is_bot": false,
          "headline": "changes (#5173)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-04-14T19:05:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3ea0f30492fe0abf44b90baa0d95622c822ecb2",
          "body": "* Add support for native\n\nSigned-off-by: Alan Jowett <alan.jowett@microsoft.com>\n\n* Fix KM stress test linker error: move UM-only call to UM cleanup\n\nMove set_require_allowed_in_test_helper() call from the shared\nebpf_stress_tests.cpp into the UM-specific test_process_cleanup()\nin stress_tests_um.cp\n[…]\nlan.jowett@microsoft.com>\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\nCo-authored-by: Alan Jowett <alan.jowett@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add support for native in stress test suite. (#5072)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-04-13T17:46:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "21c48e0e7e7c4974e88df501b291ecfa463791dc",
          "body": null,
          "is_bot": false,
          "headline": "fixes for intenral pipeline (#5163)",
          "author_name": "Matthew Ige",
          "author_login": "matthewige",
          "committed_at": "2026-04-09T18:34:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d3ac6348d969fdf174a2ecc9cfda1ff865a5a0e",
          "body": "* Add proposal for adding a listen hook\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\n\n* Align listen hook proposal with Linux BPF_CGROUP_INET4/6_LISTEN semantics\n\n- Fix Design Rationale: Linux does define BPF_CGROUP_INET4/6_L\n[…]\nnoreply.github.com>\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\n\n---------\n\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add proposal for adding a listen hook (#4761)",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-04-09T15:40:56Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f4b7e859a341fc7a6b8c12ceaa14c46a48cbc16b",
          "body": "…ismatch (#5152)\n\n* Add regression test for OOB access in _initialize_ebpf_programs_native\n\nProblem: _initialize_ebpf_programs_native iterates using count_of_programs\nfrom a kernel IOCTL reply without validating it against programs.size()\n(populated from PE section parsing). When these counts disagr\n[…]\npilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix OOB access in _initialize_ebpf_programs_native on program count m…",
          "author_name": "Andrew Beltrano",
          "author_login": "abeltrano",
          "committed_at": "2026-04-08T22:07:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "81fb54e49145d956ffbb0a48c056ec38657a65af",
          "body": "* update dispatch function names\n\n* cr comments",
          "is_bot": false,
          "headline": "[custom maps] Update dispatch function names (#5149)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-04-07T16:23:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa2b1e2f58d8c37920d2cf643c51b75bffef2226",
          "body": "* apply some fixes - compression logic and test failure logic\n\n* force crash for validation\n\n* Test 2\n\n* more fixes\n\n* remove temp changes for testing\n\n* additional changes - add heartbeat logging, session timeout\n\n* fix\n\n* more fixes\n\n* more fixes\n\n* WPRP fixeS\n\n* more fixes\n\n* more fixes\n\n* anothe\n[…]\n really needed\n\n* more minor updates for reliability, add documentation\n\n* fixes\n\n* fix pipeline\n\n* WIP\n\n* fixingm ore failures\n\n* address CR\n\n* address CR\n\n* keep test names the same they were before",
          "is_bot": false,
          "headline": "Update 1ES runners to Gen2 Inner VMs (#5146)",
          "author_name": "Matthew Ige",
          "author_login": "matthewige",
          "committed_at": "2026-04-07T15:59:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "14f0e9a9f5be8f74746e7daafdee9fb0a1962b53",
          "body": "* Bump eBPF version to 1.2.0\n\nUpdate product version from 1.1.0 to 1.2.0 in version.json and\nDirectory.Build.props, and regenerate expected bpf2c output.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n* fix code size\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\n\n---------\n\nCo-authored-by: Michael Agun <danielagun@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Bump eBPF version to 1.2.0 (#5130)",
          "author_name": "D. Michael Agun",
          "author_login": "mikeagun",
          "committed_at": "2026-04-06T17:42:18Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b6659d6e2209fcecef4c038cbf46a39ef76d807a",
          "body": "* prefetch+tail_call fix in bpf2c\n\n* updated expected files\n\n* fix unit tests\n\n* update expected files",
          "is_bot": false,
          "headline": "bpf2c optimizations (#5126)",
          "author_name": "Anurag Saxena",
          "author_login": "saxena-anurag",
          "committed_at": "2026-04-06T17:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b46278f1d10256ba2e7aa3b46f6f6cb9d617a5cb",
          "body": "…nor reliability fixes (#5158)\n\n* revert back to gen1\n\n* temporary cahnges for testing - REVERT LATER\n\n* revert subset of the previous 1es commit\n\n* small set of reliability fixes\n\n* additional items to revert, add hold machine\n\n* attempt workaround\n\n* fixes\n\n* update based on official guidance\n\n* more fixes\n\n* fixes\n\n* revert unneded change\n\n* remove more unneded changes",
          "is_bot": false,
          "headline": "Resolve issues with 1ES runner test jobs, revert back to gen 1 VM, mi…",
          "author_name": "Matthew Ige",
          "author_login": "matthewige",
          "committed_at": "2026-04-04T01:03:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b8ad56de87605e32c71d92dad042e3725b3ef0d",
          "body": "* Install LLVM\n\n* Copy all .o and .sys files",
          "is_bot": false,
          "headline": "Install LLVM in onebranch pipelines (#5137)",
          "author_name": "VINOD KLSWAMY",
          "author_login": "kumarvin123",
          "committed_at": "2026-03-29T21:37:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "617c6275c27027426ffcb7f83812714e17e81da2",
          "body": "…(#5046)\n\n* Remove generated password and use of credential manager, move to hardcoded password\n\n* Updates and cleanup\n\n* CR\n\n* CR - leave credential manager support for remote VM\n\n* update cleanup script usage too\n\n* Remove generated password and use of credential manager, move to hardcoded password\n\n* Updates and cleanup\n\n* CR\n\n* CR - leave credential manager support for remote VM\n\n* update cleanup script usage too\n\n* Attempt some fixes - session reliability and ETL cleanup\n\n* oops",
          "is_bot": false,
          "headline": "[1ES runners] Remove generated password and credential manager usage …",
          "author_name": "Matthew Ige",
          "author_login": "matthewige",
          "committed_at": "2026-03-27T18:00:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbf7ca69307e83a9383d40e81e4337f950d927f0",
          "body": "…st binaries for vpack (#5135)",
          "is_bot": false,
          "headline": "Updated the test project references for oneBranch build to include te…",
          "author_name": "VINOD KLSWAMY",
          "author_login": "kumarvin123",
          "committed_at": "2026-03-23T18:50:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "801745bb359aec64ea487f52921bfcbac463359f",
          "body": "…d (#5077)\n\n* docs: add crash dump debugging instructions to copilot-instructions.md\n\nAdd a Crash Dump Debugging section covering prerequisites (CDB/WinDbg\nand mcp-windbg setup), artifact downloading, CDB analysis commands,\nmcp-windbg server usage, and common fault injection crash patterns.\n\nCo-auth\n[…]\nnoreply.github.com>\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\n\n---------\n\nSigned-off-by: Alan Jowett <alanjo@microsoft.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "docs: add crash dump debugging instructions to copilot-instructions.m…",
          "author_name": "Alan Jowett",
          "author_login": "Alan-Jowett",
          "committed_at": "2026-03-23T18:46:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        }
      ],
      "releases_count": 30,
      "commits_last_year": 315,
      "latest_release_at": "2026-07-24T01:49:33Z",
      "latest_release_tag": "v1.4.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 51,
      "days_since_latest_release": 0,
      "mean_days_between_releases": 66.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 290,
      "stars": 3528,
      "watchers": 53,
      "fork_history": {
        "days": [
          {
            "date": "2021-05-10",
            "count": 7
          },
          {
            "date": "2021-05-11",
            "count": 12
          },
          {
            "date": "2021-05-12",
            "count": 12
          },
          {
            "date": "2021-05-13",
            "count": 3
          },
          {
            "date": "2021-05-14",
            "count": 1
          },
          {
            "date": "2021-05-17",
            "count": 3
          },
          {
            "date": "2021-05-21",
            "count": 1
          },
          {
            "date": "2021-06-11",
            "count": 1
          },
          {
            "date": "2021-06-15",
            "count": 1
          },
          {
            "date": "2021-06-22",
            "count": 1
          },
          {
            "date": "2021-06-24",
            "count": 2
          },
          {
            "date": "2021-07-02",
            "count": 1
          },
          {
            "date": "2021-07-06",
            "count": 1
          },
          {
            "date": "2021-07-08",
            "count": 1
          },
          {
            "date": "2021-07-14",
            "count": 1
          },
          {
            "date": "2021-07-16",
            "count": 1
          },
          {
            "date": "2021-07-27",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-08-05",
            "count": 1
          },
          {
            "date": "2021-08-12",
            "count": 1
          },
          {
            "date": "2021-08-13",
            "count": 1
          },
          {
            "date": "2021-08-24",
            "count": 1
          },
          {
            "date": "2021-09-06",
            "count": 1
          },
          {
            "date": "2021-09-14",
            "count": 1
          },
          {
            "date": "2021-09-19",
            "count": 1
          },
          {
            "date": "2021-09-22",
            "count": 1
          },
          {
            "date": "2021-10-02",
            "count": 1
          },
          {
            "date": "2021-10-08",
            "count": 1
          },
          {
            "date": "2021-10-09",
            "count": 1
          },
          {
            "date": "2021-10-18",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-11-20",
            "count": 1
          },
          {
            "date": "2021-11-29",
            "count": 1
          },
          {
            "date": "2021-12-10",
            "count": 1
          },
          {
            "date": "2021-12-17",
            "count": 1
          },
          {
            "date": "2022-01-03",
            "count": 1
          },
          {
            "date": "2022-01-04",
            "count": 1
          },
          {
            "date": "2022-01-09",
            "count": 1
          },
          {
            "date": "2022-01-19",
            "count": 1
          },
          {
            "date": "2022-01-23",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-11",
            "count": 1
          },
          {
            "date": "2022-02-16",
            "count": 2
          },
          {
            "date": "2022-02-18",
            "count": 1
          },
          {
            "date": "2022-02-19",
            "count": 1
          },
          {
            "date": "2022-02-20",
            "count": 1
          },
          {
            "date": "2022-02-21",
            "count": 1
          },
          {
            "date": "2022-02-22",
            "count": 1
          },
          {
            "date": "2022-03-12",
            "count": 1
          },
          {
            "date": "2022-03-14",
            "count": 1
          },
          {
            "date": "2022-03-16",
            "count": 1
          },
          {
            "date": "2022-03-17",
            "count": 1
          },
          {
            "date": "2022-03-18",
            "count": 1
          },
          {
            "date": "2022-03-26",
            "count": 1
          },
          {
            "date": "2022-03-28",
            "count": 2
          },
          {
            "date": "2022-03-29",
            "count": 1
          },
          {
            "date": "2022-04-21",
            "count": 1
          },
          {
            "date": "2022-04-25",
            "count": 1
          },
          {
            "date": "2022-05-07",
            "count": 1
          },
          {
            "date": "2022-05-09",
            "count": 1
          },
          {
            "date": "2022-05-17",
            "count": 2
          },
          {
            "date": "2022-05-23",
            "count": 1
          },
          {
            "date": "2022-06-10",
            "count": 1
          },
          {
            "date": "2022-06-23",
            "count": 1
          },
          {
            "date": "2022-06-26",
            "count": 1
          },
          {
            "date": "2022-07-01",
            "count": 1
          },
          {
            "date": "2022-09-03",
            "count": 1
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-12",
            "count": 1
          },
          {
            "date": "2022-10-20",
            "count": 1
          },
          {
            "date": "2022-10-21",
            "count": 1
          },
          {
            "date": "2022-10-27",
            "count": 1
          },
          {
            "date": "2022-10-31",
            "count": 1
          },
          {
            "date": "2022-11-08",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 1
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-11-19",
            "count": 1
          },
          {
            "date": "2022-12-06",
            "count": 1
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2023-01-16",
            "count": 1
          },
          {
            "date": "2023-02-01",
            "count": 1
          },
          {
            "date": "2023-02-02",
            "count": 1
          },
          {
            "date": "2023-02-09",
            "count": 1
          },
          {
            "date": "2023-02-18",
            "count": 1
          },
          {
            "date": "2023-02-20",
            "count": 1
          },
          {
            "date": "2023-03-06",
            "count": 1
          },
          {
            "date": "2023-03-08",
            "count": 1
          },
          {
            "date": "2023-03-09",
            "count": 2
          },
          {
            "date": "2023-03-13",
            "count": 1
          },
          {
            "date": "2023-03-26",
            "count": 1
          },
          {
            "date": "2023-04-08",
            "count": 1
          },
          {
            "date": "2023-04-09",
            "count": 2
          },
          {
            "date": "2023-04-11",
            "count": 1
          },
          {
            "date": "2023-04-15",
            "count": 1
          },
          {
            "date": "2023-04-18",
            "count": 1
          },
          {
            "date": "2023-04-19",
            "count": 1
          },
          {
            "date": "2023-04-21",
            "count": 1
          },
          {
            "date": "2023-04-23",
            "count": 1
          },
          {
            "date": "2023-05-06",
            "count": 1
          },
          {
            "date": "2023-05-13",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-05",
            "count": 1
          },
          {
            "date": "2023-06-25",
            "count": 1
          },
          {
            "date": "2023-07-15",
            "count": 1
          },
          {
            "date": "2023-08-09",
            "count": 1
          },
          {
            "date": "2023-08-16",
            "count": 1
          },
          {
            "date": "2023-08-23",
            "count": 1
          },
          {
            "date": "2023-08-31",
            "count": 1
          },
          {
            "date": "2023-09-04",
            "count": 1
          },
          {
            "date": "2023-09-07",
            "count": 1
          },
          {
            "date": "2023-09-25",
            "count": 1
          },
          {
            "date": "2023-10-08",
            "count": 1
          },
          {
            "date": "2023-10-09",
            "count": 1
          },
          {
            "date": "2023-10-16",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-10-26",
            "count": 2
          },
          {
            "date": "2023-10-28",
            "count": 1
          },
          {
            "date": "2023-11-15",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-12-03",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2023-12-11",
            "count": 1
          },
          {
            "date": "2023-12-24",
            "count": 2
          },
          {
            "date": "2023-12-25",
            "count": 2
          },
          {
            "date": "2023-12-26",
            "count": 2
          },
          {
            "date": "2024-01-23",
            "count": 1
          },
          {
            "date": "2024-01-26",
            "count": 1
          },
          {
            "date": "2024-01-27",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 1
          },
          {
            "date": "2024-02-10",
            "count": 1
          },
          {
            "date": "2024-02-17",
            "count": 1
          },
          {
            "date": "2024-02-22",
            "count": 1
          },
          {
            "date": "2024-02-29",
            "count": 1
          },
          {
            "date": "2024-03-10",
            "count": 3
          },
          {
            "date": "2024-03-16",
            "count": 1
          },
          {
            "date": "2024-03-20",
            "count": 2
          },
          {
            "date": "2024-04-08",
            "count": 1
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-27",
            "count": 1
          },
          {
            "date": "2024-05-24",
            "count": 1
          },
          {
            "date": "2024-05-26",
            "count": 1
          },
          {
            "date": "2024-05-30",
            "count": 1
          },
          {
            "date": "2024-07-18",
            "count": 3
          },
          {
            "date": "2024-07-23",
            "count": 1
          },
          {
            "date": "2024-08-10",
            "count": 1
          },
          {
            "date": "2024-08-12",
            "count": 2
          },
          {
            "date": "2024-08-27",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 1
          },
          {
            "date": "2024-09-13",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 3
          },
          {
            "date": "2024-09-22",
            "count": 1
          },
          {
            "date": "2024-09-26",
            "count": 1
          },
          {
            "date": "2024-09-27",
            "count": 1
          },
          {
            "date": "2024-10-09",
            "count": 1
          },
          {
            "date": "2024-10-13",
            "count": 2
          },
          {
            "date": "2024-10-14",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-28",
            "count": 2
          },
          {
            "date": "2024-11-04",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 1
          },
          {
            "date": "2024-11-17",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 1
          },
          {
            "date": "2024-12-04",
            "count": 1
          },
          {
            "date": "2025-01-15",
            "count": 1
          },
          {
            "date": "2025-02-12",
            "count": 2
          },
          {
            "date": "2025-02-20",
            "count": 1
          },
          {
            "date": "2025-02-24",
            "count": 1
          },
          {
            "date": "2025-02-28",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-04-14",
            "count": 1
          },
          {
            "date": "2025-04-25",
            "count": 1
          },
          {
            "date": "2025-05-04",
            "count": 1
          },
          {
            "date": "2025-05-24",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 2
          },
          {
            "date": "2025-07-24",
            "count": 1
          },
          {
            "date": "2025-07-29",
            "count": 1
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-05",
            "count": 2
          },
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-13",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 2
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-03",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-11-03",
            "count": 1
          },
          {
            "date": "2025-11-22",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 1
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 1
          },
          {
            "date": "2026-01-22",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 1
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 2
          },
          {
            "date": "2026-03-09",
            "count": 1
          },
          {
            "date": "2026-03-11",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 1
          },
          {
            "date": "2026-03-14",
            "count": 1
          },
          {
            "date": "2026-03-15",
            "count": 2
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 2
          },
          {
            "date": "2026-05-06",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 1
          },
          {
            "date": "2026-06-18",
            "count": 1
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-07-03",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 280,
        "total_forks": 290
      },
      "star_history": null,
      "open_issues_and_prs": 325
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "sample"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 311514,
      "source_files_sampled": 660,
      "oversized_source_files": 35,
      "agent_instruction_files": [
        ".github/copilot-instructions.md"
      ],
      "agent_instruction_max_bytes": 7149
    },
    "dependencies": {
      "manifests": [],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 16,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 4,
        "direct_affected_count": 0
      },
      "ecosystems": [],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "boost",
            "direct": false,
            "version": "1.72.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "CatchOrg.Catch",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "nuget"
          },
          {
            "name": "EverParse",
            "direct": false,
            "version": "2022.6.13",
            "ecosystem": "nuget"
          },
          {
            "name": "mbedtls",
            "direct": false,
            "version": "2.16.3",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.SDK.CPP",
            "direct": false,
            "version": "10.0.26100.6584",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.SDK.CPP",
            "direct": false,
            "version": "10.0.28000.1839",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.SDK.CPP.$(HostPlatform)",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.SDK.CPP.$(Platform)",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.SDK.CPP.arm64",
            "direct": false,
            "version": "10.0.26100.6584",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.SDK.CPP.x64",
            "direct": false,
            "version": "10.0.26100.6584",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.SDK.CPP.x64",
            "direct": false,
            "version": "10.0.28000.1839",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.SDK.CPP.x86",
            "direct": false,
            "version": "10.0.26100.6584",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.WDK.$(HostPlatform)",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.WDK.$(Platform)",
            "direct": false,
            "version": null,
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.WDK.arm64",
            "direct": false,
            "version": "10.0.26100.6584",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.WDK.x64",
            "direct": false,
            "version": "10.0.26100.6584",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.WDK.x64",
            "direct": false,
            "version": "10.0.28000.1839",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Windows.WDK.x86",
            "direct": false,
            "version": "10.0.26100.6584",
            "ecosystem": "nuget"
          },
          {
            "name": "open-enclave-cross",
            "direct": false,
            "version": "0.12.0.2",
            "ecosystem": "nuget"
          },
          {
            "name": "WiX",
            "direct": false,
            "version": "3.14.1",
            "ecosystem": "nuget"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 20,
        "direct_count": 0,
        "indirect_count": 20
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 53,
        "merged_prs": 2513,
        "open_issues": 272,
        "closed_ratio": 0.873,
        "closed_issues": 1867,
        "closed_unmerged_prs": 575
      },
      "bus_factor": 2,
      "bot_contributors": 4,
      "top_contributors": [
        {
          "type": "User",
          "login": "Alan-Jowett",
          "commits": 737,
          "avatar_url": "https://avatars.githubusercontent.com/u/20480683?v=4"
        },
        {
          "type": "User",
          "login": "dthaler",
          "commits": 343,
          "avatar_url": "https://avatars.githubusercontent.com/u/6547784?v=4"
        },
        {
          "type": "User",
          "login": "saxena-anurag",
          "commits": 176,
          "avatar_url": "https://avatars.githubusercontent.com/u/43585259?v=4"
        },
        {
          "type": "User",
          "login": "shankarseal",
          "commits": 156,
          "avatar_url": "https://avatars.githubusercontent.com/u/74580197?v=4"
        },
        {
          "type": "User",
          "login": "gtrevi",
          "commits": 74,
          "avatar_url": "https://avatars.githubusercontent.com/u/22826130?v=4"
        },
        {
          "type": "User",
          "login": "dv-msft",
          "commits": 55,
          "avatar_url": "https://avatars.githubusercontent.com/u/86131363?v=4"
        },
        {
          "type": "User",
          "login": "mikeagun",
          "commits": 45,
          "avatar_url": "https://avatars.githubusercontent.com/u/2607786?v=4"
        },
        {
          "type": "User",
          "login": "matthewige",
          "commits": 37,
          "avatar_url": "https://avatars.githubusercontent.com/u/10822744?v=4"
        },
        {
          "type": "User",
          "login": "lmb",
          "commits": 27,
          "avatar_url": "https://avatars.githubusercontent.com/u/368392?v=4"
        },
        {
          "type": "User",
          "login": "nmlud21",
          "commits": 24,
          "avatar_url": "https://avatars.githubusercontent.com/u/79675390?v=4"
        }
      ],
      "contributors_sampled": 58,
      "top_contributor_share": 0.399
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "check-markdown-links.yml",
        "check-pr-fork.yml",
        "check-pr-local.yml",
        "check-pr.yml",
        "check_wdk.yml",
        "cicd.yml",
        "codeql.yml",
        "dependency-review.yml",
        "netperf.yml",
        "nuget_update.yaml",
        "ossar-scan.yml",
        "release-scheduler.yml",
        "reusable-build.yml",
        "reusable-everparse-validation.yml",
        "reusable-test.yml",
        "scorecards-analysis.yml",
        "update-bpf-conformance-version.yml",
        "update-curl-dependencies.yml",
        "update-docs.yml",
        "upload-perf-results.yml",
        "validate-yaml.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 5,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 5,
            "reason": "badge detected: Passing",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 7 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 10,
            "reason": "all dependencies are pinned",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 9,
            "reason": "SAST tool detected but not run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "a37f5e3d79157b6aa69b4e02d4b8d532f4fbdaa5",
        "ran_at": "2026-07-24T02:06:41Z",
        "aggregate_score": 7.8,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-24T00:27:49Z",
      "oldest_open_prs": [
        {
          "number": 3556,
          "created_at": "2024-05-18T18:50:03Z",
          "last_comment_at": "2026-01-28T03:27:14Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 3627,
          "created_at": "2024-06-12T19:38:54Z",
          "last_comment_at": "2026-01-28T03:27:11Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 3714,
          "created_at": "2024-07-18T17:51:02Z",
          "last_comment_at": "2026-01-28T03:27:05Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 3764,
          "created_at": "2024-08-12T05:17:14Z",
          "last_comment_at": "2026-01-28T03:27:04Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 3830,
          "created_at": "2024-09-13T15:15:14Z",
          "last_comment_at": "2026-01-28T03:27:02Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 3934,
          "created_at": "2024-10-17T15:44:18Z",
          "last_comment_at": "2026-01-28T03:27:01Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 3970,
          "created_at": "2024-10-31T04:11:10Z",
          "last_comment_at": "2026-01-28T03:26:59Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 3973,
          "created_at": "2024-10-31T11:42:58Z",
          "last_comment_at": "2026-01-28T03:26:57Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 4223,
          "created_at": "2025-02-20T20:23:24Z",
          "last_comment_at": "2026-01-28T03:26:55Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 4228,
          "created_at": "2025-02-21T18:16:44Z",
          "last_comment_at": "2026-01-28T03:26:54Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 4264,
          "created_at": "2025-03-03T23:01:49Z",
          "last_comment_at": "2026-01-28T03:26:52Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 4276,
          "created_at": "2025-03-11T04:44:36Z",
          "last_comment_at": "2026-01-28T03:26:51Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 4357,
          "created_at": "2025-04-14T01:20:21Z",
          "last_comment_at": "2026-01-28T03:26:49Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 4424,
          "created_at": "2025-05-29T18:37:30Z",
          "last_comment_at": "2026-07-07T22:10:24Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 4506,
          "created_at": "2025-07-09T15:52:57Z",
          "last_comment_at": "2026-01-14T01:39:08Z",
          "last_comment_author": "copilot-swe-agent"
        },
        {
          "number": 4551,
          "created_at": "2025-07-30T22:24:45Z",
          "last_comment_at": "2026-01-28T03:30:13Z",
          "last_comment_author": "copilot-swe-agent"
        },
        {
          "number": 4567,
          "created_at": "2025-08-13T20:48:31Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4583,
          "created_at": "2025-08-21T00:16:42Z",
          "last_comment_at": "2026-01-26T16:42:46Z",
          "last_comment_author": "shankarseal"
        },
        {
          "number": 4721,
          "created_at": "2025-10-10T16:28:10Z",
          "last_comment_at": "2026-01-28T03:26:46Z",
          "last_comment_author": "Alan-Jowett"
        },
        {
          "number": 4791,
          "created_at": "2025-11-03T20:03:52Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-24T00:19:51Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 77,
          "created_at": "2021-04-25T00:23:53Z",
          "last_comment_at": "2021-06-07T21:26:34Z",
          "last_comment_author": "saxena-anurag"
        },
        {
          "number": 179,
          "created_at": "2021-05-12T09:04:09Z",
          "last_comment_at": "2022-07-17T23:50:05Z",
          "last_comment_author": "dthaler"
        },
        {
          "number": 181,
          "created_at": "2021-05-12T13:43:22Z",
          "last_comment_at": "2021-05-25T09:38:10Z",
          "last_comment_author": "qmonnet"
        },
        {
          "number": 182,
          "created_at": "2021-05-12T13:48:59Z",
          "last_comment_at": "2021-05-25T09:58:15Z",
          "last_comment_author": "qmonnet"
        },
        {
          "number": 189,
          "created_at": "2021-05-12T23:09:53Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 201,
          "created_at": "2021-05-18T19:42:51Z",
          "last_comment_at": "2021-05-24T17:28:10Z",
          "last_comment_author": "dthaler"
        },
        {
          "number": 206,
          "created_at": "2021-05-19T19:52:55Z",
          "last_comment_at": "2024-10-14T12:34:40Z",
          "last_comment_author": "danf1"
        },
        {
          "number": 211,
          "created_at": "2021-05-20T07:43:48Z",
          "last_comment_at": "2025-01-28T11:44:22Z",
          "last_comment_author": "ArkaprabhaChakraborty"
        },
        {
          "number": 214,
          "created_at": "2021-05-20T23:04:28Z",
          "last_comment_at": "2021-05-27T16:11:12Z",
          "last_comment_author": "poornagmsft"
        },
        {
          "number": 267,
          "created_at": "2021-06-10T17:55:48Z",
          "last_comment_at": "2021-06-14T17:18:13Z",
          "last_comment_author": "dthaler"
        },
        {
          "number": 273,
          "created_at": "2021-06-11T16:08:02Z",
          "last_comment_at": "2022-10-03T18:40:16Z",
          "last_comment_author": "dthaler"
        },
        {
          "number": 274,
          "created_at": "2021-06-11T19:49:51Z",
          "last_comment_at": "2026-02-07T09:11:41Z",
          "last_comment_author": "olljanat"
        },
        {
          "number": 288,
          "created_at": "2021-06-18T19:35:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 335,
          "created_at": "2021-07-09T14:55:29Z",
          "last_comment_at": "2022-01-24T17:12:33Z",
          "last_comment_author": "dthaler"
        },
        {
          "number": 351,
          "created_at": "2021-07-28T22:44:01Z",
          "last_comment_at": "2021-08-02T17:11:30Z",
          "last_comment_author": "dthaler"
        },
        {
          "number": 369,
          "created_at": "2021-08-10T18:11:11Z",
          "last_comment_at": "2021-08-16T16:12:24Z",
          "last_comment_author": "poornagmsft"
        },
        {
          "number": 371,
          "created_at": "2021-08-10T22:39:42Z",
          "last_comment_at": "2021-08-16T16:07:38Z",
          "last_comment_author": "poornagmsft"
        },
        {
          "number": 383,
          "created_at": "2021-08-13T19:03:34Z",
          "last_comment_at": "2021-09-13T04:34:05Z",
          "last_comment_author": "dthaler"
        },
        {
          "number": 516,
          "created_at": "2021-09-10T22:09:44Z",
          "last_comment_at": "2021-09-13T15:39:15Z",
          "last_comment_author": "dthaler"
        },
        {
          "number": 521,
          "created_at": "2021-09-12T03:46:33Z",
          "last_comment_at": "2025-01-17T22:46:55Z",
          "last_comment_author": "matthewige"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/microsoft/ebpf-for-windows",
    "host": "github.com",
    "name": "ebpf-for-windows",
    "owner": "microsoft"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 85,
      "inputs": {
        "security": 82,
        "vitality": 93,
        "community": 90,
        "governance": 75,
        "engineering": 86
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 93,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "commits_last_year": 315,
              "human_commit_share": 0.97,
              "days_since_last_push": 0,
              "active_weeks_last_year": 51
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "51/52 weeks with commits",
                "points": 35.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 51
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "315 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 315
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 83,
            "inputs": {
              "releases_count": 30,
              "latest_release_tag": "v1.4.0",
              "releases_from_tags": false,
              "days_since_latest_release": 0,
              "mean_days_between_releases": 66.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "30 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 30
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~66.2 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 66.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 90,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 88,
            "inputs": {
              "forks": 290,
              "stars": 3528,
              "watchers": 53,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "3,528 stars",
                "points": 57.5,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 3528
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "290 forks",
                "points": 20.5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 290
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "53 watchers",
                "points": 9.5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 53
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 75,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 58,
              "top_contributor_share": 0.399
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 40% of commits",
                "points": 13.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 40
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "58 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 58
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 7 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 87,
            "inputs": {
              "merged_prs": 2513,
              "open_issues": 272,
              "closed_issues": 1867,
              "issue_closed_ratio": 0.873,
              "closed_unmerged_prs": 575
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "87% of issues closed",
                "points": 40.8,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 87
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "2513/3088 decided PRs merged",
                "points": 31.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 2513,
                      "decided": 3088
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 125738,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "microsoft",
              "public_repos": 8217,
              "account_age_days": 4608
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "125,738 followers of microsoft",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 125738,
                      "login": "microsoft"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "8217 public repos, account ~12 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 8217
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 86,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 94,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "21 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 21
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 16,
                "status": "met",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 82,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "good",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 78,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 7.8
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "badge detected: Passing",
                "points": 1.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 7 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "all dependencies are pinned",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool detected but not run on all commits",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 16 resolved dependencies against OSV; 4 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 16
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 4
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 16,
              "unassessed_packages": 4,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 16,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 8
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 79,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.979,
              "agent_instruction_files": [
                ".github/copilot-instructions.md"
              ],
              "agent_instruction_max_bytes": 7149
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".github/copilot-instructions.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".github/copilot-instructions.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "95 of 97 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 95,
                      "sampled": 97
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0.4,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.03
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 11,
                "status": "met",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "C (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "40 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 40,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "3 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 3,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "all dependencies are pinned",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 97,
            "inputs": {
              "primary_language": "C",
              "largest_source_bytes": 311514,
              "source_files_sampled": 660,
              "oversized_source_files": 35
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "35/660 source files over 60KB",
                "points": 52.1,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 660,
                      "oversized": 35
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "sample"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "sample",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "sample"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-24T02:07:08.842991Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/microsoft/ebpf-for-windows.svg",
  "full_name": "microsoft/ebpf-for-windows",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadas.