edamametechnologies/Setup EDAMAME Posture

Download and control EDAMAME Posture

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 16, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: edamametechnologies/edamame_posture_action@07b5f75ac2d977377e157038dd3aca4f276cf960 # v1.1.5

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
edamame_userEDAMAME user (required to start the process in the background)no
edamame_domainEDAMAME domain (required to start the process in the background)no
edamame_pinEDAMAME PIN (required to start the process in the background)no
edamame_idEDAMAME identifier suffix (required to start the process in the background)no
edamame_policyEDAMAME policy name that the device must comply with (the action will fail if the device does not comply)no
edamame_minimum_scoreMinimum score that the device must achieve (the action will fail if the device does not achieve the minimum score)no
edamame_mandatory_threatsComma separated list of mandatory threats that the device must not exhibit (the action will fail if the device does not detect the threats)no
edamame_mandatory_prefixesComma separated list of mandatory tag prefixes covering threats that the device must not exhibit (the action will fail if the device does not have the prefixes)no
auto_remediateAutomatically remediate posture issuesnofalse
skip_remediationsRemediations to skip when performing auto-remediations (comma separated)noremote login enabled,remote desktop enabled,local firewall disabled
network_scanScan network for critical devices (only applicable if the background process is started)nofalse
packet_captureCapture network traffic (auto = follow network_scan)noauto
check_whitelistReport and enforce whitelist exceptions when capturing network traffic (requires a whitelist name)nofalse
check_blacklistReport and enforce blacklist matches during network capturenotrue
check_anomalousDeprecated for live enforcement; vulnerability findings are now used for live cancellationnotrue
cancel_on_violationAttempt to cancel the current CI pipeline when violations are detectednofalse
cancel_pipeline_scriptPath to custom cancellation script (default: /tmp/cancel_pipeline.sh). Script receives violation reason as first argument.no""
disconnected_modeStart EDAMAME Posture in disconnected mode without requiring domain authenticationnofalse
dump_sessions_logDump sessions log (requires background process with packet capture enabled)nofalse
checkoutCheckout the repo through the git CLI (retry if access is not granted)nofalse
checkout_submodulesCheckout submodulesnofalse
wait_for_httpsWait for https access to the repo be grantednofalse
waitWait for a while for access to be grantednofalse
wait_for_apiWait for API access to be grantednofalse
tokenGitHub token to checkout the repono${{ github.token }}
whitelistWhitelist to use for the network scan (only applicable if the background process is started)no""
exit_on_whitelist_exceptionsExit with error when whitelist exceptions are detected (directly passed to get-sessions)notrue
exit_on_blacklisted_sessionsExit with error when blacklisted sessions are detected (directly passed to get-sessions)nofalse
exit_on_anomalous_sessionsExit with error when anomalous sessions are detected (directly passed to get-sessions)nofalse
vulnerability_detection[Legacy alias of attack_pattern_detection] Start the runtime attack pattern detector during setup. Prefer attack_pattern_detection in new workflows; vulnerability_detection will be deprecated in a future major version.nofalse
vulnerability_detection_interval[Legacy alias of attack_pattern_detection_interval] Runtime attack pattern detector tick interval in seconds. Prefer attack_pattern_detection_interval.no60
dump_vulnerability_findings[Legacy alias of dump_attack_pattern_findings] Dump runtime attack pattern detector status/findings during a later action invocation. Prefer dump_attack_pattern_findings.nofalse
exit_on_vulnerability_findings[Legacy alias of exit_on_attack_pattern_findings] Exit with error when active runtime attack pattern findings are detected. Prefer exit_on_attack_pattern_findings.notrue
attack_pattern_detectionStart the runtime attack pattern detector during setup. Preferred name; supersedes vulnerability_detection.no""
attack_pattern_detection_intervalRuntime attack pattern detector tick interval in seconds. Preferred name; supersedes vulnerability_detection_interval.no""
dump_attack_pattern_findingsDump runtime attack pattern detector status/findings during a later action invocation. Preferred name; supersedes dump_vulnerability_findings.no""
exit_on_attack_pattern_findingsExit with error when active runtime attack pattern findings are detected. Preferred name; supersedes exit_on_vulnerability_findings.no""
dump_attack_pattern_traceDump the latest VulnerabilityDebugTrace JSON during a later action invocation, and upload it as the `edamame-fp-capture` GitHub artifact. The artifact is the canonical CI input for `tools/ingest_ci_fp_corpus.sh`, which shapes it into Shape A entries under `edamame_core/tests/fp_corpus/<FP-ID>/` (FP replay corpus -- see `edamame_core/FPREPLAY.md`). Requires a posture binary that exposes `vulnerability-debug-trace --latest` (edamame_posture >= 1.3.18+); older binaries will print a clap usage error and the step will fail soft -- inspect the runner log to confirm. nofalse
file_monitoringEnable file integrity monitoring during the workflownofalse
file_monitoring_pathsComma-separated paths to monitor (default: workspace + temp dirs)no""
check_file_tamperingReport file integrity monitoring events in the dump stepnofalse
exit_on_file_tamperingExit with error when suspicious file events are detectednofalse
report_emailReport email addressno""
create_custom_whitelistsCreate custom whitelists from captured network sessions and save it to the specified pathnofalse
include_process_in_whitelistInclude process names in whitelist entries for stricter matching. When enabled, connections from different processes to the same endpoint are treated separately.nofalse
custom_whitelists_pathPath to save or load custom whitelists JSON (used with create_custom_whitelists or to provide a whitelist file to apply)no""
set_custom_whitelistsApply custom whitelists from a file specified in custom_whitelists_pathnofalse
augment_custom_whitelistsAugment the existing custom whitelists using current network sessions and merge the result back into the file specified by custom_whitelists_path. Requires network_scan=true.nofalse
auto_whitelistEnable auto-whitelist mode: first run is listen-only, subsequent runs refine whitelist until stable. Requires packet_capture=true to capture traffic for comparison and wait_for_api=true to wait for the API to be ready. Usage pattern (two-invocation): 1. First invocation: Setup with auto_whitelist=true (starts daemon, applies whitelist) 2. Do work: Generate traffic (daemon captures in background) 3. Second invocation: dump_sessions_log=true (augments whitelist, uploads artifact) The action automatically handles both phases when called twice in the same job. nofalse
auto_whitelist_artifact_nameName for the GitHub artifact that stores auto-whitelist state between workflow runs in this repository (default: edamame-auto-whitelist). Key artifacts by the job's runs-on runner pool, not runner.os alone, so self-hosted and GitHub-hosted jobs do not share one learned whitelist. Matrix jobs: edamame-auto-whitelist-<matrix.runs-on>. Fixed runs-on: edamame-auto-whitelist-<same-label-as-runs-on>. Use runner.os in the name only when you intentionally want one whitelist shared across every pool on that OS. noedamame-auto-whitelist
auto_whitelist_stability_thresholdPercentage threshold for whitelist stability (default: 0% - no new endpoints)no0
auto_whitelist_stability_consecutive_runsNumber of consecutive runs with no changes required for stability (default: 3)no3
auto_whitelist_max_iterationsMaximum number of auto-whitelist iterations before declaring stable (default: 25)no25
auto_whitelist_state_artifact_nameName for the artifact storing auto-whitelist state (default: auto-whitelist-state)noauto-whitelist-state
promote_exceptionsPromote whitelist exceptions immediately without waiting for stability. When true, any non-conforming sessions are added to the whitelist regardless of stability state. This is useful during releases to quickly update whitelists without multiple iterations. nofalse
include_local_trafficInclude local traffic in network capture and session logsnofalse
agentic_modeAI assistant mode for automated security todo processing: auto (execute), analyze (recommendations only), or disablednodisabled
agentic_providerLLM provider for AI assistant: edamame (recommended), claude, openai (all use EDAMAME_LLM_API_KEY env), ollama (uses EDAMAME_LLM_BASE_URL env), or nonenonone
agentic_intervalInterval in seconds for automated AI assistant todo processingno3600
stopStop the EDAMAME Posture processnofalse
display_logsDump the EDAMAME daemon's rolling log files (/var/log/edamame/edamame_*_<pid>.YYYY-MM-DD on Unix, beside the binary on Windows) to the job log AND copy them to $RUNNER_TEMP/edamame-daemon-logs/. Path is exported as EDAMAME_DAEMON_LOGS_PATH for downstream actions/upload-artifact steps.nofalse
debugDebug modenofalse
get_device_infoDisplay device info including eBPF support status (Linux only)nofalse
verify_ebpfVerify eBPF is properly embedded in the binary. Fails if eBPF was not compiled in (build failure). Runtime restrictions (kernel settings, containers) are acceptable and won't fail. Implies get_device_info=true. (Linux only)nofalse
namedescription
ebpf_statuseBPF support status: enabled, disabled_build, disabled_runtime, not_supported, or unknown
ebpf_messageHuman-readable eBPF status message