{"id":13437056,"url":"https://github.com/kpcyrd/sn0int","last_synced_at":"2025-05-14T01:12:01.281Z","repository":{"id":37733276,"uuid":"151651158","full_name":"kpcyrd/sn0int","owner":"kpcyrd","description":"Semi-automatic OSINT framework and package manager","archived":false,"fork":false,"pushed_at":"2025-01-31T17:41:57.000Z","size":3815,"stargazers_count":2206,"open_issues_count":52,"forks_count":187,"subscribers_count":41,"default_branch":"main","last_synced_at":"2025-05-10T03:51:17.330Z","etag":null,"topics":["bug-bounty","certificate-transparency","intelligence","investigation","location","lua","osint","osint-framework","pentesting","recon","reconnaissance","rust","security","security-audit","security-scanner"],"latest_commit_sha":null,"homepage":"https://sn0int.readthedocs.io/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kpcyrd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["kpcyrd"],"patreon":"kpcyrd"}},"created_at":"2018-10-05T00:10:47.000Z","updated_at":"2025-05-07T21:11:42.000Z","dependencies_parsed_at":"2023-11-29T13:29:38.121Z","dependency_job_id":"fcc8568b-86b8-44a2-ae4b-e63f20843f19","html_url":"https://github.com/kpcyrd/sn0int","commit_stats":{"total_commits":751,"total_committers":13,"mean_commits":57.76923076923077,"dds":"0.022636484687083902","last_synced_commit":"9b16b67fb0ed4cde346dd016cff3b7e81f196f96"},"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpcyrd%2Fsn0int","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpcyrd%2Fsn0int/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpcyrd%2Fsn0int/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpcyrd%2Fsn0int/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kpcyrd","download_url":"https://codeload.github.com/kpcyrd/sn0int/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254049558,"owners_count":22006084,"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","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"}},"keywords":["bug-bounty","certificate-transparency","intelligence","investigation","location","lua","osint","osint-framework","pentesting","recon","reconnaissance","rust","security","security-audit","security-scanner"],"created_at":"2024-07-31T03:00:54.040Z","updated_at":"2025-05-14T01:11:56.267Z","avatar_url":"https://github.com/kpcyrd.png","language":"Rust","funding_links":["https://github.com/sponsors/kpcyrd","https://patreon.com/kpcyrd"],"categories":["应用","Applications","\u003ca id=\"a76463feb91d09b3d024fae798b92be6\"\u003e\u003c/a\u003e侦察\u0026\u0026信息收集\u0026\u0026子域名发现与枚举\u0026\u0026OSINT","Web and Cloud Security","Rust","Weapons","Rust (42)","应用 Applications","Well-Maintained OSINT","Tools","[↑](#-Table-of-Contents) Other Tools","[↑](#-table-of-contents) Other Tools","\u003ca id=\"170048b7d8668c50681c0ab1e92c679a\"\u003e\u003c/a\u003e工具","[↑](#contents) Other Tools","Open Sources Intelligence (OSINT)","应用程序 Applications","bug-bounty","Pentesting","OSINT Tools","Reconnaissance"],"sub_categories":["Security tools","\u003ca id=\"05ab1b75266fddafc7195f5b395e4d99\"\u003e\u003c/a\u003e未分类-OSINT","Pentesting","Tools","安全工具","安全工具 Security tools","Mueang, Udon Thani","OSINT Tools","[↑](#-Table-of-Contents) Telegram","[↑](#-table-of-contents) Telegram","[↑](#contents) LinkedIn","Penetration Testing Report Templates","[↑](#contents) Telegram","Wireless Network Tools","[↑](#-table-of-contents) GitHub","OSINT - Open Source INTelligence","Web Vulnerability Scanners"],"readme":"# sn0int [![crates.io][crates-img]][crates] [![Documentation Status][docs-img]][docs] [![irc.hackint.org:6697/#sn0int][irc-img]][irc] [![@sn0int][twitter-img]][twitter] [![@sn0int@chaos.social][mastodon-img]][mastodon] [![registry status][registry-img]][registry]\n\n[crates-img]:   https://img.shields.io/crates/v/sn0int.svg\n[crates]:       https://crates.io/crates/sn0int\n[docs-img]:     https://readthedocs.org/projects/sn0int/badge/?version=latest\n[docs]:         https://sn0int.readthedocs.io/en/latest/?badge=latest\n[irc-img]:      https://img.shields.io/badge/hackint-%23sn0int-blue.svg\n[irc]:          https://webirc.hackint.org/#irc://irc.hackint.org/#sn0int\n[twitter-img]:  https://img.shields.io/badge/twitter-@sn0int-blue.svg\n[twitter]:      https://twitter.com/sn0int\n[mastodon-img]: https://img.shields.io/badge/mastodon-chaos.social-blue.svg\n[mastodon]:     https://chaos.social/@sn0int\n[registry-img]: https://img.shields.io/website/https/sn0int.com.svg?label=registry\n[registry]:     https://sn0int.com/\n\nsn0int (pronounced [`/snoɪnt/`][ipa]) is a semi-automatic OSINT framework and\npackage manager. It's used by IT security professionals, bug bounty hunters,\nlaw enforcement agencies and in security awareness trainings to gather\nintelligence about a given target or about yourself. sn0int is enumerating\nattack surface by semi-automatically processing public information and mapping\nthe results in a unified format for followup investigations.\n\n[ipa]: http://ipa-reader.xyz/?text=sno%C9%AAnt\n\nAmong other things, sn0int is currently able to:\n\n- Harvest subdomains from certificate transparency logs and passive dns\n- Mass resolve collected subdomains and scan for http or https services\n- Enrich ip addresses with asn and geoip info\n- Harvest emails from pgp keyservers and whois\n- Discover compromised logins in breaches\n- Find somebody's profiles across the internet\n- Enumerate local networks with unique techniques like passive arp\n- Gather information about phonenumbers\n- Harvest activity and images from social media profiles\n- Basic image processing\n\nsn0int is heavily inspired by recon-ng and maltego, but remains more flexible\nand is fully opensource. None of the investigations listed above are hardcoded\nin the source, instead they are provided by modules that are executed in a\nsandbox. You can easily extend sn0int by writing your own modules and share\nthem with other users by publishing them to the sn0int registry. This allows\nyou to ship updates for your modules on your own instead of pull-requesting\nthem into the sn0int codebase.\n\nFor questions and support join us on IRC: [irc.hackint.org:6697/#sn0int](https://webirc.hackint.org/#irc://irc.hackint.org/#sn0int)\n\n[![asciicast](https://asciinema.org/a/shZ3TVY1o0opGFln3Oi2DAMCB.svg)](https://asciinema.org/a/shZ3TVY1o0opGFln3Oi2DAMCB)\n\n## Installation\n\n\u003ca href=\"https://repology.org/project/sn0int/versions\"\u003e\u003cimg align=\"right\" src=\"https://repology.org/badge/vertical-allrepos/sn0int.svg\" alt=\"Packaging status\"\u003e\u003c/a\u003e\n\nArchlinux\n\n    pacman -S sn0int\n\nMac OSX\n\n    brew install sn0int\n\nDebian/Ubuntu/Kali\n\nThere are prebuilt packages signed by a debian maintainer:\n\n    sudo apt install curl sq\n    curl -sSf https://apt.vulns.sexy/kpcyrd.pgp | sq dearmor | sudo tee /etc/apt/trusted.gpg.d/apt-vulns-sexy.gpg \u003e /dev/null\n    echo deb http://apt.vulns.sexy stable main | sudo tee /etc/apt/sources.list.d/apt-vulns-sexy.list\n    sudo apt update\n\nDocker\n\n    docker run --rm --init -it -v \"$PWD/.cache:/cache\" -v \"$PWD/.data:/data\" ghcr.io/kpcyrd/sn0int\n\nAlpine\n\n    apk add sn0int\n\nOpenBSD\n\n    pkg_add sn0int\n\nGentoo\n\n    layman -a pentoo\n    emerge --ask net-analyzer/sn0int\n\nNixOS\n\n    nix-env -i sn0int\n\nFor everything else please have a look at the [detailed list][1].\n\n[1]: https://sn0int.readthedocs.io/en/latest/install.html\n\n## Getting started\n\n- [Installation](https://sn0int.readthedocs.io/en/latest/install.html)\n  - [Archlinux](https://sn0int.readthedocs.io/en/latest/install.html#archlinux)\n  - [Mac OSX](https://sn0int.readthedocs.io/en/latest/install.html#mac-osx)\n  - [Debian \u0026gt;= bullseye, Ubuntu \u0026gt;= 20.04, Kali](https://sn0int.readthedocs.io/en/latest/install.html#debian-bullseye-ubuntu-20-04-kali)\n  - [Debian \u0026lt;= buster, Ubuntu \u0026lt;= 19.10](https://sn0int.readthedocs.io/en/latest/install.html#debian-buster-ubuntu-19-10)\n  - [Fedora/CentOS/Redhat](https://sn0int.readthedocs.io/en/latest/install.html#fedora-centos-redhat)\n  - [Docker](https://sn0int.readthedocs.io/en/latest/install.html#docker)\n  - [Alpine](https://sn0int.readthedocs.io/en/latest/install.html#alpine)\n  - [OpenBSD](https://sn0int.readthedocs.io/en/latest/install.html#openbsd)\n  - [Gentoo](https://sn0int.readthedocs.io/en/latest/install.html#gentoo)\n  - [NixOS](https://sn0int.readthedocs.io/en/latest/install.html#nixos)\n  - [Windows](https://sn0int.readthedocs.io/en/latest/install.html#windows)\n- [Build from source](https://sn0int.readthedocs.io/en/latest/build.html)\n  - [Install dependencies](https://sn0int.readthedocs.io/en/latest/build.html#install-dependencies)\n    - [Archlinux](https://sn0int.readthedocs.io/en/latest/build.html#archlinux)\n    - [Mac OSX](https://sn0int.readthedocs.io/en/latest/build.html#mac-osx)\n    - [Debian/Ubuntu/Kali](https://sn0int.readthedocs.io/en/latest/build.html#debian-ubuntu-kali)\n    - [Alpine](https://sn0int.readthedocs.io/en/latest/build.html#alpine)\n    - [OpenBSD](https://sn0int.readthedocs.io/en/latest/build.html#openbsd)\n    - [Gentoo](https://sn0int.readthedocs.io/en/latest/build.html#gentoo)\n    - [Windows](https://sn0int.readthedocs.io/en/latest/build.html#windows)\n  - [Building](https://sn0int.readthedocs.io/en/latest/build.html#building)\n- [Running your first investigation](https://sn0int.readthedocs.io/en/latest/usage.html)\n  - [Installing the default modules](https://sn0int.readthedocs.io/en/latest/usage.html#installing-the-default-modules)\n  - [Adding something to scope](https://sn0int.readthedocs.io/en/latest/usage.html#adding-something-to-scope)\n  - [Running a module](https://sn0int.readthedocs.io/en/latest/usage.html#running-a-module)\n  - [Running followup modules on the results](https://sn0int.readthedocs.io/en/latest/usage.html#running-followup-modules-on-the-results)\n  - [Unscoping entities](https://sn0int.readthedocs.io/en/latest/usage.html#unscoping-entities)\n- [Autonoscope](https://sn0int.readthedocs.io/en/latest/autonoscope.html)\n  - [Domains](https://sn0int.readthedocs.io/en/latest/autonoscope.html#domains)\n  - [IPs](https://sn0int.readthedocs.io/en/latest/autonoscope.html#ips)\n  - [URLs](https://sn0int.readthedocs.io/en/latest/autonoscope.html#urls)\n- [Writing your first module](https://sn0int.readthedocs.io/en/latest/scripting.html)\n  - [Creating a repository](https://sn0int.readthedocs.io/en/latest/scripting.html#creating-a-repository)\n  - [Publish your module](https://sn0int.readthedocs.io/en/latest/scripting.html#publish-your-module)\n  - [Publish your repo](https://sn0int.readthedocs.io/en/latest/scripting.html#publish-your-repo)\n  - [Reading data from stdin](https://sn0int.readthedocs.io/en/latest/scripting.html#reading-data-from-stdin)\n- [Database](https://sn0int.readthedocs.io/en/latest/database.html)\n  - [db_add](https://sn0int.readthedocs.io/en/latest/database.html#db-add)\n  - [db_add_ttl](https://sn0int.readthedocs.io/en/latest/database.html#db-add-ttl)\n  - [db_activity](https://sn0int.readthedocs.io/en/latest/database.html#db-activity)\n  - [db_update](https://sn0int.readthedocs.io/en/latest/database.html#db-update)\n  - [db_select](https://sn0int.readthedocs.io/en/latest/database.html#db-select)\n- [Structs](https://sn0int.readthedocs.io/en/latest/structs.html)\n  - [Domains](https://sn0int.readthedocs.io/en/latest/structs.html#domains)\n  - [Subdomains](https://sn0int.readthedocs.io/en/latest/structs.html#subdomains)\n  - [IpAddrs](https://sn0int.readthedocs.io/en/latest/structs.html#ipaddrs)\n  - [URLs](https://sn0int.readthedocs.io/en/latest/structs.html#urls)\n  - [Emails](https://sn0int.readthedocs.io/en/latest/structs.html#emails)\n  - [Phonenumbers](https://sn0int.readthedocs.io/en/latest/structs.html#phonenumbers)\n  - [Devices](https://sn0int.readthedocs.io/en/latest/structs.html#devices)\n  - [Networks](https://sn0int.readthedocs.io/en/latest/structs.html#networks)\n  - [Accounts](https://sn0int.readthedocs.io/en/latest/structs.html#accounts)\n  - [Breaches](https://sn0int.readthedocs.io/en/latest/structs.html#breaches)\n  - [Images](https://sn0int.readthedocs.io/en/latest/structs.html#images)\n  - [Ports](https://sn0int.readthedocs.io/en/latest/structs.html#ports)\n  - [Netblocks](https://sn0int.readthedocs.io/en/latest/structs.html#netblocks)\n  - [CryptoAddrs](https://sn0int.readthedocs.io/en/latest/structs.html#cryptoaddrs)\n  - [Activity](https://sn0int.readthedocs.io/en/latest/structs.html#activity)\n  - [Relations](https://sn0int.readthedocs.io/en/latest/structs.html#relations)\n    - [subdomain_ipaddr](https://sn0int.readthedocs.io/en/latest/structs.html#subdomain-ipaddr)\n    - [network_device](https://sn0int.readthedocs.io/en/latest/structs.html#network-device)\n    - [breach_email](https://sn0int.readthedocs.io/en/latest/structs.html#breach-email)\n- [Activity](https://sn0int.readthedocs.io/en/latest/activity.html)\n  - [Anatomy of an event](https://sn0int.readthedocs.io/en/latest/activity.html#anatomy-of-an-event)\n  - [Logging events](https://sn0int.readthedocs.io/en/latest/activity.html#logging-events)\n  - [Querying events](https://sn0int.readthedocs.io/en/latest/activity.html#querying-events)\n  - [Visualization](https://sn0int.readthedocs.io/en/latest/activity.html#visualization)\n- [Notifications](https://sn0int.readthedocs.io/en/latest/notifications.html)\n  - [Receiving notifications](https://sn0int.readthedocs.io/en/latest/notifications.html#receiving-notifications)\n    - [Telegram](https://sn0int.readthedocs.io/en/latest/notifications.html#telegram)\n    - [Pushover](https://sn0int.readthedocs.io/en/latest/notifications.html#pushover)\n    - [Discord](https://sn0int.readthedocs.io/en/latest/notifications.html#discord)\n    - [Signal](https://sn0int.readthedocs.io/en/latest/notifications.html#signal)\n    - [Writing your own module](https://sn0int.readthedocs.io/en/latest/notifications.html#writing-your-own-module)\n  - [Setting up notification rules](https://sn0int.readthedocs.io/en/latest/notifications.html#setting-up-notification-rules)\n  - [Testing notifications](https://sn0int.readthedocs.io/en/latest/notifications.html#testing-notifications)\n  - [Running sn0int automatically](https://sn0int.readthedocs.io/en/latest/notifications.html#running-sn0int-automatically)\n    - [Monitors](https://sn0int.readthedocs.io/en/latest/notifications.html#monitors)\n    - [Timers](https://sn0int.readthedocs.io/en/latest/notifications.html#timers)\n- [Keyring](https://sn0int.readthedocs.io/en/latest/keyring.html)\n  - [Managing the keyring](https://sn0int.readthedocs.io/en/latest/keyring.html#managing-the-keyring)\n  - [Using access keys in scripts](https://sn0int.readthedocs.io/en/latest/keyring.html#using-access-keys-in-scripts)\n  - [Using access keys as source argument](https://sn0int.readthedocs.io/en/latest/keyring.html#using-access-keys-as-source-argument)\n- [Configuration](https://sn0int.readthedocs.io/en/latest/config.html)\n  - [\\[core\\]](https://sn0int.readthedocs.io/en/latest/config.html#core)\n  - [\\[namespaces\\]](https://sn0int.readthedocs.io/en/latest/config.html#namespaces)\n  - [\\[network\\]](https://sn0int.readthedocs.io/en/latest/config.html#network)\n- [Sandbox](https://sn0int.readthedocs.io/en/latest/sandbox.html)\n  - [Linux](https://sn0int.readthedocs.io/en/latest/sandbox.html#linux)\n  - [OpenBSD](https://sn0int.readthedocs.io/en/latest/sandbox.html#openbsd)\n  - [IPC Protocol](https://sn0int.readthedocs.io/en/latest/sandbox.html#ipc-protocol)\n  - [Limitations](https://sn0int.readthedocs.io/en/latest/sandbox.html#limitations)\n  - [Diagnosing a sandbox failure](https://sn0int.readthedocs.io/en/latest/sandbox.html#diagnosing-a-sandbox-failure)\n- [Function reference](https://sn0int.readthedocs.io/en/latest/reference.html)\n  - [asn_lookup](https://sn0int.readthedocs.io/en/latest/reference.html#asn-lookup)\n  - [base64_decode](https://sn0int.readthedocs.io/en/latest/reference.html#base64-decode)\n  - [base64_encode](https://sn0int.readthedocs.io/en/latest/reference.html#base64-encode)\n  - [base64_custom_decode](https://sn0int.readthedocs.io/en/latest/reference.html#base64-custom-decode)\n  - [base64_custom_encode](https://sn0int.readthedocs.io/en/latest/reference.html#base64-custom-encode)\n  - [base32_custom_decode](https://sn0int.readthedocs.io/en/latest/reference.html#base32-custom-decode)\n  - [base32_custom_encode](https://sn0int.readthedocs.io/en/latest/reference.html#base32-custom-encode)\n  - [clear_err](https://sn0int.readthedocs.io/en/latest/reference.html#clear-err)\n  - [create_blob](https://sn0int.readthedocs.io/en/latest/reference.html#create-blob)\n  - [datetime](https://sn0int.readthedocs.io/en/latest/reference.html#datetime)\n  - [db_add](https://sn0int.readthedocs.io/en/latest/reference.html#db-add)\n  - [db_add_ttl](https://sn0int.readthedocs.io/en/latest/reference.html#db-add-ttl)\n  - [db_activity](https://sn0int.readthedocs.io/en/latest/reference.html#db-activity)\n  - [db_select](https://sn0int.readthedocs.io/en/latest/reference.html#db-select)\n  - [db_update](https://sn0int.readthedocs.io/en/latest/reference.html#db-update)\n  - [dns](https://sn0int.readthedocs.io/en/latest/reference.html#dns)\n  - [error](https://sn0int.readthedocs.io/en/latest/reference.html#error)\n  - [geoip_lookup](https://sn0int.readthedocs.io/en/latest/reference.html#geoip-lookup)\n  - [hex](https://sn0int.readthedocs.io/en/latest/reference.html#hex)\n  - [hmac_md5](https://sn0int.readthedocs.io/en/latest/reference.html#hmac-md5)\n  - [hmac_sha1](https://sn0int.readthedocs.io/en/latest/reference.html#hmac-sha1)\n  - [hmac_sha2_256](https://sn0int.readthedocs.io/en/latest/reference.html#hmac-sha2-256)\n  - [hmac_sha2_512](https://sn0int.readthedocs.io/en/latest/reference.html#hmac-sha2-512)\n  - [hmac_sha3_256](https://sn0int.readthedocs.io/en/latest/reference.html#hmac-sha3-256)\n  - [hmac_sha3_512](https://sn0int.readthedocs.io/en/latest/reference.html#hmac-sha3-512)\n  - [html_select](https://sn0int.readthedocs.io/en/latest/reference.html#html-select)\n  - [html_select_list](https://sn0int.readthedocs.io/en/latest/reference.html#html-select-list)\n  - [http_mksession](https://sn0int.readthedocs.io/en/latest/reference.html#http-mksession)\n  - [http_request](https://sn0int.readthedocs.io/en/latest/reference.html#http-request)\n  - [http_send](https://sn0int.readthedocs.io/en/latest/reference.html#http-send)\n  - [http_fetch](https://sn0int.readthedocs.io/en/latest/reference.html#http-fetch)\n  - [http_fetch_json](https://sn0int.readthedocs.io/en/latest/reference.html#http-fetch-json)\n  - [img_load](https://sn0int.readthedocs.io/en/latest/reference.html#img-load)\n  - [img_exif](https://sn0int.readthedocs.io/en/latest/reference.html#img-exif)\n  - [img_ahash](https://sn0int.readthedocs.io/en/latest/reference.html#img-ahash)\n  - [img_dhash](https://sn0int.readthedocs.io/en/latest/reference.html#img-dhash)\n  - [img_phash](https://sn0int.readthedocs.io/en/latest/reference.html#img-phash)\n  - [img_nudity](https://sn0int.readthedocs.io/en/latest/reference.html#img-nudity)\n  - [info](https://sn0int.readthedocs.io/en/latest/reference.html#info)\n  - [intval](https://sn0int.readthedocs.io/en/latest/reference.html#intval)\n  - [json_decode](https://sn0int.readthedocs.io/en/latest/reference.html#json-decode)\n  - [json_decode_stream](https://sn0int.readthedocs.io/en/latest/reference.html#json-decode-stream)\n  - [json_encode](https://sn0int.readthedocs.io/en/latest/reference.html#json-encode)\n  - [key_trunc_pad](https://sn0int.readthedocs.io/en/latest/reference.html#key-trunc-pad)\n  - [keyring](https://sn0int.readthedocs.io/en/latest/reference.html#keyring)\n  - [last_err](https://sn0int.readthedocs.io/en/latest/reference.html#last-err)\n  - [md5](https://sn0int.readthedocs.io/en/latest/reference.html#md5)\n  - [mqtt_connect](https://sn0int.readthedocs.io/en/latest/reference.html#mqtt-connect)\n  - [mqtt_subscribe](https://sn0int.readthedocs.io/en/latest/reference.html#mqtt-subscribe)\n  - [mqtt_recv](https://sn0int.readthedocs.io/en/latest/reference.html#mqtt-recv)\n  - [mqtt_ping](https://sn0int.readthedocs.io/en/latest/reference.html#mqtt-ping)\n  - [pgp_pubkey](https://sn0int.readthedocs.io/en/latest/reference.html#pgp-pubkey)\n  - [pgp_pubkey_armored](https://sn0int.readthedocs.io/en/latest/reference.html#pgp-pubkey-armored)\n  - [print](https://sn0int.readthedocs.io/en/latest/reference.html#print)\n  - [psl_domain_from_dns_name](https://sn0int.readthedocs.io/en/latest/reference.html#psl-domain-from-dns-name)\n  - [ratelimit_throttle](https://sn0int.readthedocs.io/en/latest/reference.html#ratelimit-throttle)\n  - [regex_find](https://sn0int.readthedocs.io/en/latest/reference.html#regex-find)\n  - [regex_find_all](https://sn0int.readthedocs.io/en/latest/reference.html#regex-find-all)\n  - [semver_match](https://sn0int.readthedocs.io/en/latest/reference.html#semver-match)\n  - [set_err](https://sn0int.readthedocs.io/en/latest/reference.html#set-err)\n  - [sha1](https://sn0int.readthedocs.io/en/latest/reference.html#sha1)\n  - [sha2_256](https://sn0int.readthedocs.io/en/latest/reference.html#sha2-256)\n  - [sha2_512](https://sn0int.readthedocs.io/en/latest/reference.html#sha2-512)\n  - [sha3_256](https://sn0int.readthedocs.io/en/latest/reference.html#sha3-256)\n  - [sha3_512](https://sn0int.readthedocs.io/en/latest/reference.html#sha3-512)\n  - [sleep](https://sn0int.readthedocs.io/en/latest/reference.html#sleep)\n  - [sn0int_time](https://sn0int.readthedocs.io/en/latest/reference.html#sn0int-time)\n  - [sn0int_time_from](https://sn0int.readthedocs.io/en/latest/reference.html#sn0int-time-from)\n  - [sn0int_version](https://sn0int.readthedocs.io/en/latest/reference.html#sn0int-version)\n  - [sock_connect](https://sn0int.readthedocs.io/en/latest/reference.html#sock-connect)\n  - [sock_upgrade_tls](https://sn0int.readthedocs.io/en/latest/reference.html#sock-upgrade-tls)\n  - [sock_options](https://sn0int.readthedocs.io/en/latest/reference.html#sock-options)\n  - [sock_send](https://sn0int.readthedocs.io/en/latest/reference.html#sock-send)\n  - [sock_recv](https://sn0int.readthedocs.io/en/latest/reference.html#sock-recv)\n  - [sock_sendline](https://sn0int.readthedocs.io/en/latest/reference.html#sock-sendline)\n  - [sock_recvline](https://sn0int.readthedocs.io/en/latest/reference.html#sock-recvline)\n  - [sock_recvall](https://sn0int.readthedocs.io/en/latest/reference.html#sock-recvall)\n  - [sock_recvline_contains](https://sn0int.readthedocs.io/en/latest/reference.html#sock-recvline-contains)\n  - [sock_recvline_regex](https://sn0int.readthedocs.io/en/latest/reference.html#sock-recvline-regex)\n  - [sock_recvn](https://sn0int.readthedocs.io/en/latest/reference.html#sock-recvn)\n  - [sock_recvuntil](https://sn0int.readthedocs.io/en/latest/reference.html#sock-recvuntil)\n  - [sock_sendafter](https://sn0int.readthedocs.io/en/latest/reference.html#sock-sendafter)\n  - [sock_newline](https://sn0int.readthedocs.io/en/latest/reference.html#sock-newline)\n  - [sodium_secretbox_open](https://sn0int.readthedocs.io/en/latest/reference.html#sodium-secretbox-open)\n  - [status](https://sn0int.readthedocs.io/en/latest/reference.html#status)\n  - [stdin_readline](https://sn0int.readthedocs.io/en/latest/reference.html#stdin-readline)\n  - [stdin_read_to_end](https://sn0int.readthedocs.io/en/latest/reference.html#stdin-read-to-end)\n  - [str_find](https://sn0int.readthedocs.io/en/latest/reference.html#str-find)\n  - [str_replace](https://sn0int.readthedocs.io/en/latest/reference.html#str-replace)\n  - [strftime](https://sn0int.readthedocs.io/en/latest/reference.html#strftime)\n  - [strptime](https://sn0int.readthedocs.io/en/latest/reference.html#strptime)\n  - [strval](https://sn0int.readthedocs.io/en/latest/reference.html#strval)\n  - [time_unix](https://sn0int.readthedocs.io/en/latest/reference.html#time-unix)\n  - [url_decode](https://sn0int.readthedocs.io/en/latest/reference.html#url-decode)\n  - [url_encode](https://sn0int.readthedocs.io/en/latest/reference.html#url-encode)\n  - [url_escape](https://sn0int.readthedocs.io/en/latest/reference.html#url-escape)\n  - [url_join](https://sn0int.readthedocs.io/en/latest/reference.html#url-join)\n  - [url_parse](https://sn0int.readthedocs.io/en/latest/reference.html#url-parse)\n  - [url_unescape](https://sn0int.readthedocs.io/en/latest/reference.html#url-unescape)\n  - [utf8_decode](https://sn0int.readthedocs.io/en/latest/reference.html#utf8-decode)\n  - [warn](https://sn0int.readthedocs.io/en/latest/reference.html#warn)\n  - [warn_once](https://sn0int.readthedocs.io/en/latest/reference.html#warn-once)\n  - [ws_connect](https://sn0int.readthedocs.io/en/latest/reference.html#ws-connect)\n  - [ws_options](https://sn0int.readthedocs.io/en/latest/reference.html#ws-options)\n  - [ws_recv_text](https://sn0int.readthedocs.io/en/latest/reference.html#ws-recv-text)\n  - [ws_recv_binary](https://sn0int.readthedocs.io/en/latest/reference.html#ws-recv-binary)\n  - [ws_recv_json](https://sn0int.readthedocs.io/en/latest/reference.html#ws-recv-json)\n  - [ws_send_text](https://sn0int.readthedocs.io/en/latest/reference.html#ws-send-text)\n  - [ws_send_binary](https://sn0int.readthedocs.io/en/latest/reference.html#ws-send-binary)\n  - [ws_send_json](https://sn0int.readthedocs.io/en/latest/reference.html#ws-send-json)\n  - [x509_parse_pem](https://sn0int.readthedocs.io/en/latest/reference.html#x509-parse-pem)\n  - [xml_decode](https://sn0int.readthedocs.io/en/latest/reference.html#xml-decode)\n  - [xml_named](https://sn0int.readthedocs.io/en/latest/reference.html#xml-named)\n\n## Rationale\n\nThis tool was written for companies to help them understand their attack\nsurface from a blackbox point of view. It's often difficult to understand that\nsomething is easier to discover than some people assume, putting them at risk\nof false security.\n\nIt's also designed to be useful for red team assessments and bug bounties,\nwhich also help companies to identify weaknesses that could result in a\ncompromise.\n\nSome functionality was written to do the same thing for individuals to raise\nawareness about personal attack surface, privacy and how much data is publicly\navailable. These issues are often out of scope in bug bounties and sometimes by\ndesign. We believe that blaming the user is the wrong approach and these issues\nshould be addressed at the root cause by the people designing those systems.\n\n## License\n\nGPLv3+\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkpcyrd%2Fsn0int","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkpcyrd%2Fsn0int","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkpcyrd%2Fsn0int/lists"}