https://github.com/anicka-net/ossuary-risk
· scanned 2026-06-17 01:33 UTC (1 month, 2 weeks ago)
79 raw signals (0 security + 79 graph)
Last scanned 1 month, 2 weeks ago · v2 · last Δ -5.7 (diff) · 61 actionable findings from 1 signal source. 18 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 1336 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_critical_threshold |
software | healthy | tests/test_factors.py:11 |
test_high_threshold |
software | healthy | tests/test_factors.py:15 |
test_moderate_threshold |
software | healthy | tests/test_factors.py:19 |
test_low_threshold |
software | healthy | tests/test_factors.py:23 |
test_very_low_threshold |
software | healthy | tests/test_factors.py:27 |
test_semaphore_colors |
software | healthy | tests/test_factors.py:31 |
test_description_not_empty |
software | healthy | tests/test_factors.py:35 |
test_total_sums_all_factors |
software | healthy | tests/test_factors.py:43 |
test_total_includes_positive_factors |
software | healthy | tests/test_factors.py:52 |
test_total_zero_when_empty |
software | healthy | tests/test_factors.py:59 |
test_to_dict |
software | healthy | tests/test_factors.py:63 |
test_to_dict_includes_all_fields |
software | healthy | tests/test_factors.py:73 |
_mock_response |
software | healthy | tests/test_dep_tree.py:13 |
_mock_text_response |
software | healthy | tests/test_dep_tree.py:22 |
test_npm_parses_dependencies |
software | healthy | tests/test_dep_tree.py:36 |
fake_urlopen |
software | healthy | tests/test_dep_tree.py:328 |
test_pypi_parses_requires_dist |
software | healthy | tests/test_dep_tree.py:54 |
test_pypi_skips_extras |
software | healthy | tests/test_dep_tree.py:75 |
test_respects_max_depth |
software | healthy | tests/test_dep_tree.py:96 |
test_respects_max_packages |
software | healthy | tests/test_dep_tree.py:121 |
test_handles_network_error |
software | healthy | tests/test_dep_tree.py:144 |
test_cargo_parses_dependencies |
software | healthy | tests/test_dep_tree.py:166 |
test_cargo_filters_optional |
software | healthy | tests/test_dep_tree.py:189 |
test_rubygems_parses_runtime_deps |
software | healthy | tests/test_dep_tree.py:207 |
test_go_parses_gomod |
software | healthy | tests/test_dep_tree.py:228 |
test_go_parses_single_require |
software | healthy | tests/test_dep_tree.py:255 |
test_packagist_parses_require |
software | healthy | tests/test_dep_tree.py:278 |
test_nuget_parses_dependency_groups |
software | healthy | tests/test_dep_tree.py:298 |
test_github_sbom_parses_packages |
software | healthy | tests/test_dep_tree.py:326 |
_full_valid_spdx |
software | healthy | tests/test_sbom_spdx_interop.py:30 |
_score |
software | healthy | tests/test_sbom_spdx_interop.py:72 |
enriched_spdx_path |
software | healthy | tests/test_sbom_spdx_interop.py:81 |
test_spdx_tools_parses_enriched_output |
software | healthy | tests/test_sbom_spdx_interop.py:94 |
test_spdx_tools_validation_finds_no_issues |
software | healthy | tests/test_sbom_spdx_interop.py:100 |
test_ossuary_annotations_reachable_after_parse |
software | healthy | tests/test_sbom_spdx_interop.py:105 |
test_ossuary_payload_parses_as_json |
software | healthy | tests/test_sbom_spdx_interop.py:119 |
mock |
software | healthy | tests/test_cargo_homepage_fallback.py:41 |
_crate_payload |
software | healthy | tests/test_cargo_homepage_fallback.py:49 |
test_distinct_github_homepage_is_carried |
software | healthy | tests/test_cargo_homepage_fallback.py:68 |
test_homepage_equal_to_repository_is_skipped |
software | healthy | tests/test_cargo_homepage_fallback.py:84 |
test_non_code_host_homepage_is_skipped |
software | healthy | tests/test_cargo_homepage_fallback.py:99 |
test_gitlab_homepage_also_carried |
software | healthy | tests/test_cargo_homepage_fallback.py:117 |
test_fallback_propagates_through_scorer_registry_data |
software | healthy | tests/test_cargo_homepage_fallback.py:140 |
test_caller_supplied_repo_url_still_gets_fallback |
software | healthy | tests/test_cargo_homepage_fallback.py:154 |
test_404_on_primary_then_success_on_fallback |
software | healthy | tests/test_cargo_homepage_fallback.py:181 |
__init__ |
software | healthy | tests/test_cargo_homepage_fallback.py:208 |
clone_or_update |
software | healthy | tests/test_cargo_homepage_fallback.py:276 |
extract_commits |
software | healthy | tests/test_cargo_homepage_fallback.py:278 |
calculate_metrics |
software | healthy | tests/test_cargo_homepage_fallback.py:280 |
_run |
software | healthy | tests/test_cargo_homepage_fallback.py:283 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestRiskLevel |
software | healthy | tests/test_factors.py:8 |
TestProtectiveFactors |
software | healthy | tests/test_factors.py:40 |
TestRiskBreakdown |
software | healthy | tests/test_factors.py:70 |
TestFetchDepTree |
software | healthy | tests/test_dep_tree.py:31 |
TestSpdxToolsRoundTrip |
software | healthy | tests/test_sbom_spdx_interop.py:93 |
_RespxStub |
software | healthy | tests/test_cargo_homepage_fallback.py:39 |
TestCratesHomepageCarriedAsFallback |
software | healthy | tests/test_cargo_homepage_fallback.py:63 |
TestRegistryDataPropagatesFallback |
software | healthy | tests/test_cargo_homepage_fallback.py:134 |
TestCollectPackageDataRetriesOnFallback |
software | healthy | tests/test_cargo_homepage_fallback.py:176 |
_FakeCommit |
software | healthy | tests/test_cargo_homepage_fallback.py:198 |
_FakeMetrics |
software | healthy | tests/test_cargo_homepage_fallback.py:207 |
_FakeGitCollector |
software | healthy | tests/test_cargo_homepage_fallback.py:215 |
_AlwaysMissing |
software | healthy | tests/test_cargo_homepage_fallback.py:275 |
TestCloneOrUpdateFreshness |
software | healthy | tests/test_collector_fixes.py:36 |
TestRepoPathNaming |
software | healthy | tests/test_collector_fixes.py:68 |
TestParseRepoUrlEdgeCases |
software | healthy | tests/test_collector_fixes.py:80 |
TestMergeConcentrationWindow |
software | healthy | tests/test_collector_fixes.py:100 |
TestComputeMergeStats |
software | healthy | tests/test_collector_fixes.py:126 |
TestIssuesDeletedAuthor |
software | healthy | tests/test_collector_fixes.py:173 |
TestOrgMembersDeterministic |
software | healthy | tests/test_collector_fixes.py:207 |
TestPurlParsing |
software | healthy | tests/test_sbom.py:16 |
TestCycloneDXParsing |
software | healthy | tests/test_sbom.py:82 |
TestSPDXParsing |
software | healthy | tests/test_sbom.py:153 |
TestUnrecognisedSBOM |
software | healthy | tests/test_sbom.py:211 |
TestEnrichment |
software | healthy | tests/test_sbom.py:225 |
TestNormalizePackageName |
software | healthy | tests/test_cache_normalization.py:33 |
TestGetOrCreatePackageDedup |
software | healthy | tests/test_cache_normalization.py:85 |
TestUserFacingLookupsNormalize |
software | healthy | tests/test_cache_normalization.py:161 |
_FakeSessionScope |
software | healthy | tests/test_cache_normalization.py:198 |
_FakeQuery |
software | healthy | tests/test_cache_normalization.py:245 |
_FakeSession |
software | healthy | tests/test_cache_normalization.py:256 |
_FakeScope |
software | healthy | tests/test_cache_normalization.py:260 |
TestGetPackageDoesNotCreate |
software | healthy | tests/test_cache_normalization.py:350 |
TestScoreFailureLeavesNoOrphanPackage |
software | healthy | tests/test_cache_normalization.py:390 |
TestCleanRepoUrl |
software | healthy | tests/test_pypi_collector.py:8 |
TestExtractRepoUrl |
software | healthy | tests/test_pypi_collector.py:59 |
TestSentimentAnalyzer |
software | healthy | tests/test_sentiment.py:37 |
TestAggregatedSentiment |
software | healthy | tests/test_sentiment.py:92 |
TestFrustrationTemplates |
software | healthy | tests/test_sentiment.py:155 |
TestAuthorAttribution |
software | healthy | tests/test_sentiment.py:252 |
TestCorpusCoverage |
software | healthy | tests/test_sentiment.py:373 |
TestGovernanceLifecycleNotFrustration |
software | healthy | tests/test_sentiment.py:444 |
TestCaseKey |
software | healthy | tests/test_ablation_dedup.py:31 |
TestCollectAllDeduplication |
software | healthy | tests/test_ablation_dedup.py:52 |
TestDiffCommand |
software | healthy | tests/test_diff.py:11 |
TestReputationTier |
software | healthy | tests/test_reputation.py:11 |
TestReputationBreakdown |
software | healthy | tests/test_reputation.py:32 |
TestReputationScorer |
software | healthy | tests/test_reputation.py:71 |
TestBuildRepoPlan |
software | healthy | tests/test_batch_repo_aware.py:48 |
TestRepoAwareBatchScore |
software | healthy | tests/test_batch_repo_aware.py:88 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.env.example |
software | healthy | .env.example |
validation_results.json |
software | healthy | validation_results.json |
AGENTS.md |
software | healthy | AGENTS.md |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
scorecard_comparison.json |
software | healthy | scorecard_comparison.json |
README.md |
software | healthy | README.md |
pyproject.toml |
software | healthy | pyproject.toml |
dashboard.py |
software | healthy | dashboard.py |
CONTRIBUTORS.md |
software | healthy | CONTRIBUTORS.md |
compose.yaml |
software | healthy | compose.yaml |
test_factors.py |
software | healthy | tests/test_factors.py |
test_dep_tree.py |
software | healthy | tests/test_dep_tree.py |
test_sbom_spdx_interop.py |
software | healthy | tests/test_sbom_spdx_interop.py |
test_cargo_homepage_fallback.py |
software | healthy | tests/test_cargo_homepage_fallback.py |
test_collector_fixes.py |
software | healthy | tests/test_collector_fixes.py |
test_sbom.py |
software | healthy | tests/test_sbom.py |
test_cache_normalization.py |
software | healthy | tests/test_cache_normalization.py |
__init__.py |
software | healthy | tests/__init__.py |
test_pypi_collector.py |
software | healthy | tests/test_pypi_collector.py |
test_sentiment.py |
software | healthy | tests/test_sentiment.py |
test_ablation_dedup.py |
software | healthy | tests/test_ablation_dedup.py |
test_diff.py |
software | healthy | tests/test_diff.py |
test_reputation.py |
software | healthy | tests/test_reputation.py |
test_batch_repo_aware.py |
software | healthy | tests/test_batch_repo_aware.py |
test_provisional_state.py |
software | healthy | tests/test_provisional_state.py |
test_sbom_spdx_conformance.py |
software | healthy | tests/test_sbom_spdx_conformance.py |
test_dashboard_api.py |
software | healthy | tests/test_dashboard_api.py |
test_v090_migration.py |
software | healthy | tests/test_v090_migration.py |
test_github_collector.py |
software | healthy | tests/test_github_collector.py |
test_registry_collectors.py |
software | healthy | tests/test_registry_collectors.py |
test_dashboard_ecosystems_actions.py |
software | healthy | tests/test_dashboard_ecosystems_actions.py |
test_support_period.py |
software | healthy | tests/test_support_period.py |
test_score_row_tagging.py |
software | healthy | tests/test_score_row_tagging.py |
test_tower.py |
software | healthy | tests/test_tower.py |
test_repo_cache.py |
software | healthy | tests/test_repo_cache.py |
test_scoring.py |
software | healthy | tests/test_scoring.py |
test_doc_code_drift.py |
software | healthy | tests/test_doc_code_drift.py |
test_annex_vii.py |
software | healthy | tests/test_annex_vii.py |
test_incomplete_data.py |
software | healthy | tests/test_incomplete_data.py |
test_deps.py |
software | healthy | tests/test_deps.py |
spdx-schema-2.3.json |
software | healthy | tests/fixtures/spdx-schema-2.3.json |
migrate_provisional_column.py |
software | healthy | scripts/migrate_provisional_column.py |
discover_suse.py |
software | healthy | scripts/discover_suse.py |
dedupe_pypi_packages.py |
software | healthy | scripts/dedupe_pypi_packages.py |
sweep_maturity.py |
software | healthy | scripts/sweep_maturity.py |
validate.py |
software | healthy | scripts/validate.py |
migrate_scores_nullable.py |
software | healthy | scripts/migrate_scores_nullable.py |
t1_comparison.py |
software | healthy | scripts/t1_comparison.py |
lfx_comparison.py |
software | healthy | scripts/lfx_comparison.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
fixtures |
software | healthy | tests/fixtures |
scripts |
software | healthy | scripts |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
actions |
software | healthy | .github/actions |
ossuary-scan |
software | healthy | .github/actions/ossuary-scan |
benchmarks |
software | healthy | benchmarks |
examples |
software | healthy | examples |
src |
software | healthy | src |
ossuary |
software | healthy | src/ossuary |
dashboard |
software | healthy | src/ossuary/dashboard |
pages |
software | healthy | src/ossuary/dashboard/pages |
api |
software | healthy | src/ossuary/api |
scoring |
software | healthy | src/ossuary/scoring |
collectors |
software | healthy | src/ossuary/collectors |
db |
software | healthy | src/ossuary/db |
sentiment |
software | healthy | src/ossuary/sentiment |
services |
software | healthy | src/ossuary/services |
spec |
software | healthy | spec |
docs |
software | healthy | docs |
seeds |
software | healthy | seeds |
| Label | Layer | Status | Path |
|---|---|---|---|
scores_new |
data | healthy | scripts/migrate_scores_nullable.py |
Base |
data | healthy | src/ossuary/db/models.py |
Package |
data | healthy | src/ossuary/db/models.py |
Commit |
data | healthy | src/ossuary/db/models.py |
Issue |
data | healthy | src/ossuary/db/models.py |
Score |
data | healthy | src/ossuary/db/models.py |
RepoSnapshot |
data | healthy | src/ossuary/db/models.py |
SentimentRecord |
data | healthy | src/ossuary/db/models.py |
packages |
data | healthy | src/ossuary/db/models.py |
commits |
data | healthy | src/ossuary/db/models.py |
issues |
data | healthy | src/ossuary/db/models.py |
scores |
data | healthy | src/ossuary/db/models.py |
repo_snapshots |
data | healthy | src/ossuary/db/models.py |
sentiment_records |
data | healthy | src/ossuary/db/models.py |
| Label | Layer | Status | Path |
|---|---|---|---|
postgresql |
data | healthy | .env.example |
sqlite |
data | healthy | .env.example |
redis |
data | healthy | validation_results.json |
mongodb |
data | healthy | scripts/validate.py |
postgres |
data | healthy | scripts/cache_benchmark.py |
mysql |
data | healthy | src/ossuary/scoring/reputation.py |
elasticsearch |
data | healthy | src/ossuary/scoring/reputation.py |
mariadb |
data | healthy | seeds/suse-base.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::scripts/validate.py |
security | healthy | scripts/validate.py |
auth::src/ossuary/scoring/reputation.py |
security | healthy | src/ossuary/scoring/reputation.py |
auth::seeds/web-frameworks.yaml |
security | healthy | seeds/web-frameworks.yaml |
auth::scorecard_comparison.json |
security | healthy | scorecard_comparison.json |
auth::validation_results.json |
security | healthy | validation_results.json |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /health |
api | healthy | src/ossuary/api/main.py |
GET /check/{ecosystem}/{package:path} |
api | healthy | src/ossuary/api/main.py |
GET /score/{ecosystem}/{package:path} |
api | healthy | src/ossuary/api/main.py |
GET / |
api | healthy | src/ossuary/api/main.py |
| Label | Layer | Status | Path |
|---|---|---|---|
celery |
data | healthy | validation_results.json |
sidekiq |
data | healthy | validation_results.json |
rabbitmq |
data | healthy | src/ossuary/scoring/reputation.py |
kafka |
data | healthy | src/ossuary/scoring/reputation.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | tests/test_dashboard_api.py |
1.2.0.0 |
network | healthy | tests/test_registry_collectors.py |
1.10.0.0 |
network | healthy | tests/test_registry_collectors.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8501 |
network | healthy | compose.yaml |
port:8000 |
network | healthy | compose.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
dashboard |
hardware | healthy | compose.yaml |
api |
hardware | healthy | compose.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | validation_results.json |
vps::azure |
hardware | healthy | src/ossuary/scoring/reputation.py |
| Label | Layer | Status | Path |
|---|---|---|---|
anicka-net__ossuary-risk |
software | healthy | /data/fable5_failed_archive/anicka-net__ossuary-risk |
| Label | Layer | Status | Path |
|---|---|---|---|
test_v090_migration.py |
data | healthy | tests/test_v090_migration.py |
| Label | Layer | Status | Path |
|---|---|---|---|
envoy |
network | healthy | scripts/lfx_comparison.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | tests/test_batch_repo_aware.py |
| Label | Layer | Status | Path |
|---|---|---|---|
github_token::.env.example |
security | healthy | .env.example |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ossuary-scan |
cicd | healthy | .github/workflows/ossuary-scan.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
scan |
cicd | healthy | .github/workflows/ossuary-scan.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/c1ace448-c314-4675-ad5b-0e4b11d75f18/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/c1ace448-c314-4675-ad5b-0e4b11d75f18/
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.