csp-weaver-mbt

MoonBit native Content-Security-Policy parser, auditor and migration planner.

csp
security
http
wasm
audit
moon add LH-DD-lh/csp-weaver-mbt@0.1.0
Download zip
Author
Version
0.1.0
License
MIT
Last updated
12 hours ago
Downloads
1
README

#csp-weaver-mbt

csp-weaver-mbt 是一个 MoonBit 原生的 Content-Security-Policy 解析、审计与迁移规划库。它面向 MoonBit/Wasm 应用、静态站点生成器、安全扫描工具和 CI 策略校验场景,提供可复现的 CSP 解析、资源请求模拟、规则审计、策略配方和迁移计划能力。

#项目解决的问题

CSP 经常难以维护:策略字符串长、fallback 规则复杂、'unsafe-inline'data:blob:、通配符、plain HTTP、Trusted Types、frame/form/worker 等细节容易遗漏。这个库把 CSP 拆成 MoonBit 数据模型,并提供审计规则目录和可运行示例,帮助开发者在发布前发现风险并逐步收紧策略。

#适用场景

  • MoonBit/Wasm 前端应用的本地 CSP 验证。
  • 静态站点或文档站生成流程中的安全头检查。
  • CI 中阻止高风险 CSP 回归。
  • 从资源清单生成最小 CSP 初稿。
  • 对已有 CSP 做规范化导出和风险解释。
  • 教学项目:展示解析器、策略求值、审计目录和 Mooncakes 包工程化。

#独特性说明

查重方向覆盖 Mooncakes 和 GitHub 的 CSPContent-Security-Policysecurity headerpolicy auditMoonBit 等关键词。当前未发现 MoonBit 原生的 CSP 解析、资源模拟、审计规则目录与迁移规划组合项目。与普通安全头展示器不同,本项目提供可嵌入 MoonBit 代码的类型化模型、100+ 扩展规则、100 个策略配方、请求级 allow/deny 模拟和迁移计划 API。

#安装方式

Mooncakes 包名:

LH-DD-lh/csp-weaver-mbt

在使用方项目中添加依赖:

moon add LH-DD-lh/csp-weaver-mbt

moon.pkg 中导入:

import {
"LH-DD-lh/csp-weaver-mbt" @csp,
}

#最小使用示例

fn main {
let policy = @csp.parse(
"default-src 'self'; script-src 'self' 'nonce-demo'; object-src 'none'",
)
let decision = @csp.allows(
policy,
@csp.script_request("https://app.example/main.js", "https://app.example"),
)
println(decision.reason)
println(@csp.findings_text(@csp.extended_audit(policy)))
}

#本地运行方式

moon check --deny-warn moon build moon test --deny-warn moon run cmd/main moon publish --dry-run

#核心功能

  • CSP header 解析和规范化导出。
  • Source expression 分类:keyword、scheme、host、nonce、hash、wildcard。
  • 请求级模拟:script、style、img、font、connect、frame、worker、object、manifest 等资源类型。
  • 内置审计:缺失关键指令、危险 source、'none' 误用、plain HTTP、通配符等。
  • 扩展审计目录:100+ 条细分检查。
  • 迁移规划:根据观察到的资源请求生成最小 allow-list 初稿。
  • 配方库:100 个常见站点和应用场景的 CSP 起点。
  • CI 和示例入口:cmd/main 可直接运行。

#API 概览

API说明
parse(input)解析 CSP 字符串
normalize(policy)规范化导出 CSP
allows(policy, request)模拟资源请求是否允许
audit(policy)默认审计
extended_audit(policy)扩展审计目录
findings_text(findings)渲染审计结果
plan_from_requests(requests)从资源请求生成迁移计划
recipe_names()返回策略配方名称
recipe_policy_by_name(name)按名称获取配方策略
catalog_rule_count()返回扩展审计规则数量

#支持范围

  • 常见 CSP fetch directives 和 document/navigation directives。
  • 'self''none'、nonce、hash、scheme、host、wildcard。
  • 同源、scheme、host、*. 子域模式的请求模拟。
  • CSP 风险审计和迁移建议。
  • MoonBit wasm target 下可构建和测试。

#暂不支持范围

  • 不实现浏览器完整 CSP 规范的所有边缘语义。
  • 不做真实网络请求。
  • 不自动读取 HTTP 响应头。
  • 不验证 hash 内容是否匹配真实脚本体。
  • 不替代专业渗透测试工具。

#测试与验收命令

moon check --deny-warn moon build moon test --deny-warn moon run cmd/main moon publish --dry-run git status --short git rev-list --count HEAD

#Mooncakes 发布

发布前确认 moon.mod 中的 owner、仓库地址和实际 GitHub 仓库一致:

moon login moon publish --dry-run moon publish

发布后检查:

https://mooncakes.io/docs/LH-DD-lh/csp-weaver-mbt https://mooncakes.io/api/v0/manifest/LH-DD-lh/csp-weaver-mbt

#开源许可证与第三方说明

本项目采用 MIT License。核心实现为原创 MoonBit 代码,不移植第三方源码,不包含来源不明素材、图片、音频、字体或测试数据。生成的审计目录和配方库来自项目内维护的规则表,用于机械展开公开 API。

#
Decision

pub(all) struct Decision {
allowed : Bool
directive : String
matched_source : String
reason : String
} derive(Eq,
Debug
)

Result of checking one resource against a policy.

#
Directive

pub(all) struct Directive {
name : String
sources : Array[Source]
raw_value : String
line : Int
} derive(Eq,
Debug
)

One CSP directive with its ordered sources.

#
Finding

pub(all) struct Finding {
severity : Severity
code : String
directive : String
message : String
line : Int
} derive(Eq,
Debug
)

Finding returned by parser, auditor or migration planner.

#
MigrationPlan

pub(all) struct MigrationPlan {
directives : Array[Directive]
findings : Array[Finding]
normalized : String
} derive(Eq,
Debug
)

Summary produced by migration planning from observed resources.

#
Policy

pub(all) struct Policy {
directives : Array[Directive]
diagnostics : Array[Finding]
} derive(Eq,
Debug
)

Parsed Content-Security-Policy header.

#
ResourceKind

pub(all) enum ResourceKind {
Script
Style
Image
Font
Connect
Frame
Media
Worker
Object
Manifest
Child
Base
Form
Navigate
Prefetch
Other
} derive(Eq,
Debug
)

Resource class used by CSP request simulation.

#
ResourceRequest

pub(all) struct ResourceRequest {
kind : ResourceKind
url : String
origin : String
nonce : String
is_inline : Bool
} derive(Eq,
Debug
)

Request model for local CSP simulation.

#
Severity

pub(all) enum Severity {
Info
Warning
Error
} derive(Eq,
Debug
)

Severity used by parser and auditor diagnostics.

#
Source

pub(all) struct Source {
raw : String
kind : SourceKind
value : String
line : Int
} derive(Eq,
Debug
)

One source expression inside a directive.

#
SourceKind

pub(all) enum SourceKind {
Keyword
Scheme
Host
Nonce
Hash
Wildcard
UnknownSource
} derive(Eq,
Debug
)

Coarse source expression classification.

#
allows

fn allows(policy : Policy, request : ResourceRequest) -> Decision

Check whether a resource request is allowed by the policy.

#
audit

fn audit(policy : Policy) -> Array[Finding]

Run the built-in CSP audit rule set.

