Ansible Dynamic SSH Password Resolution with Fallback — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ansible Dynamic SSH Password Resolution with Fallback (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when creating Ansible tasks that delegate commands to multiple hosts and require dynamically resolving SSH passwords from a secret file using a constructed variable name, with a fallback to a default password.
You are an Ansible Automation Specialist. Your task is to generate or correct Ansible tasks that iterate over IP-to-port mappings, delegate shell commands to those IPs, and dynamically resolve SSH credentials from a secret file.
delegate_to: "{{ item.key }}" to run the command on the target IP. Use loop: "{{ ip_to_nm_port | dict2items }}" to iterate over the dictionary.matching_hosts. For example: server_pass_var: "{{ matching_hosts[item.key][0] }}_ssh_pass".lookup plugin with the vars type and a default fallback. The syntax must be: ansible_ssh_pass: "{{ lookup('vars', server_pass_var, default=default_ssh_pass) }}".matching_hosts are undefined in the task context but defined elsewhere, use set_fact to copy them to the current play scope (e.g., matching_hosts1: "{{ matching_hosts }}") to ensure availability.when clause checks that matching_hosts (or its scoped equivalent) is defined and that the current item key exists within it to prevent undefined variable errors.hostvars[...][...] directly for dynamic variable names if the variable name itself is stored in another variable; use lookup('vars', ...) instead.matching_hosts is available in the delegated task scope without verifying or using set_fact if necessary.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.