{"id":12601860,"name":"reactive-firewall/python-bandit-scan","ecosystem":"actions","description":"Bandit Scan","homepage":"","licenses":"isc","normalized_licenses":["ISC"],"repository_url":"https://github.com/reactive-firewall/python-bandit-scan","keywords_array":["bandit","code-scanning","github-actions","marketplace","python-3","python3","sast-codeql","security-scanner","test-automation","whitebox-testing"],"namespace":"reactive-firewall","versions_count":8,"first_release_published_at":"2022-09-22T18:47:57.000Z","latest_release_published_at":"2025-10-30T23:20:40.000Z","latest_release_number":"v2.4","last_synced_at":"2026-04-21T10:32:58.154Z","created_at":"2025-12-19T02:32:44.973Z","updated_at":"2026-04-21T10:32:58.155Z","registry_url":"https://github.com/reactive-firewall/python-bandit-scan","install_command":null,"documentation_url":null,"metadata":{"name":"Python Bandit Scan","description":"Bandit Scan","branding":{"icon":"arrow-left","color":"purple"},"inputs":{"path":{"description":"File or directory to run bandit on","required":false,"default":"."},"level":{"description":"Report only issues of a given severity level or higher. Can be LOW, MEDIUM or HIGH. Default is UNDEFINED (everything)","required":false,"default":"UNDEFINED"},"confidence":{"description":"Report only issues of a given confidence level or higher. Can be LOW, MEDIUM or HIGH. Default is UNDEFINED (everything)","required":false,"default":"UNDEFINED"},"excluded_paths":{"description":"comma-separated list of paths (glob patterns supported) to exclude from scan (note that these are in addition to the excluded paths provided in the config file) (default: .svn,CVS,.bzr,.hg,.git,__pycache__,.tox,.eggs,*.egg)","required":false,"default":"DEFAULT"},"exit_zero":{"description":"exit with 0, even with results found","required":false,"default":"DEFAULT"},"skips":{"description":"comma-separated list of test IDs to skip","required":false,"default":"DEFAULT"},"ini_path":{"description":"path to a .bandit file that supplies command line arguments","required":false,"default":"DEFAULT"},"config_path":{"description":"path to a YAML or TOML file that supplies command line arguments","required":false,"default":"DEFAULT"},"GITHUB_TOKEN":{"description":"Github token of the repository (automatically created by Github)","required":true}},"runs":{"using":"composite","steps":[{"name":"Install dependencies","shell":"bash","run":"pip install bandit bandit-sarif-formatter\n"},{"name":"Run Bandit scan","shell":"bash","run":"UPPERCASE_LEVEL=$(echo $INPUT_LEVEL | tr a-z A-Z)\ncase $UPPERCASE_LEVEL in\nLOW)\n  LEVEL=\"-l\"\n  ;;\nMEDIUM | MID)\n  LEVEL=\"-ll\"\n  ;;\nHIGH)\n  LEVEL=\"-lll\"\n  ;;\n*)\n  LEVEL=\"\"\n  ;;\nesac\n\nUPPERCASE_CONFIDENCE=$(echo $INPUT_CONFIDENCE | tr a-z A-Z)\ncase $UPPERCASE_CONFIDENCE in\nLOW)\n  CONFIDENCE=\"-i\"\n  ;;\nMEDIUM | MID)\n  CONFIDENCE=\"-ii\"\n  ;;\nHIGH)\n  CONFIDENCE=\"-iii\"\n  ;;\n*)\n  CONFIDENCE=\"\"\n  ;;\nesac\n\nif [ \"$INPUT_EXCLUDED_PATHS\" == \"DEFAULT\" ]; then\n    EXCLUDED_PATHS=\"\"\nelse\n    EXCLUDED_PATHS=\"-x $INPUT_EXCLUDED_PATHS\"\nfi\n\nif [ \"$INPUT_EXIT_ZERO\" == \"DEFAULT\" ]; then\n    EXIT_ZERO=\"\"\nelse\n    EXIT_ZERO=\"--exit-zero\"\nfi\n\nif [ \"$INPUT_SKIPS\" == \"DEFAULT\" ]; then\n    SKIPS=\"\"\nelse\n    SKIPS=\"-s $INPUT_SKIPS\"\nfi\n\nif [ \"$INPUT_INI_PATH\" == \"DEFAULT\" ]; then\n    INI_PATH=\"\"\nelse\n    INI_PATH=\"--ini $INPUT_INI_PATH\"\nfi\n\nif [ \"$INPUT_CONFIG_PATH\" == \"DEFAULT\" ]; then\n    CONFIG_PATH=\"\"\nelse\n    CONFIG_PATH=\"-c $INPUT_CONFIG_PATH\"\nfi\nbandit -f sarif -o results.sarif -r $INPUT_PATH $LEVEL $CONFIDENCE $EXCLUDED_PATHS $EXIT_ZERO $SKIPS $INI_PATH $CONFIG_PATH\n","env":{"INPUT_PATH":"${{ inputs.path }}","INPUT_LEVEL":"${{ inputs.level }}","INPUT_CONFIDENCE":"${{ inputs.confidence }}","INPUT_EXCLUDED_PATHS":"${{ inputs.excluded_paths }}","INPUT_EXIT_ZERO":"${{ inputs.exit_zero }}","INPUT_SKIPS":"${{ inputs.skips }}","INPUT_INI_PATH":"${{ inputs.ini_path }}","INPUT_CONFIG_PATH":"${{ inputs.config_path }}"}},{"name":"Upload artifact","uses":"actions/upload-artifact@v5","with":{"name":"results.sarif","path":"results.sarif","overwrite":true}},{"name":"Upload SARIF file","uses":"github/codeql-action/upload-sarif@v4","with":{"sarif_file":"results.sarif"}}]},"default_branch":"main","path":null},"repo_metadata":{"id":256130224,"uuid":"854391140","full_name":"reactive-firewall/python-bandit-scan","owner":"reactive-firewall","description":"GitHub Action for Python Bandit SAST","archived":false,"fork":true,"pushed_at":"2025-10-15T01:34:16.000Z","size":30,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-15T08:39:32.228Z","etag":null,"topics":["bandit","code-scanning","github-actions","marketplace","python-3","python3","sast-codeql","security-scanner","test-automation","whitebox-testing"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"parroty/python-bandit-scan","license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reactive-firewall.png","metadata":{},"created_at":"2024-09-09T04:54:39.000Z","updated_at":"2025-10-15T01:34:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/reactive-firewall/python-bandit-scan","commit_stats":null,"previous_names":["reactive-firewall/python-bandit-scan"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/reactive-firewall/python-bandit-scan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-firewall%2Fpython-bandit-scan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-firewall%2Fpython-bandit-scan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-firewall%2Fpython-bandit-scan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-firewall%2Fpython-bandit-scan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reactive-firewall","download_url":"https://codeload.github.com/reactive-firewall/python-bandit-scan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-firewall%2Fpython-bandit-scan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27807465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-19T02:00:08.705Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"repo_metadata_updated_at":"2025-12-19T03:38:36.111Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.162488393686165,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":2.5812441968430826},"purl":"pkg:githubactions/reactive-firewall/python-bandit-scan","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/actions/reactive-firewall/python-bandit-scan","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/actions/reactive-firewall/python-bandit-scan","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/actions/reactive-firewall/python-bandit-scan/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":null,"issues_count":null,"pull_requests_count":null,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":null,"pull_requests_closed_count":null,"pull_request_authors_count":null,"issue_authors_count":null,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":null,"bot_issues_count":null,"bot_pull_requests_count":null,"past_year_issues_count":null,"past_year_pull_requests_count":null,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":null,"past_year_pull_requests_closed_count":null,"past_year_pull_request_authors_count":null,"past_year_issue_authors_count":null,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":null,"past_year_bot_pull_requests_count":null,"past_year_merged_pull_requests_count":null,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/reactive-firewall%2Fpython-bandit-scan/issues","maintainers":[{"login":"reactive-firewall","count":9,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/reactive-firewall"}],"active_maintainers":[{"login":"reactive-firewall","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/reactive-firewall"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/reactive-firewall%2Fpython-bandit-scan/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/reactive-firewall%2Fpython-bandit-scan/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/reactive-firewall%2Fpython-bandit-scan/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/reactive-firewall%2Fpython-bandit-scan/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/reactive-firewall%2Fpython-bandit-scan/codemeta","maintainers":[]}