https://github.com/fern-api/fern
· scanned 2026-06-05 21:46 UTC (4 days, 10 hours ago)
· 10 languages
7307 raw signals (315 security + 6992 graph) 11/13 scanners ran 10th percentile · Typescript · huge (>500K LoC) System graph score 40 (higher by 33)
Last scanned 4 days, 10 hours ago · v2 · 1138 actionable findings from 2 signal sources. 2652 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
60.0 | 0.15 | 9.00 |
security_score |
100.0 | 0.25 | 25.00 |
testing_score |
50.0 | 0.20 | 10.00 |
documentation_score |
89.0 | 0.15 | 13.35 |
practices_score |
69.0 | 0.15 | 10.35 |
code_quality |
51.0 | 0.10 | 5.10 |
| Overall | 1.00 | 72.8 |
Showing 473 of 1138 actionable findings. 3790 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.
.github/workflows/ci.yml:26, 281, 283, 284, 338, 340, 346, 348, +9 more (17 hits).github/workflows/sdk-ete-tests.yml:149, 192, 223, 224, 282, 283 (6 hits).github/workflows/ci-dynamic-snippets.yml:20.github/workflows/validate-changelog.yml:35packages/seed/src/utils/getGeneratorInvocation.ts:185, 192 (2 hits)seed/python-sdk/client-side-params/src/seed/service/client.py:394, 480, 1165, 1259 (4 hits)seed/python-sdk/oauth-client-credentials-openapi/src/seed/identity/client.py:58, 114 (2 hits)seed/python-sdk/property-access/src/seed/client.py:134, 288 (2 hits)seed/python-sdk/request-parameters/src/seed/user/client.py:70, 116, 362, 416 (4 hits)generators/java/install-gradle.sh:17
seed/python-sdk/nullable-request-body/src/seed/client.py:81, 171 (2 hits)seed/python-sdk/nullable-request-body/src/seed/test_group/client.py:29, 96 (2 hits)seed/python-sdk/nullable-request-body/src/seed/test_group/raw_client.py:26, 111 (2 hits)seed/python-sdk/no-content-response/src/seed/core/http_client.py:314, 395, 415, 474 (4 hits)docker/seed/Dockerfile.go:2, 11, 87 (3 hits)docker/seed/Dockerfile.php:2, 11, 109 (3 hits)docker/seed/Dockerfile.python:2, 11, 109 (3 hits)docker/seed/Dockerfile.ts:4, 26 (2 hits)generators/php/model/Dockerfile:1, 2 (2 hits)generators/php/sdk/Dockerfile:1, 2 (2 hits)generators/rust/model/Dockerfile:4, 10 (2 hits)generators/rust/sdk/Dockerfile:5, 7 (2 hits)generators/python/.pre-commit-config.yaml:6, 20, 26, 30, 37 (5 hits)generators/java/generator-utils/src/main/resources/gradle-wrapper/gradle/wrapper/gradle-wrapper.jar:1
generators/java/gradle/wrapper/gradle-wrapper.jar:1
generators/python/core_utilities/shared/http_sse/_api.py:28
generators/python/src/fern_python/utils/name_resolver.py:108
.dockerignore
CI/CD securitycontainers
generators/python-v2/sdk/Dockerfile:32
CI/CD securitycontainers
generators/python-v2/pydantic-model/Dockerfile:27
CI/CD securitycontainers
seed/cli/query-parameters-openapi/github-npm/.github/workflows/ci.yml:17, 29, 41, 79, 87, 169, 172 (14 hits)seed/go-sdk/no-content-response/.github/workflows/ci.yml:14, 17, 25, 28, 38, 41 (12 hits)seed/go-sdk/nullable-request-body/dynamic-snippets-disabled/.github/workflows/ci.yml:14, 17, 25, 28, 38, 41 (7 hits)seed/cli/query-parameters-openapi/github-no-publish/.github/workflows/ci.yml:17, 29, 41 (6 hits)seed/go-sdk/accept-header/.github/workflows/ci.yml:14, 17, 25, 28, 38, 41 (6 hits)seed/go-sdk/alias/.github/workflows/ci.yml:14, 17, 25, 28, 38, 41 (6 hits)seed/go-sdk/allof-inline/.github/workflows/ci.yml:14, 17, 25, 28, 38, 41 (6 hits)seed/go-sdk/allof/.github/workflows/ci.yml:14, 17, 25, 28, 38, 41 (6 hits)seed/cli/query-parameters-openapi/github-npm/.github/workflows/ci.yml:20, 32, 44, 82 (8 hits)seed/cli/query-parameters-openapi/github-no-publish/.github/workflows/ci.yml:20, 32, 44 (6 hits)seed/go-sdk/no-content-response/.github/workflows/ci.yml:31 (2 hits)seed/go-sdk/accept-header/.github/workflows/ci.yml:31seed/go-sdk/alias/.github/workflows/ci.yml:31seed/go-sdk/allof-inline/.github/workflows/ci.yml:31seed/go-sdk/allof/.github/workflows/ci.yml:31seed/go-sdk/any-auth/.github/workflows/ci.yml:31seed/python-sdk/exhaustive/aliases_without_validation/src/seed/core/unchecked_base_model.py:55
Eval used
seed/python-sdk/exhaustive/skip-pydantic-validation/src/seed/core/unchecked_base_model.py:55
Eval used
seed/python-sdk/streaming/skip-pydantic-validation/src/seed/core/unchecked_base_model.py:55
Eval used
seed/python-sdk/websocket/websocket-with_generated_clients-skip_validation/src/seed/core/unchecked_base_model.py:55
Eval used
generators/python/core_utilities/shared/datetime_utils.py:21
generators/typescript/utils/core-utilities/src/core/fetcher/requestWithRetries.template.ts:14
generators/go-v2/sdk/src/reference/EndpointSnippetsGenerator.ts:185generators/java-v2/sdk/src/reference/EndpointSnippetsGenerator.ts:178generators/php/sdk/src/reference/EndpointSnippetsGenerator.ts:163seed/python-sdk/python-streaming-parameter-openapi/with-wire-tests/src/seed/raw_client.py:82, 215 (2 hits)seed/python-sdk/basic-auth/src/seed/core/jsonable_encoder.py:98seed/python-sdk/basic-auth/src/seed/core/pydantic_utilities.py:500seed/python-sdk/error-property/src/seed/core/jsonable_encoder.py:98seed/python-sdk/error-property/src/seed/core/pydantic_utilities.py:500seed/python-sdk/inferred-auth-implicit-reference/src/seed/core/jsonable_encoder.py:98seed/python-sdk/inferred-auth-implicit-reference/src/seed/core/pydantic_utilities.py:500seed/python-sdk/no-content-response/src/seed/core/jsonable_encoder.py:98.dockerignore
CI/CD securitycontainers
docker/seed/Dockerfile.cli:16docker/seed/Dockerfile.csharp:1docker/seed/Dockerfile.go:87docker/seed/Dockerfile.java:2docker/seed/Dockerfile.php:109docker/seed/Dockerfile.python:109docker/seed/Dockerfile.ts:27generators/cli/Dockerfile:1docker/seed/Dockerfile.cli:22docker/seed/Dockerfile.csharp:13docker/seed/Dockerfile.ts:38generators/cli/Dockerfile:2generators/java/model/Dockerfile:7generators/python/pydantic/Dockerfile:4.well-known/security.txt
generators/cli/src/emitReadme.ts:173
.github/workflows/security-scanning-and-remediation.yml:518
seed/rust-sdk/trace/src/api/types/submission_code_execution_update.rs:1seed/rust-sdk/trace/src/api/types/submission_test_submission_update.rs:1seed/rust-sdk/trace/src/api/types/submission_workspace_submission_update.rs:1fern/vale-styles/FernStyles/WordList.yml:70
Weak hash
packages/commons/core-utils/src/titleCase.ts:83
Weak hash
packages/ir-sdk/fern/apis/ir-types-v65/definition/webhooks.yml:105
Weak hash
packages/ir-sdk/fern/apis/ir-types-v66/definition/webhooks.yml:105
Weak hash
packages/ir-sdk/src/sdk/api/resources/webhooks/types/HmacAlgorithm.ts:6
Weak hash
packages/ir-sdk/src/sdk/serialization/resources/webhooks/types/HmacAlgorithm.ts:8
Weak hash
generators/python/sdk/Dockerfile:82
CI/CD securitycontainers
seed/python-sdk/trace/src/seed/submission/types/graded_test_case_update.py:1seed/python-sdk/trace/src/seed/submission/types/recorded_test_case_update.py:1seed/python-sdk/trace/src/seed/submission/types/workspace_submission_update.py:1seed/python-sdk/trace/src/seed/submission/types/workspace_traced_update.py:1seed/ruby-sdk-v2/trace/lib/seed/submission/types/code_execution_update.rb:1generators/cli/sdk/src/openapi/help.rs:9, 228 (2 hits)generators/go-v2/model/src/union/UndiscriminatedUnionGenerator.ts:12, 104 (2 hits)docker/seed/Dockerfile.php:19generators/cli/sdk/src/graphql/commands.rs:35generators/cli/sdk/src/openapi/binding.rs:141generators/cli/sdk/src/websocket/error.rs:97generators/csharp/base/src/asIs/RawClient.Template.cs:246generators/csharp/model/src/proto/WellKnownProtoValueGenerator.ts:57seed/python-sdk/trace/src/seed/submission/types/code_execution_update.py:1seed/python-sdk/trace/src/seed/submission/types/graded_test_case_update.py:1seed/python-sdk/trace/src/seed/submission/types/recorded_test_case_update.py:1seed/python-sdk/trace/src/seed/submission/types/workspace_submission_update.py:1seed/python-sdk/trace/src/seed/submission/types/workspace_traced_update.py:1seed/ruby-sdk-v2/trace/lib/seed/submission/types/code_execution_update.rb:1seed/rust-sdk/trace/src/api/types/submission_code_execution_update.rs:1seed/rust-sdk/trace/src/api/types/submission_test_submission_update.rs:1repo-level (2 hits)repo-level (2 hits)repo-level (8 hits)repo-level (3 hits)package.json
CI/CD securitySupply chainNpm
Showing first 300 of 473. Refine filters or use the findings page for deep search.
This page is publicly accessible at:
https://repobility.com/scan/9d3569bc-0fef-45ea-8b24-61a37a6dbd1a/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/9d3569bc-0fef-45ea-8b24-61a37a6dbd1a/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.