Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
octoscan — Octoscan est un scanner statique de vulnérabilités pour les workflows GitHub Actions. | Kitploit
Outils/GitHubGitHub/synacktiv/octoscan
Analyse StatiqueScanners de VulnérabilitésAnalyse de CodeAudit de ConfigurationDevSecOpsDétection de SecretsSécurité de la Chaîne LogistiqueMauvaise Configuration
GitHubsynacktiv/octoscan

octoscan

Octoscan est un scanner statique de vulnérabilités pour les workflows GitHub Actions.

Voir le dépôt
2732128il y a 6 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
:octocat:

octoscan

Octoscan est un scanner de vulnérabilités statique pour les workflows GitHub Actions.


Table des matières

  • Table des matières
  • Installation
  • Utilisation
    • télécharger des workflows distants
    • analyser
    • GitHub Action
  • Règles
    • dangerous-checkout
    • dangerous-action
    • dangerous-write
    • expression-injection
    • runner-label
    • repo-jacking
    • unsecure-commands
    • bot-check
    • known-vulnerability
    • dangerous-artefact
    • credentials
    • shellcheck
    • local-action
    • oidc-action
  • Crédits
  • Ressources

Installation

$ go mod tidy
$ go build

Ou avec docker :

$ docker pull ghcr.io/synacktiv/octoscan:latest

Utilisation

télécharger des workflows distants

Octoscan peut être exécuté sur un dépôt git local ou vous pouvez télécharger tous les workflows avec l'action dl :

$ octoscan dl -h  
Octoscan.

Usage:
	octoscan dl [options] --org <org> [--repo <repo> --token <pat> --default-branch --max-branches <num> --path <path> --output-dir <dir> --include-archives]

Options:
	-h, --help  						Show help
	-d, --debug  						Debug output
	--verbose  						Verbose output
	--org <org>  						Organizations to target
	--repo <repo>  						Repository to target
	--token <pat>  						GHP to authenticate to GitHub
	--default-branch  					Only download workflows from the default branch
	--max-branches <num>  					Limit the number of branches to download
	--path <path>  						GitHub file path to download [default: .github/workflows]
	--output-dir <dir>  					Output dir where to download files [default: octoscan-output]
	--include-archives  					Also download archived repositories
./octoscan dl --token ghp_<token> --org apache --repo incubator-answer

analyser

Si vous ne savez pas quoi exécuter, lancez simplement ceci :

./octoscan scan path/to/repos/ --disable-rules shellcheck,local-action --filter-triggers external

Cela réduira les faux positifs et donnera les résultats les plus intéressants.

Si vous avez téléchargé les workflows avec la commande dl, vous pouvez avoir des workflows en double, car par défaut octoscan télécharge tous les workflows de toutes les branches. Pour supprimer les workflows en double et accélérer l'analyse, vous pouvez utiliser la commande fdupes avant de lancer l'analyse :

fdupes -n -r -N -d path/to/repo
$ octoscan scan -h
octoscan

Usage:
	octoscan scan [options] --list-rules
	octoscan scan [options] <target>
	octoscan scan [options] <target> [--debug-rules --filter-triggers=<triggers> --filter-run --ignore=<pattern> ((--disable-rules | --enable-rules ) <rules>) --config-file <config>]

Options:
	-h, --help
	-v, --version
	-d, --debug
	--verbose
	--format <format>  				Output format, json, sarif or custom template to format error messages in Go template syntax. See https://github.com/rhysd/actionlint/tree/main/docs/usage.md#format
	--oneline 					Use one line per one error. Useful for reading error messages from programs

Args:
	<target>					Target File or directory to scan
	--filter-triggers <triggers>			Scan workflows with specific triggers (comma separated list: "push,pull_request_target" or pre-configured: external/allnopr)
	--filter-run					Search for expression injection only in run shell scripts.
	--ignore <pattern>				Regular expression matching to error messages you want to ignore.
	--disable-rules <rules>				Disable specific rules. Split on ","
	--enable-rules <rules>				Enable specific rules, this will disable all other rules. Split on ","
	--debug-rules					Enable debug rules.
	--config-file <config>				Config file.

Examples:
	$ octoscan scan ci.yml --disable-rules shellcheck,local-action --filter-triggers external

GitHub Action

Cet outil peut également être utilisé directement comme GitHub Action pour analyser votre dépôt lors des événements push/pull_request. Pour plus d'informations, veuillez consulter ce dépôt.

Règles

La liste complète des règles peut être obtenue avec cette commande :

$ octoscan scan --list-rules  
2024/08/07 16:50:48 [INFO] Available rules
- shellcheck
	Checks for shell script sources in "run:" using shellcheck
- credentials
	Checks for credentials in "services:" configuration
- dangerous-action
	Check for dangerous actions.
- dangerous-checkout
	Check for dangerous checkout.
- expression-injection
	Check for expression injection.
- dangerous-write
	Check for dangerous write operation on $GITHUB_OUTPUT or $GITHUB_ENV.
- local-action
	Check for local actions.
- runner-label
	Checks for GitHub-hosted and preset self-hosted runner labels in "runs-on:"
- unsecure-commands
	Check 'ACTIONS_ALLOW_UNSECURE_COMMANDS' env variable.
- known-vulnerability
	Check for known vulnerabilities.
- bot-check
	Check for if statements that are based on a bot identity.
- dangerous-artefact
	Check for workflow that upload artefacts containing sensitive files.
- debug-external-trigger
	Check for workflow that can be externally triggered.
- debug-artefacts
	Check for workflow that upload artefacts.
- debug-js-exec
	Check for workflow that execute system commands in JS scripts.
- debug-oidc-action
	Check for OIDC actions.
- repo-jacking
	Verify that external actions are pointing to a valid GitHub user or organization.

dangerous-checkout

Les déclencheurs comme workflow_run ou pull_request_target s'exécutent dans un contexte privilégié, car ils ont accès en lecture aux secrets et peuvent potentiellement avoir un accès en écriture sur le dépôt ciblé. Effectuer un checkout explicite du code non fiable entraînera le téléchargement du code de l'attaquant dans ce contexte.

excalidraw

exemples

  • FreeRDP
  • Excalidraw
  • AutoGPT
  • Cypress
  • Apache Doris
  • Angular

dangerous-action

Cette règle avertit l'utilisateur si une action dangereuse est utilisée. Elle est principalement axée sur les artefacts non fiables.

Télécharger l’outil