#
catalog_expect_base_uri_self

fn catalog_expect_base_uri_self(policy : Policy) -> Finding?

#
catalog_expect_default_src_none_or_self

fn catalog_expect_default_src_none_or_self(policy : Policy) -> Finding?

#
catalog_expect_form_action_self

fn catalog_expect_form_action_self(policy : Policy) -> Finding?

#
catalog_expect_frame_ancestors_none_or_self

fn catalog_expect_frame_ancestors_none_or_self(policy : Policy) -> Finding?

#
catalog_expect_object_src_none

fn catalog_expect_object_src_none(policy : Policy) -> Finding?

#
catalog_expect_require_trusted_types_script

fn catalog_expect_require_trusted_types_script(policy : Policy) -> Finding?

#
catalog_expect_script_src_nonce

fn catalog_expect_script_src_nonce(policy : Policy) -> Finding?

#
catalog_expect_style_src_nonce

fn catalog_expect_style_src_nonce(policy : Policy) -> Finding?

#
catalog_missing_base_uri

fn catalog_missing_base_uri(policy : Policy) -> Finding?

#
catalog_missing_child_src

fn catalog_missing_child_src(policy : Policy) -> Finding?

#
catalog_missing_connect_src

fn catalog_missing_connect_src(policy : Policy) -> Finding?

#
catalog_missing_default_src

fn catalog_missing_default_src(policy : Policy) -> Finding?

#
catalog_missing_font_src

fn catalog_missing_font_src(policy : Policy) -> Finding?

#
catalog_missing_form_action

fn catalog_missing_form_action(policy : Policy) -> Finding?

#
catalog_missing_frame_ancestors

fn catalog_missing_frame_ancestors(policy : Policy) -> Finding?

#
catalog_missing_frame_src

fn catalog_missing_frame_src(policy : Policy) -> Finding?

#
catalog_missing_img_src

fn catalog_missing_img_src(policy : Policy) -> Finding?

#
catalog_missing_manifest_src

fn catalog_missing_manifest_src(policy : Policy) -> Finding?

#
catalog_missing_media_src

fn catalog_missing_media_src(policy : Policy) -> Finding?

#
catalog_missing_navigate_to

fn catalog_missing_navigate_to(policy : Policy) -> Finding?

#
catalog_missing_object_src

fn catalog_missing_object_src(policy : Policy) -> Finding?

#
catalog_missing_prefetch_src

fn catalog_missing_prefetch_src(policy : Policy) -> Finding?

#
catalog_missing_report_to

fn catalog_missing_report_to(policy : Policy) -> Finding?

#
catalog_missing_report_uri

fn catalog_missing_report_uri(policy : Policy) -> Finding?

#
catalog_missing_require_trusted_types_for

fn catalog_missing_require_trusted_types_for(policy : Policy) -> Finding?

#
catalog_missing_sandbox

fn catalog_missing_sandbox(policy : Policy) -> Finding?

#
catalog_missing_script_src

fn catalog_missing_script_src(policy : Policy) -> Finding?

#
catalog_missing_style_src

fn catalog_missing_style_src(policy : Policy) -> Finding?

#
catalog_missing_trusted_types

fn catalog_missing_trusted_types(policy : Policy) -> Finding?

#
catalog_missing_upgrade_insecure_requests

fn catalog_missing_upgrade_insecure_requests(policy : Policy) -> Finding?

#
catalog_missing_worker_src

fn catalog_missing_worker_src(policy : Policy) -> Finding?

#
catalog_rule_count

fn catalog_rule_count() -> Int

Return the number of expanded catalog checks wired into extended_audit.

#
catalog_source_child_src_blob

fn catalog_source_child_src_blob(policy : Policy) -> Finding?

#
catalog_source_child_src_data

fn catalog_source_child_src_data(policy : Policy) -> Finding?

#
catalog_source_child_src_filesystem

fn catalog_source_child_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_child_src_http

fn catalog_source_child_src_http(policy : Policy) -> Finding?

#
catalog_source_child_src_https

fn catalog_source_child_src_https(policy : Policy) -> Finding?

#
catalog_source_child_src_self

fn catalog_source_child_src_self(policy : Policy) -> Finding?

#
catalog_source_child_src_strict_dynamic

fn catalog_source_child_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_child_src_unsafe_eval

fn catalog_source_child_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_child_src_unsafe_inline

fn catalog_source_child_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_child_src_wildcard

fn catalog_source_child_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_child_src_ws

fn catalog_source_child_src_ws(policy : Policy) -> Finding?

#
catalog_source_child_src_wss

fn catalog_source_child_src_wss(policy : Policy) -> Finding?

#
catalog_source_connect_src_blob

fn catalog_source_connect_src_blob(policy : Policy) -> Finding?

#
catalog_source_connect_src_data

fn catalog_source_connect_src_data(policy : Policy) -> Finding?

#
catalog_source_connect_src_filesystem

fn catalog_source_connect_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_connect_src_http

fn catalog_source_connect_src_http(policy : Policy) -> Finding?

#
catalog_source_connect_src_https

fn catalog_source_connect_src_https(policy : Policy) -> Finding?

#
catalog_source_connect_src_self

fn catalog_source_connect_src_self(policy : Policy) -> Finding?

#
catalog_source_connect_src_strict_dynamic

fn catalog_source_connect_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_connect_src_unsafe_eval

fn catalog_source_connect_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_connect_src_unsafe_inline

fn catalog_source_connect_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_connect_src_wildcard

fn catalog_source_connect_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_connect_src_ws

fn catalog_source_connect_src_ws(policy : Policy) -> Finding?

#
catalog_source_connect_src_wss

fn catalog_source_connect_src_wss(policy : Policy) -> Finding?

#
catalog_source_default_src_blob

fn catalog_source_default_src_blob(policy : Policy) -> Finding?

#
catalog_source_default_src_data

fn catalog_source_default_src_data(policy : Policy) -> Finding?

#
catalog_source_default_src_filesystem

fn catalog_source_default_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_default_src_http

fn catalog_source_default_src_http(policy : Policy) -> Finding?

#
catalog_source_default_src_https

fn catalog_source_default_src_https(policy : Policy) -> Finding?

#
catalog_source_default_src_self

fn catalog_source_default_src_self(policy : Policy) -> Finding?

#
catalog_source_default_src_strict_dynamic

fn catalog_source_default_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_default_src_unsafe_eval

fn catalog_source_default_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_default_src_unsafe_inline

fn catalog_source_default_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_default_src_wildcard

fn catalog_source_default_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_default_src_ws

fn catalog_source_default_src_ws(policy : Policy) -> Finding?

#
catalog_source_default_src_wss

fn catalog_source_default_src_wss(policy : Policy) -> Finding?

#
catalog_source_font_src_blob

fn catalog_source_font_src_blob(policy : Policy) -> Finding?

#
catalog_source_font_src_data

fn catalog_source_font_src_data(policy : Policy) -> Finding?

#
catalog_source_font_src_filesystem

fn catalog_source_font_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_font_src_http

fn catalog_source_font_src_http(policy : Policy) -> Finding?

#
catalog_source_font_src_https

fn catalog_source_font_src_https(policy : Policy) -> Finding?

#
catalog_source_font_src_self

fn catalog_source_font_src_self(policy : Policy) -> Finding?

#
catalog_source_font_src_strict_dynamic

