
_ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅_ : ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ shhgit
2. `go get github.com/eth0izzle/shhgit` Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡ ΠΈ ΡΠΎΠ±Π΅ΡΡΡ shhgit. ΠΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ `go build -v -i`.
3. ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» `config.yaml` ΠΈ ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» Β«ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Β» Π½ΠΈΠΆΠ΅.
shhgit ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ: ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ API GitHub, Gist, GitLab ΠΈ BitBucket ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ shhgit ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Β«ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌΒ» ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ»Ρ GitHub ΠΈ Gist Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° (ΡΠΌ. ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ; Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ). ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² `github_access_tokens` Π² `config.yaml`. GitLab ΠΈ BitBucket Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² API.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΠΈΠ³Π½Π°ΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ shhgit Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ AWS: `shhgit -- -query AWS_ACCESS_KEY_ID=AKIA`. Π Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ CI) ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠ»Π°Π³ `--local` (ΡΠΌ. ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅).
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 10)
ΠΠΎΠΈΡΠΊ config.yaml Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π°Π½, ΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ Π΅Π³ΠΎ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° shhgit ΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ² Π² CSV. ΠΡΡΠ°Π²ΡΡΠ΅ ΠΏΡΡΡΡΠΌ, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ
ΠΠΎΠΈΡΠΊ ΡΡΡΠΎΠΊ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ½ΡΡΠΎΠΏΠΈΠ΅ΠΉ Π² ΡΠ°ΠΉΠ»Π°Ρ . ΠΡΡΠ΅ ΠΏΠΎΡΠΎΠ³ = Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ, Π½ΠΈΠΆΠ΅ ΠΏΠΎΡΠΎΠ³ = Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ 0 Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 5.0)
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ (Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ) Π΄Π»Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΊΠ°Π½ΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ. Π’ΠΎΠΊΠ΅Π½Ρ GitHub Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΠΠ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 512)
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΠΠ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 5120)
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π·Π²Π΅Π·Π΄ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ 0, ΡΡΠΎΠ±Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π²Π΅Π·Π΄ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ false Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ³Π½Π°ΡΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ/ΠΏΡΡΠΈ ΡΠ°ΠΉΠ»Π°, Ρ.Π΅. ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ regex-ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true)
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Gists Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ false Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true)
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ ΠΏΠΎΠΈΡΠΊΠ°, ΡΡΠΎΠ±Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΡΡ ΡΡΡΠΎΠΊΡ (ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎ Ρ regex)
ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π²/ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ "%temp%\shhgit")
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ²)
Π€Π°ΠΉΠ» `config.yaml` ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 7 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½.
github_access_tokens: # ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠΊΠ΅Π½
webhook_payload: '' # Payload Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π½Π° URL Π²Π΅Π±Ρ ΡΠΊΠ°
blacklisted_strings: [] # ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
blacklisted_extensions: [] # ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
blacklisted_paths: [] # ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
blacklisted_entropy_extensions: [] # Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ
signatures: # ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠ³Π½Π°ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
- part: '' # Π»ΠΈΠ±ΠΎ filename, extension, path ΠΈΠ»ΠΈ contents
match: '' # ΠΏΡΠΎΡΡΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° (Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° regex)
regex: '' # regex-ΡΠ°Π±Π»ΠΎΠ½ (Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° match)
shhgit ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ 150 ΡΠΈΠ³Π½Π°ΡΡΡΠ°ΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅, ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π² ΡΠ°ΠΉΠ» `config.yaml`.
Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ 1Password, Π’ΠΎΠΊΠ΅Π½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Amazon MWS, Π€Π°ΠΉΠ» Apache htpasswd, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ²ΡΠ·ΠΊΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ Apple, Artifactory, ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ° AWS, ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΊΠ»ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ° AWS, ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ AWS, Π€Π°ΠΉΠ» ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ AWS CLI, ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅ ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ AWS, Π‘Π΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° AWS, Π’ΠΎΠΊΠ΅Π½ ΡΠ΅Π°Π½ΡΠ° AWS, Π€Π°ΠΉΠ» ΡΡ Π΅ΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ»ΡΠΆΠ±Ρ Azure, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Carrierwave, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Chef Knife, ΠΠ°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ Chef, CodeClimate, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄Π°, Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ, Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ, Π€Π°ΠΉΠ» ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ProFTPd Π΄Π»Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ cPanel, Π€Π°ΠΉΠ» Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° Day One, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ DBeaver SQL, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ DigitalOcean doctl, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Django, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Docker, Π€Π°ΠΉΠ» Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π΅ΡΡΡΠ° Docker, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ esmtp, Π’ΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° , ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° , Π‘Π΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ , Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ FTP-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° FileZilla, Π€Π°ΠΉΠ» ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² FileZilla, ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ Firefox, Π€Π°ΠΉΠ» ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ git-credential-store, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Git, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ GitHub Hub, ΠΠ»ΡΡ Github, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ²ΡΠ·ΠΊΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ GNOME, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ GnuCash, Π£ΡΡΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ Google (GCM), ΠΠ»ΡΡ API Google Cloud, Π’ΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° OAuth Google, ΠΠ»ΡΡ OAuth Google, ΠΠ»ΡΡ API Heroku, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Heroku, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² IRC-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Hexchat/XChat, Π‘ΡΡΠΎΠΊΠ° Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠ½ΡΡΠΎΠΏΠΈΠ΅ΠΉ, HockeyApp, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ IRC-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Irssi, Π€Π°ΠΉΠ» Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΊΠ»ΡΡΠ΅ΠΉ Java, Π€Π°ΠΉΠ» ΠΏΠ»Π°Π³ΠΈΠ½Π° Jenkins publish over SSH, ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ IDE Jetbrains, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ KDE Wallet, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ KeePass, ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° , Π‘Π΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ , Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΡΡΠ° Little Snitch, Π€Π°ΠΉΠ» ΠΆΡΡΠ½Π°Π»Π°, ΠΠ»ΡΡ API MailChimp, ΠΠ»ΡΡ API MailGun, Π€Π°ΠΉΠ» ΠΊΠ»ΡΡΠ° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Microsoft BitLocker, Π€Π°ΠΉΠ» ΠΏΠ°ΡΠΎΠ»Ρ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Microsoft BitLocker, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Microsoft SQL, Π€Π°ΠΉΠ» ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Microsoft SQL Server, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Mongoid, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Mutt, Π€Π°ΠΉΠ» ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° MySQL, ΠΠ°ΠΌΠΏ MySQL Ρ bcrypt-Ρ Π΅ΡΠ°ΠΌΠΈ, netrc Ρ ΡΡΡΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ SMTP, Π€Π°ΠΉΠ» Π·Π°Ρ Π²Π°ΡΠ° ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ NPM, ΠΠ»ΡΡ API NuGet, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ OmniAuth, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° OpenVPN, ΠΠΎΠΌΠ°Π½Π΄Π° Outlook, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Password Safe, Π’ΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° PayPal/Braintree, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ PHP, ΠΠ»ΡΡ API Picatic, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Ρ-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Pidgin, ΠΠ°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ Pidgin OTR, Π€Π°ΠΉΠ» ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° PostgreSQL, Π€Π°ΠΉΠ» ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ PostgreSQL, ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ, ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Jenkins, ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° jrnl, ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» passwd Linux, ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» shadow Linux, ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ MediaWiki, ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ (.asc), ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ (.p21), ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ (.pem), ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ (.pfx), ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ (.pkcs12), ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ PuTTYgen, ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Ruby On Rails, ΠΠ°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ SSH (.dsa), ΠΠ°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ SSH (.ecdsa), ΠΠ°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ SSH (.ed25519), ΠΠ°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ SSH (.rsa), ΠΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ ssh, Π€Π°ΠΉΠ» Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° Python, ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ API Π²Π΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΡΠ°Π·Π²Π΅Π΄ΠΊΠΈ Recon-ng, remote-sync Π΄Π»Ρ Atom, Π€Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΡΡΠΎΠ»Ρ, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Robomongo MongoDB, Π€Π°ΠΉΠ» ΡΡΡΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ Rubygems, Π€Π°ΠΉΠ» ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Ruby IRB, ΠΠ»Π°Π²Π½ΡΠΉ ΠΊΠ»ΡΡ Ruby on Rails, Π‘Π΅ΠΊΡΠ΅ΡΡ Ruby on Rails, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅Π½Π° Ruby On Rails, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ S3cmd, Π£ΡΡΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Salesforce, Π’ΠΎΠΊΠ΅Π½ Sauce, Π€Π°ΠΉΠ» Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Sequel Pro MySQL, sftp-deployment Π΄Π»Ρ Atom, sftp-deployment Π΄Π»Ρ Atom, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ SFTP-ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π°Π»ΠΈΠ°ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π€Π°ΠΉΠ» ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ (.bashrc, .zshrc, .cshrc), Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ (.exports), Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ (.extra), Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ (.functions), Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, Π’ΠΎΠΊΠ΅Π½ Slack, ΠΠ΅Π±Ρ ΡΠΊ Slack, ΠΠ»ΡΡ API SonarQube Docs, Π€Π°ΠΉΠ» Π΄Π°ΠΌΠΏΠ° Π΄Π°Π½Π½ΡΡ SQL, Π€Π°ΠΉΠ» Π΄Π°ΠΌΠΏΠ° SQL, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite3, Π€Π°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite, Π’ΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° Square, Π‘Π΅ΠΊΡΠ΅Ρ OAuth Square, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ SSH, ΠΠ°ΡΠΎΠ»Ρ SSH, ΠΠ»ΡΡ API Stripe, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Twitter T, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Terraform, ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ DigitalOcean Tugboat, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ VPN Tunnelblick, ΠΠ»ΡΡ API Twilio, ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Twitter, Π‘Π΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Twitter, ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π² URI, Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Ventrilo, vscode-sftp Π΄Π»Ρ VSCode, Π€Π°ΠΉΠ» Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΎΠΌΠ° Windows BitLocker, WP-Config
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΡ Π²Π΅ΡΠΊΡ: `git checkout -b my-new-feature`
3. ΠΠ°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: `git commit -am 'Add some feature'`
4. ΠΡΠΏΡΠ°Π²ΡΡΠ΅ Π² Π²Π΅ΡΠΊΡ: `git push origin my-new-feature`
Π― Π½Π΅ Π½Π΅ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π·Π° ΡΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. ΠΠ΅ Π±ΡΠ΄ΡΡΠ΅ ΠΌΡΠ΄Π°ΠΊΠΎΠΌ.
The full story
This article is one source in a clustered incident β the cluster page carries the summary, timeline and every other outlet covering it.