fn catalog_source_font_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_font_src_unsafe_eval

fn catalog_source_font_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_font_src_unsafe_inline

fn catalog_source_font_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_font_src_wildcard

fn catalog_source_font_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_font_src_ws

fn catalog_source_font_src_ws(policy : Policy) -> Finding?

#
catalog_source_font_src_wss

fn catalog_source_font_src_wss(policy : Policy) -> Finding?

#
catalog_source_frame_src_blob

fn catalog_source_frame_src_blob(policy : Policy) -> Finding?

#
catalog_source_frame_src_data

fn catalog_source_frame_src_data(policy : Policy) -> Finding?

#
catalog_source_frame_src_filesystem

fn catalog_source_frame_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_frame_src_http

fn catalog_source_frame_src_http(policy : Policy) -> Finding?

#
catalog_source_frame_src_https

fn catalog_source_frame_src_https(policy : Policy) -> Finding?

#
catalog_source_frame_src_self

fn catalog_source_frame_src_self(policy : Policy) -> Finding?

#
catalog_source_frame_src_strict_dynamic

fn catalog_source_frame_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_frame_src_unsafe_eval

fn catalog_source_frame_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_frame_src_unsafe_inline

fn catalog_source_frame_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_frame_src_wildcard

fn catalog_source_frame_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_frame_src_ws

fn catalog_source_frame_src_ws(policy : Policy) -> Finding?

#
catalog_source_frame_src_wss

fn catalog_source_frame_src_wss(policy : Policy) -> Finding?

#
catalog_source_img_src_blob

fn catalog_source_img_src_blob(policy : Policy) -> Finding?

#
catalog_source_img_src_data

fn catalog_source_img_src_data(policy : Policy) -> Finding?

#
catalog_source_img_src_filesystem

fn catalog_source_img_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_img_src_http

fn catalog_source_img_src_http(policy : Policy) -> Finding?

#
catalog_source_img_src_https

fn catalog_source_img_src_https(policy : Policy) -> Finding?

#
catalog_source_img_src_self

fn catalog_source_img_src_self(policy : Policy) -> Finding?

#
catalog_source_img_src_strict_dynamic

fn catalog_source_img_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_img_src_unsafe_eval

fn catalog_source_img_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_img_src_unsafe_inline

fn catalog_source_img_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_img_src_wildcard

fn catalog_source_img_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_img_src_ws

fn catalog_source_img_src_ws(policy : Policy) -> Finding?

#
catalog_source_img_src_wss

fn catalog_source_img_src_wss(policy : Policy) -> Finding?

#
catalog_source_manifest_src_blob

fn catalog_source_manifest_src_blob(policy : Policy) -> Finding?

#
catalog_source_manifest_src_data

fn catalog_source_manifest_src_data(policy : Policy) -> Finding?

#
catalog_source_manifest_src_filesystem

fn catalog_source_manifest_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_manifest_src_http

fn catalog_source_manifest_src_http(policy : Policy) -> Finding?

#
catalog_source_manifest_src_https

fn catalog_source_manifest_src_https(policy : Policy) -> Finding?

#
catalog_source_manifest_src_self

fn catalog_source_manifest_src_self(policy : Policy) -> Finding?

#
catalog_source_manifest_src_strict_dynamic

fn catalog_source_manifest_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_manifest_src_unsafe_eval

fn catalog_source_manifest_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_manifest_src_unsafe_inline

fn catalog_source_manifest_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_manifest_src_wildcard

fn catalog_source_manifest_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_manifest_src_ws

fn catalog_source_manifest_src_ws(policy : Policy) -> Finding?

#
catalog_source_manifest_src_wss

fn catalog_source_manifest_src_wss(policy : Policy) -> Finding?

#
catalog_source_media_src_blob

fn catalog_source_media_src_blob(policy : Policy) -> Finding?

#
catalog_source_media_src_data

fn catalog_source_media_src_data(policy : Policy) -> Finding?

#
catalog_source_media_src_filesystem

fn catalog_source_media_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_media_src_http

fn catalog_source_media_src_http(policy : Policy) -> Finding?

#
catalog_source_media_src_https

fn catalog_source_media_src_https(policy : Policy) -> Finding?

#
catalog_source_media_src_self

fn catalog_source_media_src_self(policy : Policy) -> Finding?

#
catalog_source_media_src_strict_dynamic

fn catalog_source_media_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_media_src_unsafe_eval

fn catalog_source_media_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_media_src_unsafe_inline

fn catalog_source_media_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_media_src_wildcard

fn catalog_source_media_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_media_src_ws

fn catalog_source_media_src_ws(policy : Policy) -> Finding?

#
catalog_source_media_src_wss

fn catalog_source_media_src_wss(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_blob

fn catalog_source_prefetch_src_blob(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_data

fn catalog_source_prefetch_src_data(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_filesystem

fn catalog_source_prefetch_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_http

fn catalog_source_prefetch_src_http(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_https

fn catalog_source_prefetch_src_https(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_self

fn catalog_source_prefetch_src_self(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_strict_dynamic

fn catalog_source_prefetch_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_unsafe_eval

fn catalog_source_prefetch_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_unsafe_inline

fn catalog_source_prefetch_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_wildcard

fn catalog_source_prefetch_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_ws

fn catalog_source_prefetch_src_ws(policy : Policy) -> Finding?

#
catalog_source_prefetch_src_wss

fn catalog_source_prefetch_src_wss(policy : Policy) -> Finding?

#
catalog_source_script_src_blob

fn catalog_source_script_src_blob(policy : Policy) -> Finding?

#
catalog_source_script_src_data

fn catalog_source_script_src_data(policy : Policy) -> Finding?

#
catalog_source_script_src_filesystem

fn catalog_source_script_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_script_src_http

fn catalog_source_script_src_http(policy : Policy) -> Finding?

#
catalog_source_script_src_https

fn catalog_source_script_src_https(policy : Policy) -> Finding?

#
catalog_source_script_src_self

fn catalog_source_script_src_self(policy : Policy) -> Finding?

#
catalog_source_script_src_strict_dynamic

fn catalog_source_script_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_script_src_unsafe_eval

fn catalog_source_script_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_script_src_unsafe_inline

fn catalog_source_script_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_script_src_wildcard

fn catalog_source_script_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_script_src_ws

fn catalog_source_script_src_ws(policy : Policy) -> Finding?

#
catalog_source_script_src_wss

fn catalog_source_script_src_wss(policy : Policy) -> Finding?

#
catalog_source_style_src_blob

fn catalog_source_style_src_blob(policy : Policy) -> Finding?

#
catalog_source_style_src_data

fn catalog_source_style_src_data(policy : Policy) -> Finding?

#
catalog_source_style_src_filesystem

fn catalog_source_style_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_style_src_http

fn catalog_source_style_src_http(policy : Policy) -> Finding?

#
catalog_source_style_src_https

fn catalog_source_style_src_https(policy : Policy) -> Finding?

#
catalog_source_style_src_self

fn catalog_source_style_src_self(policy : Policy) -> Finding?

#
catalog_source_style_src_strict_dynamic

fn catalog_source_style_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_style_src_unsafe_eval

fn catalog_source_style_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_style_src_unsafe_inline

fn catalog_source_style_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_style_src_wildcard

fn catalog_source_style_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_style_src_ws

fn catalog_source_style_src_ws(policy : Policy) -> Finding?

#
catalog_source_style_src_wss

fn catalog_source_style_src_wss(policy : Policy) -> Finding?

#
catalog_source_worker_src_blob

fn catalog_source_worker_src_blob(policy : Policy) -> Finding?

#
catalog_source_worker_src_data

fn catalog_source_worker_src_data(policy : Policy) -> Finding?

#
catalog_source_worker_src_filesystem

fn catalog_source_worker_src_filesystem(policy : Policy) -> Finding?

#
catalog_source_worker_src_http

fn catalog_source_worker_src_http(policy : Policy) -> Finding?

#
catalog_source_worker_src_https

fn catalog_source_worker_src_https(policy : Policy) -> Finding?

#
catalog_source_worker_src_self

fn catalog_source_worker_src_self(policy : Policy) -> Finding?

#
catalog_source_worker_src_strict_dynamic

fn catalog_source_worker_src_strict_dynamic(policy : Policy) -> Finding?

#
catalog_source_worker_src_unsafe_eval

fn catalog_source_worker_src_unsafe_eval(policy : Policy) -> Finding?

#
catalog_source_worker_src_unsafe_inline

fn catalog_source_worker_src_unsafe_inline(policy : Policy) -> Finding?

#
catalog_source_worker_src_wildcard

fn catalog_source_worker_src_wildcard(policy : Policy) -> Finding?

#
catalog_source_worker_src_ws

fn catalog_source_worker_src_ws(policy : Policy) -> Finding?

#
catalog_source_worker_src_wss

fn catalog_source_worker_src_wss(policy : Policy) -> Finding?

#
connect_request

fn connect_request(url : String, origin : String) -> ResourceRequest

#
contains_text

fn contains_text(text : String, needle : String) -> Bool

#
directive_has_source

fn directive_has_source(directive : Directive, value : String) -> Bool

#
extended_audit

fn extended_audit(policy : Policy) -> Array[Finding]

Run the expanded CSP audit catalog in addition to the compact default audit.

#
findings_text

fn findings_text(findings : Array[Finding]) -> String

Render findings as line-oriented text for CLI and CI logs.

#
get_directive

fn get_directive(policy : Policy, name : String) -> Directive?

#
has_directive

fn has_directive(policy : Policy, name : String) -> Bool

#
image_request

fn image_request(url : String, origin : String) -> ResourceRequest

#
inline_script

fn inline_script(nonce : String, origin : String) -> ResourceRequest

#
normalize

fn normalize(policy : Policy) -> String

Serialize a parsed policy into stable, normalized CSP text.

#
parse

fn parse(input : String) -> Policy

Parse one Content-Security-Policy header value.

#
plan_from_requests

fn plan_from_requests(requests : Array[ResourceRequest]) -> MigrationPlan

Build a minimal allow-list policy from observed resource requests.

#
recipe_admin_console_core

fn recipe_admin_console_core() -> String

#
recipe_admin_console_core_findings

fn recipe_admin_console_core_findings() -> Array[Finding]

#
recipe_admin_console_core_policy

fn recipe_admin_console_core_policy() -> Policy

#
recipe_admin_console_locked_forms

fn recipe_admin_console_locked_forms() -> String

#
recipe_admin_console_locked_forms_findings

fn recipe_admin_console_locked_forms_findings() -> Array[Finding]

#
recipe_admin_console_locked_forms_policy

fn recipe_admin_console_locked_forms_policy() -> Policy

#
recipe_admin_console_sandboxed

fn recipe_admin_console_sandboxed() -> String

#
recipe_admin_console_sandboxed_findings

fn recipe_admin_console_sandboxed_findings() -> Array[Finding]

#
recipe_admin_console_sandboxed_policy

fn recipe_admin_console_sandboxed_policy() -> Policy

#
recipe_admin_console_with_legacy_report

fn recipe_admin_console_with_legacy_report() -> String

#
recipe_admin_console_with_legacy_report_findings

fn recipe_admin_console_with_legacy_report_findings() -> Array[Finding]

#
recipe_admin_console_with_legacy_report_policy

fn recipe_admin_console_with_legacy_report_policy() -> Policy

#
recipe_admin_console_with_manifest

fn recipe_admin_console_with_manifest() -> String

#
recipe_admin_console_with_manifest_findings

fn recipe_admin_console_with_manifest_findings() -> Array[Finding]

#
recipe_admin_console_with_manifest_policy

fn recipe_admin_console_with_manifest_policy() -> Policy

#
recipe_admin_console_with_navigation

fn recipe_admin_console_with_navigation() -> String

#
recipe_admin_console_with_navigation_findings

fn recipe_admin_console_with_navigation_findings() -> Array[Finding]

#
recipe_admin_console_with_navigation_policy

fn recipe_admin_console_with_navigation_policy() -> Policy

#
recipe_admin_console_with_prefetch

fn recipe_admin_console_with_prefetch() -> String

#
recipe_admin_console_with_prefetch_findings

fn recipe_admin_console_with_prefetch_findings() -> Array[Finding]

#
recipe_admin_console_with_prefetch_policy

fn recipe_admin_console_with_prefetch_policy() -> Policy

#
recipe_admin_console_with_reports

fn recipe_admin_console_with_reports() -> String

#
recipe_admin_console_with_reports_findings

fn recipe_admin_console_with_reports_findings() -> Array[Finding]

#
recipe_admin_console_with_reports_policy

fn recipe_admin_console_with_reports_policy() -> Policy

#
recipe_admin_console_with_trusted_types

fn recipe_admin_console_with_trusted_types() -> String

#
recipe_admin_console_with_trusted_types_findings

fn recipe_admin_console_with_trusted_types_findings() -> Array[Finding]

#
recipe_admin_console_with_trusted_types_policy

fn recipe_admin_console_with_trusted_types_policy() -> Policy

#
recipe_admin_console_with_upgrade

fn recipe_admin_console_with_upgrade() -> String

#
recipe_admin_console_with_upgrade_findings

fn recipe_admin_console_with_upgrade_findings() -> Array[Finding]

#
recipe_admin_console_with_upgrade_policy

fn recipe_admin_console_with_upgrade_policy() -> Policy

#
recipe_analytics_light_core

fn recipe_analytics_light_core() -> String

#
recipe_analytics_light_core_findings

fn recipe_analytics_light_core_findings() -> Array[Finding]

#
recipe_analytics_light_core_policy

fn recipe_analytics_light_core_policy() -> Policy

#
recipe_analytics_light_locked_forms

fn recipe_analytics_light_locked_forms() -> String

#
recipe_analytics_light_locked_forms_findings

fn recipe_analytics_light_locked_forms_findings() -> Array[Finding]

#
recipe_analytics_light_locked_forms_policy

fn recipe_analytics_light_locked_forms_policy() -> Policy

#
recipe_analytics_light_sandboxed

fn recipe_analytics_light_sandboxed() -> String

#
recipe_analytics_light_sandboxed_findings

fn recipe_analytics_light_sandboxed_findings() -> Array[Finding]

#
recipe_analytics_light_sandboxed_policy

fn recipe_analytics_light_sandboxed_policy() -> Policy

#
recipe_analytics_light_with_legacy_report

fn recipe_analytics_light_with_legacy_report() -> String

#
recipe_analytics_light_with_legacy_report_findings

fn recipe_analytics_light_with_legacy_report_findings() -> Array[Finding]

#
recipe_analytics_light_with_legacy_report_policy

fn recipe_analytics_light_with_legacy_report_policy() -> Policy

#
recipe_analytics_light_with_manifest

fn recipe_analytics_light_with_manifest() -> String

#
recipe_analytics_light_with_manifest_findings

fn recipe_analytics_light_with_manifest_findings() -> Array[Finding]

#
recipe_analytics_light_with_manifest_policy

fn recipe_analytics_light_with_manifest_policy() -> Policy

#
recipe_analytics_light_with_navigation

fn recipe_analytics_light_with_navigation() -> String

#
recipe_analytics_light_with_navigation_findings

fn recipe_analytics_light_with_navigation_findings() -> Array[Finding]

#
recipe_analytics_light_with_navigation_policy

fn recipe_analytics_light_with_navigation_policy() -> Policy

#
recipe_analytics_light_with_prefetch

fn recipe_analytics_light_with_prefetch() -> String

#
recipe_analytics_light_with_prefetch_findings

fn recipe_analytics_light_with_prefetch_findings() -> Array[Finding]

#
recipe_analytics_light_with_prefetch_policy

fn recipe_analytics_light_with_prefetch_policy() -> Policy

#
recipe_analytics_light_with_reports

fn recipe_analytics_light_with_reports() -> String

#
recipe_analytics_light_with_reports_findings

fn recipe_analytics_light_with_reports_findings() -> Array[Finding]

#
recipe_analytics_light_with_reports_policy

fn recipe_analytics_light_with_reports_policy() -> Policy

#
recipe_analytics_light_with_trusted_types

fn recipe_analytics_light_with_trusted_types() -> String

#
recipe_analytics_light_with_trusted_types_findings

fn recipe_analytics_light_with_trusted_types_findings() -> Array[Finding]

#
recipe_analytics_light_with_trusted_types_policy

fn recipe_analytics_light_with_trusted_types_policy() -> Policy

#
recipe_analytics_light_with_upgrade

fn recipe_analytics_light_with_upgrade() -> String

#
recipe_analytics_light_with_upgrade_findings

fn recipe_analytics_light_with_upgrade_findings() -> Array[Finding]

#
recipe_analytics_light_with_upgrade_policy

fn recipe_analytics_light_with_upgrade_policy() -> Policy

#
recipe_audit_by_name

fn recipe_audit_by_name(name : String) -> Array[Finding]

#
recipe_count

fn recipe_count() -> Int

#
recipe_docs_site_core

fn recipe_docs_site_core() -> String

#
recipe_docs_site_core_findings

fn recipe_docs_site_core_findings() -> Array[Finding]

#
recipe_docs_site_core_policy

fn recipe_docs_site_core_policy() -> Policy

#
recipe_docs_site_locked_forms

fn recipe_docs_site_locked_forms() -> String

#
recipe_docs_site_locked_forms_findings

fn recipe_docs_site_locked_forms_findings() -> Array[Finding]

#
recipe_docs_site_locked_forms_policy

fn recipe_docs_site_locked_forms_policy() -> Policy

#
recipe_docs_site_sandboxed

fn recipe_docs_site_sandboxed() -> String

#
recipe_docs_site_sandboxed_findings

fn recipe_docs_site_sandboxed_findings() -> Array[Finding]

#
recipe_docs_site_sandboxed_policy

fn recipe_docs_site_sandboxed_policy() -> Policy

#
recipe_docs_site_with_legacy_report

fn recipe_docs_site_with_legacy_report() -> String

#
recipe_docs_site_with_legacy_report_findings

fn recipe_docs_site_with_legacy_report_findings() -> Array[Finding]

#
recipe_docs_site_with_legacy_report_policy

fn recipe_docs_site_with_legacy_report_policy() -> Policy

#
recipe_docs_site_with_manifest

fn recipe_docs_site_with_manifest() -> String

#
recipe_docs_site_with_manifest_findings

fn recipe_docs_site_with_manifest_findings() -> Array[Finding]

#
recipe_docs_site_with_manifest_policy

fn recipe_docs_site_with_manifest_policy() -> Policy

#
recipe_docs_site_with_navigation

fn recipe_docs_site_with_navigation() -> String

#
recipe_docs_site_with_navigation_findings

fn recipe_docs_site_with_navigation_findings() -> Array[Finding]

#
recipe_docs_site_with_navigation_policy

fn recipe_docs_site_with_navigation_policy() -> Policy

#
recipe_docs_site_with_prefetch

fn recipe_docs_site_with_prefetch() -> String

#
recipe_docs_site_with_prefetch_findings

fn recipe_docs_site_with_prefetch_findings() -> Array[Finding]

#
recipe_docs_site_with_prefetch_policy

fn recipe_docs_site_with_prefetch_policy() -> Policy

#
recipe_docs_site_with_reports

fn recipe_docs_site_with_reports() -> String

#
recipe_docs_site_with_reports_findings

fn recipe_docs_site_with_reports_findings() -> Array[Finding]

#
recipe_docs_site_with_reports_policy

fn recipe_docs_site_with_reports_policy() -> Policy

#
recipe_docs_site_with_trusted_types

fn recipe_docs_site_with_trusted_types() -> String

#
recipe_docs_site_with_trusted_types_findings

fn recipe_docs_site_with_trusted_types_findings() -> Array[Finding]

#
recipe_docs_site_with_trusted_types_policy

fn recipe_docs_site_with_trusted_types_policy() -> Policy

#
recipe_docs_site_with_upgrade

fn recipe_docs_site_with_upgrade() -> String

#
recipe_docs_site_with_upgrade_findings

fn recipe_docs_site_with_upgrade_findings() -> Array[Finding]

#
recipe_docs_site_with_upgrade_policy

fn recipe_docs_site_with_upgrade_policy() -> Policy

#
recipe_embed_widget_core

fn recipe_embed_widget_core() -> String

#
recipe_embed_widget_core_findings

fn recipe_embed_widget_core_findings() -> Array[Finding]

#
recipe_embed_widget_core_policy

fn recipe_embed_widget_core_policy() -> Policy

#
recipe_embed_widget_locked_forms

fn recipe_embed_widget_locked_forms() -> String

#
recipe_embed_widget_locked_forms_findings

fn recipe_embed_widget_locked_forms_findings() -> Array[Finding]

#
recipe_embed_widget_locked_forms_policy

fn recipe_embed_widget_locked_forms_policy() -> Policy

#
recipe_embed_widget_sandboxed

fn recipe_embed_widget_sandboxed() -> String

#
recipe_embed_widget_sandboxed_findings

fn recipe_embed_widget_sandboxed_findings() -> Array[Finding]

#
recipe_embed_widget_sandboxed_policy

fn recipe_embed_widget_sandboxed_policy() -> Policy

#
recipe_embed_widget_with_legacy_report

fn recipe_embed_widget_with_legacy_report() -> String

#
recipe_embed_widget_with_legacy_report_findings

fn recipe_embed_widget_with_legacy_report_findings() -> Array[Finding]

#
recipe_embed_widget_with_legacy_report_policy

fn recipe_embed_widget_with_legacy_report_policy() -> Policy

#
recipe_embed_widget_with_manifest

fn recipe_embed_widget_with_manifest() -> String

#
recipe_embed_widget_with_manifest_findings

fn recipe_embed_widget_with_manifest_findings() -> Array[Finding]

#
recipe_embed_widget_with_manifest_policy

fn recipe_embed_widget_with_manifest_policy() -> Policy

#
recipe_embed_widget_with_navigation

fn recipe_embed_widget_with_navigation() -> String

#
recipe_embed_widget_with_navigation_findings

fn recipe_embed_widget_with_navigation_findings() -> Array[Finding]

#
recipe_embed_widget_with_navigation_policy

fn recipe_embed_widget_with_navigation_policy() -> Policy

#
recipe_embed_widget_with_prefetch

fn recipe_embed_widget_with_prefetch() -> String

#
recipe_embed_widget_with_prefetch_findings

fn recipe_embed_widget_with_prefetch_findings() -> Array[Finding]

#
recipe_embed_widget_with_prefetch_policy

fn recipe_embed_widget_with_prefetch_policy() -> Policy

#
recipe_embed_widget_with_reports

fn recipe_embed_widget_with_reports() -> String

#
recipe_embed_widget_with_reports_findings

fn recipe_embed_widget_with_reports_findings() -> Array[Finding]

#
recipe_embed_widget_with_reports_policy

fn recipe_embed_widget_with_reports_policy() -> Policy

#
recipe_embed_widget_with_trusted_types

fn recipe_embed_widget_with_trusted_types() -> String

#
recipe_embed_widget_with_trusted_types_findings

fn recipe_embed_widget_with_trusted_types_findings() -> Array[Finding]

#
recipe_embed_widget_with_trusted_types_policy

fn recipe_embed_widget_with_trusted_types_policy() -> Policy

#
recipe_embed_widget_with_upgrade

fn recipe_embed_widget_with_upgrade() -> String

#
recipe_embed_widget_with_upgrade_findings

fn recipe_embed_widget_with_upgrade_findings() -> Array[Finding]

#
recipe_embed_widget_with_upgrade_policy

fn recipe_embed_widget_with_upgrade_policy() -> Policy

fn recipe_media_gallery_core() -> String

fn recipe_media_gallery_core_findings() -> Array[Finding]

fn recipe_media_gallery_core_policy() -> Policy

fn recipe_media_gallery_locked_forms() -> String

fn recipe_media_gallery_locked_forms_findings() -> Array[Finding]

fn recipe_media_gallery_locked_forms_policy() -> Policy

fn recipe_media_gallery_sandboxed() -> String

fn recipe_media_gallery_sandboxed_findings() -> Array[Finding]

fn recipe_media_gallery_sandboxed_policy() -> Policy

fn recipe_media_gallery_with_legacy_report() -> String

fn recipe_media_gallery_with_legacy_report_findings() -> Array[Finding]

fn recipe_media_gallery_with_legacy_report_policy() -> Policy

fn recipe_media_gallery_with_manifest() -> String

fn recipe_media_gallery_with_manifest_findings() -> Array[Finding]

fn recipe_media_gallery_with_manifest_policy() -> Policy

fn recipe_media_gallery_with_navigation() -> String

fn recipe_media_gallery_with_navigation_findings() -> Array[Finding]

fn recipe_media_gallery_with_navigation_policy() -> Policy

fn recipe_media_gallery_with_prefetch() -> String

fn recipe_media_gallery_with_prefetch_findings() -> Array[Finding]

fn recipe_media_gallery_with_prefetch_policy() -> Policy

fn recipe_media_gallery_with_reports() -> String

fn recipe_media_gallery_with_reports_findings() -> Array[Finding]

fn recipe_media_gallery_with_reports_policy() -> Policy

fn recipe_media_gallery_with_trusted_types() -> String

fn recipe_media_gallery_with_trusted_types_findings() -> Array[Finding]

fn recipe_media_gallery_with_trusted_types_policy() -> Policy

fn recipe_media_gallery_with_upgrade() -> String

fn recipe_media_gallery_with_upgrade_findings() -> Array[Finding]

fn recipe_media_gallery_with_upgrade_policy() -> Policy

#
recipe_names

fn recipe_names() -> Array[String]

#
recipe_payment_redirect_core

fn recipe_payment_redirect_core() -> String

#
recipe_payment_redirect_core_findings

fn recipe_payment_redirect_core_findings() -> Array[Finding]

#
recipe_payment_redirect_core_policy

fn recipe_payment_redirect_core_policy() -> Policy

#
recipe_payment_redirect_locked_forms

fn recipe_payment_redirect_locked_forms() -> String

#
recipe_payment_redirect_locked_forms_findings

fn recipe_payment_redirect_locked_forms_findings() -> Array[Finding]

#
recipe_payment_redirect_locked_forms_policy

fn recipe_payment_redirect_locked_forms_policy() -> Policy

#
recipe_payment_redirect_sandboxed

fn recipe_payment_redirect_sandboxed() -> String

#
recipe_payment_redirect_sandboxed_findings

fn recipe_payment_redirect_sandboxed_findings() -> Array[Finding]

#
recipe_payment_redirect_sandboxed_policy

fn recipe_payment_redirect_sandboxed_policy() -> Policy

#
recipe_payment_redirect_with_legacy_report

fn recipe_payment_redirect_with_legacy_report() -> String

#
recipe_payment_redirect_with_legacy_report_findings

fn recipe_payment_redirect_with_legacy_report_findings() -> Array[Finding]

#
recipe_payment_redirect_with_legacy_report_policy

fn recipe_payment_redirect_with_legacy_report_policy() -> Policy

#
recipe_payment_redirect_with_manifest

fn recipe_payment_redirect_with_manifest() -> String

#
recipe_payment_redirect_with_manifest_findings

fn recipe_payment_redirect_with_manifest_findings() -> Array[Finding]

#
recipe_payment_redirect_with_manifest_policy

fn recipe_payment_redirect_with_manifest_policy() -> Policy

#
recipe_payment_redirect_with_navigation

fn recipe_payment_redirect_with_navigation() -> String

#
recipe_payment_redirect_with_navigation_findings

fn recipe_payment_redirect_with_navigation_findings() -> Array[Finding]

#
recipe_payment_redirect_with_navigation_policy

fn recipe_payment_redirect_with_navigation_policy() -> Policy

#
recipe_payment_redirect_with_prefetch

fn recipe_payment_redirect_with_prefetch() -> String

#
recipe_payment_redirect_with_prefetch_findings

fn recipe_payment_redirect_with_prefetch_findings() -> Array[Finding]

#
recipe_payment_redirect_with_prefetch_policy

fn recipe_payment_redirect_with_prefetch_policy() -> Policy

#
recipe_payment_redirect_with_reports

fn recipe_payment_redirect_with_reports() -> String

#
recipe_payment_redirect_with_reports_findings

fn recipe_payment_redirect_with_reports_findings() -> Array[Finding]

#
recipe_payment_redirect_with_reports_policy

fn recipe_payment_redirect_with_reports_policy() -> Policy

#
recipe_payment_redirect_with_trusted_types

fn recipe_payment_redirect_with_trusted_types() -> String

#
recipe_payment_redirect_with_trusted_types_findings

fn recipe_payment_redirect_with_trusted_types_findings() -> Array[Finding]

#
recipe_payment_redirect_with_trusted_types_policy

fn recipe_payment_redirect_with_trusted_types_policy() -> Policy

#
recipe_payment_redirect_with_upgrade

fn recipe_payment_redirect_with_upgrade() -> String

#
recipe_payment_redirect_with_upgrade_findings

fn recipe_payment_redirect_with_upgrade_findings() -> Array[Finding]

#
recipe_payment_redirect_with_upgrade_policy

fn recipe_payment_redirect_with_upgrade_policy() -> Policy

#
recipe_policy_by_name

fn recipe_policy_by_name(name : String) -> Policy?

#
recipe_report_only_baseline_core

fn recipe_report_only_baseline_core() -> String

#
recipe_report_only_baseline_core_findings

fn recipe_report_only_baseline_core_findings() -> Array[Finding]

#
recipe_report_only_baseline_core_policy

fn recipe_report_only_baseline_core_policy() -> Policy

#
recipe_report_only_baseline_locked_forms

fn recipe_report_only_baseline_locked_forms() -> String

#
recipe_report_only_baseline_locked_forms_findings

fn recipe_report_only_baseline_locked_forms_findings() -> Array[Finding]

#
recipe_report_only_baseline_locked_forms_policy

fn recipe_report_only_baseline_locked_forms_policy() -> Policy

#
recipe_report_only_baseline_sandboxed

fn recipe_report_only_baseline_sandboxed() -> String

#
recipe_report_only_baseline_sandboxed_findings

fn recipe_report_only_baseline_sandboxed_findings() -> Array[Finding]

#
recipe_report_only_baseline_sandboxed_policy

fn recipe_report_only_baseline_sandboxed_policy() -> Policy

#
recipe_report_only_baseline_with_legacy_report

fn recipe_report_only_baseline_with_legacy_report() -> String

#
recipe_report_only_baseline_with_legacy_report_findings

fn recipe_report_only_baseline_with_legacy_report_findings() -> Array[Finding]

#
recipe_report_only_baseline_with_legacy_report_policy

fn recipe_report_only_baseline_with_legacy_report_policy() -> Policy

#
recipe_report_only_baseline_with_manifest

fn recipe_report_only_baseline_with_manifest() -> String

#
recipe_report_only_baseline_with_manifest_findings

fn recipe_report_only_baseline_with_manifest_findings() -> Array[Finding]

#
recipe_report_only_baseline_with_manifest_policy

fn recipe_report_only_baseline_with_manifest_policy() -> Policy

#
recipe_report_only_baseline_with_navigation

fn recipe_report_only_baseline_with_navigation() -> String

#
recipe_report_only_baseline_with_navigation_findings

fn recipe_report_only_baseline_with_navigation_findings() -> Array[Finding]

#
recipe_report_only_baseline_with_navigation_policy

fn recipe_report_only_baseline_with_navigation_policy() -> Policy

#
recipe_report_only_baseline_with_prefetch

fn recipe_report_only_baseline_with_prefetch() -> String

#
recipe_report_only_baseline_with_prefetch_findings

fn recipe_report_only_baseline_with_prefetch_findings() -> Array[Finding]

#
recipe_report_only_baseline_with_prefetch_policy

fn recipe_report_only_baseline_with_prefetch_policy() -> Policy

#
recipe_report_only_baseline_with_reports

fn recipe_report_only_baseline_with_reports() -> String

#
recipe_report_only_baseline_with_reports_findings

fn recipe_report_only_baseline_with_reports_findings() -> Array[Finding]

#
recipe_report_only_baseline_with_reports_policy

fn recipe_report_only_baseline_with_reports_policy() -> Policy

#
recipe_report_only_baseline_with_trusted_types

fn recipe_report_only_baseline_with_trusted_types() -> String

#
recipe_report_only_baseline_with_trusted_types_findings

fn recipe_report_only_baseline_with_trusted_types_findings() -> Array[Finding]

#
recipe_report_only_baseline_with_trusted_types_policy

fn recipe_report_only_baseline_with_trusted_types_policy() -> Policy

#
recipe_report_only_baseline_with_upgrade

fn recipe_report_only_baseline_with_upgrade() -> String

#
recipe_report_only_baseline_with_upgrade_findings

fn recipe_report_only_baseline_with_upgrade_findings() -> Array[Finding]

#
recipe_report_only_baseline_with_upgrade_policy

fn recipe_report_only_baseline_with_upgrade_policy() -> Policy

#
recipe_static_site_core

fn recipe_static_site_core() -> String

#
recipe_static_site_core_findings

fn recipe_static_site_core_findings() -> Array[Finding]

#
recipe_static_site_core_policy

fn recipe_static_site_core_policy() -> Policy

#
recipe_static_site_locked_forms

fn recipe_static_site_locked_forms() -> String

#
recipe_static_site_locked_forms_findings

fn recipe_static_site_locked_forms_findings() -> Array[Finding]

#
recipe_static_site_locked_forms_policy

fn recipe_static_site_locked_forms_policy() -> Policy

#
recipe_static_site_sandboxed

fn recipe_static_site_sandboxed() -> String

#
recipe_static_site_sandboxed_findings

fn recipe_static_site_sandboxed_findings() -> Array[Finding]

#
recipe_static_site_sandboxed_policy

fn recipe_static_site_sandboxed_policy() -> Policy

#
recipe_static_site_with_legacy_report

fn recipe_static_site_with_legacy_report() -> String

#
recipe_static_site_with_legacy_report_findings

fn recipe_static_site_with_legacy_report_findings() -> Array[Finding]

#
recipe_static_site_with_legacy_report_policy

fn recipe_static_site_with_legacy_report_policy() -> Policy

#
recipe_static_site_with_manifest

fn recipe_static_site_with_manifest() -> String

#
recipe_static_site_with_manifest_findings

fn recipe_static_site_with_manifest_findings() -> Array[Finding]

#
recipe_static_site_with_manifest_policy

fn recipe_static_site_with_manifest_policy() -> Policy

#
recipe_static_site_with_navigation

fn recipe_static_site_with_navigation() -> String

#
recipe_static_site_with_navigation_findings

fn recipe_static_site_with_navigation_findings() -> Array[Finding]

#
recipe_static_site_with_navigation_policy

fn recipe_static_site_with_navigation_policy() -> Policy

#
recipe_static_site_with_prefetch

fn recipe_static_site_with_prefetch() -> String

#
recipe_static_site_with_prefetch_findings

fn recipe_static_site_with_prefetch_findings() -> Array[Finding]

#
recipe_static_site_with_prefetch_policy

fn recipe_static_site_with_prefetch_policy() -> Policy

#
recipe_static_site_with_reports

fn recipe_static_site_with_reports() -> String

#
recipe_static_site_with_reports_findings

fn recipe_static_site_with_reports_findings() -> Array[Finding]

#
recipe_static_site_with_reports_policy

fn recipe_static_site_with_reports_policy() -> Policy

#
recipe_static_site_with_trusted_types

fn recipe_static_site_with_trusted_types() -> String

#
recipe_static_site_with_trusted_types_findings

fn recipe_static_site_with_trusted_types_findings() -> Array[Finding]

#
recipe_static_site_with_trusted_types_policy

fn recipe_static_site_with_trusted_types_policy() -> Policy

#
recipe_static_site_with_upgrade

fn recipe_static_site_with_upgrade() -> String

#
recipe_static_site_with_upgrade_findings

fn recipe_static_site_with_upgrade_findings() -> Array[Finding]

#
recipe_static_site_with_upgrade_policy

fn recipe_static_site_with_upgrade_policy() -> Policy

#
recipe_strict_nonce_core

fn recipe_strict_nonce_core() -> String

#
recipe_strict_nonce_core_findings

fn recipe_strict_nonce_core_findings() -> Array[Finding]

#
recipe_strict_nonce_core_policy

fn recipe_strict_nonce_core_policy() -> Policy

#
recipe_strict_nonce_locked_forms

fn recipe_strict_nonce_locked_forms() -> String

#
recipe_strict_nonce_locked_forms_findings

fn recipe_strict_nonce_locked_forms_findings() -> Array[Finding]

#
recipe_strict_nonce_locked_forms_policy

fn recipe_strict_nonce_locked_forms_policy() -> Policy

#
recipe_strict_nonce_sandboxed

fn recipe_strict_nonce_sandboxed() -> String

#
recipe_strict_nonce_sandboxed_findings

fn recipe_strict_nonce_sandboxed_findings() -> Array[Finding]

#
recipe_strict_nonce_sandboxed_policy

fn recipe_strict_nonce_sandboxed_policy() -> Policy

#
recipe_strict_nonce_with_legacy_report

fn recipe_strict_nonce_with_legacy_report() -> String

#
recipe_strict_nonce_with_legacy_report_findings

fn recipe_strict_nonce_with_legacy_report_findings() -> Array[Finding]

#
recipe_strict_nonce_with_legacy_report_policy

fn recipe_strict_nonce_with_legacy_report_policy() -> Policy

#
recipe_strict_nonce_with_manifest

fn recipe_strict_nonce_with_manifest() -> String

#
recipe_strict_nonce_with_manifest_findings

fn recipe_strict_nonce_with_manifest_findings() -> Array[Finding]

#
recipe_strict_nonce_with_manifest_policy

fn recipe_strict_nonce_with_manifest_policy() -> Policy

#
recipe_strict_nonce_with_navigation

fn recipe_strict_nonce_with_navigation() -> String

#
recipe_strict_nonce_with_navigation_findings

fn recipe_strict_nonce_with_navigation_findings() -> Array[Finding]

#
recipe_strict_nonce_with_navigation_policy

fn recipe_strict_nonce_with_navigation_policy() -> Policy

#
recipe_strict_nonce_with_prefetch

fn recipe_strict_nonce_with_prefetch() -> String

#
recipe_strict_nonce_with_prefetch_findings

fn recipe_strict_nonce_with_prefetch_findings() -> Array[Finding]

#
recipe_strict_nonce_with_prefetch_policy

fn recipe_strict_nonce_with_prefetch_policy() -> Policy

#
recipe_strict_nonce_with_reports

fn recipe_strict_nonce_with_reports() -> String

#
recipe_strict_nonce_with_reports_findings

fn recipe_strict_nonce_with_reports_findings() -> Array[Finding]

#
recipe_strict_nonce_with_reports_policy

fn recipe_strict_nonce_with_reports_policy() -> Policy

#
recipe_strict_nonce_with_trusted_types

fn recipe_strict_nonce_with_trusted_types() -> String

#
recipe_strict_nonce_with_trusted_types_findings

fn recipe_strict_nonce_with_trusted_types_findings() -> Array[Finding]

#
recipe_strict_nonce_with_trusted_types_policy

fn recipe_strict_nonce_with_trusted_types_policy() -> Policy

#
recipe_strict_nonce_with_upgrade

fn recipe_strict_nonce_with_upgrade() -> String

#
recipe_strict_nonce_with_upgrade_findings

fn recipe_strict_nonce_with_upgrade_findings() -> Array[Finding]

#
recipe_strict_nonce_with_upgrade_policy

fn recipe_strict_nonce_with_upgrade_policy() -> Policy

#
recipe_wasm_app_core

fn recipe_wasm_app_core() -> String

#
recipe_wasm_app_core_findings

fn recipe_wasm_app_core_findings() -> Array[Finding]

#
recipe_wasm_app_core_policy

fn recipe_wasm_app_core_policy() -> Policy

#
recipe_wasm_app_locked_forms

fn recipe_wasm_app_locked_forms() -> String

#
recipe_wasm_app_locked_forms_findings

fn recipe_wasm_app_locked_forms_findings() -> Array[Finding]

#
recipe_wasm_app_locked_forms_policy

fn recipe_wasm_app_locked_forms_policy() -> Policy

#
recipe_wasm_app_sandboxed

fn recipe_wasm_app_sandboxed() -> String

#
recipe_wasm_app_sandboxed_findings

fn recipe_wasm_app_sandboxed_findings() -> Array[Finding]

#
recipe_wasm_app_sandboxed_policy

fn recipe_wasm_app_sandboxed_policy() -> Policy

#
recipe_wasm_app_with_legacy_report

fn recipe_wasm_app_with_legacy_report() -> String

#
recipe_wasm_app_with_legacy_report_findings

fn recipe_wasm_app_with_legacy_report_findings() -> Array[Finding]

#
recipe_wasm_app_with_legacy_report_policy

fn recipe_wasm_app_with_legacy_report_policy() -> Policy

#
recipe_wasm_app_with_manifest

fn recipe_wasm_app_with_manifest() -> String

#
recipe_wasm_app_with_manifest_findings

fn recipe_wasm_app_with_manifest_findings() -> Array[Finding]

#
recipe_wasm_app_with_manifest_policy

fn recipe_wasm_app_with_manifest_policy() -> Policy

#
recipe_wasm_app_with_navigation

fn recipe_wasm_app_with_navigation() -> String

#
recipe_wasm_app_with_navigation_findings

fn recipe_wasm_app_with_navigation_findings() -> Array[Finding]

#
recipe_wasm_app_with_navigation_policy

fn recipe_wasm_app_with_navigation_policy() -> Policy

#
recipe_wasm_app_with_prefetch

fn recipe_wasm_app_with_prefetch() -> String

#
recipe_wasm_app_with_prefetch_findings

fn recipe_wasm_app_with_prefetch_findings() -> Array[Finding]

#
recipe_wasm_app_with_prefetch_policy

fn recipe_wasm_app_with_prefetch_policy() -> Policy

#
recipe_wasm_app_with_reports

fn recipe_wasm_app_with_reports() -> String

#
recipe_wasm_app_with_reports_findings

fn recipe_wasm_app_with_reports_findings() -> Array[Finding]

#
recipe_wasm_app_with_reports_policy

fn recipe_wasm_app_with_reports_policy() -> Policy

#
recipe_wasm_app_with_trusted_types

fn recipe_wasm_app_with_trusted_types() -> String

#
recipe_wasm_app_with_trusted_types_findings

fn recipe_wasm_app_with_trusted_types_findings() -> Array[Finding]

#
recipe_wasm_app_with_trusted_types_policy

fn recipe_wasm_app_with_trusted_types_policy() -> Policy

#
recipe_wasm_app_with_upgrade

fn recipe_wasm_app_with_upgrade() -> String

#
recipe_wasm_app_with_upgrade_findings

fn recipe_wasm_app_with_upgrade_findings() -> Array[Finding]

#
recipe_wasm_app_with_upgrade_policy

fn recipe_wasm_app_with_upgrade_policy() -> Policy

#
script_request

fn script_request(url : String, origin : String) -> ResourceRequest

#
source_kind_to_string

fn source_kind_to_string(kind : SourceKind) -> String

#
style_request

fn style_request(url : String, origin : String) -> ResourceRequest

#
summary

fn summary(policy : Policy) -> String

Return a compact summary for examples.