{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/575",
    "result": {"data":{"issuesJson":{"id":"d282b9d6-fb35-5ad9-a2d8-992548f86479","title":"trufflesecurity/trufflehog: 一款用于扫描代码中是否包含密码，秘钥等敏感信息的工具，可以集成到你的流水线当中","number":575,"bodyHTML":"<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a><br><br></p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th align=\"right\">Repos</th>\n<th align=\"left\"><a href=\"https://github.com/trufflesecurity/trufflehog\">trufflesecurity/trufflehog</a></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"right\"><strong>Views</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/6a360408423f39386b07af5152104e124a9e26ced149bc1a6caad3c3702afb25/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f74727566666c6573656375726974792f74727566666c65686f672e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/trufflesecurity/trufflehog.svg\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Stars</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/d91afdb93d3beef5b874507f11df2f614728a5cfc7097d942201a38744a0ad20/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f74727566666c6573656375726974792f74727566666c65686f673f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/trufflesecurity/trufflehog?color=f2f08d&amp;logo=Undertale&amp;logoColor=eb4630\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Forks</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/fb7f809ab0907913c03b18d1a528e7eb81aaa16bd7234f41e7e2da282f5c034f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f74727566666c6573656375726974792f74727566666c65686f673f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/trufflesecurity/trufflehog?color=ba86eb&amp;logo=Handshake&amp;logoColor=ea6aa6\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>License</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/3f4e6cc62abfd2d35e71ebd818735aebda4430c255c5c6d846f128b09cf717ab/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f74727566666c6573656375726974792f74727566666c65686f673f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e53556845556741414144414141414177434159414141425841766d48414141414358424957584d41414173544141414c457745416d70775941414144336b6c45515652346e4f335953557a5555426748384a726f57567255474a66456d3773584e63534446784d544c327069347348456778654e526f77586770455742445552522532424e414e4f4b4f4b36366f6f4b4a4742586545475263574163455646475152484677516d483525324630774861655748493944554455354c356b6e6568644f62377a66652532423139636e434a47495243516945596c514237594a4979474c38616f73756c565a36695246516a69474b6b7564576735614c6c704f70704e586e665071773555304459524a6d56786a4367464633424c755a476d416f5655694b4541726d583744375553677351706f72674761336748664b34483663754262435644334771683141352532424c6745253242467749656e514d306a6f446f66714c6f48564e7742796d384370546e416d327a51713073676478624964515a556c416b7150415a3664676a303541446f59526f6f66792532466f5869726f376b3551586a4c6f70677a4b69514e6c4c4461716f4967754577426a7a7150355066446a45394479495879493633464d547751464d43567271774e61763451666f52673538514625324266724d485172454b3844546f434d714e4179574e4866786d54526f4c4f726d5352566747744466714345715a4f4851727a6f34706243557341333431365169364551394b476a6345465267484f724f4b6e5536574162396247455459656b4b7843766a546167394534706a653534446b3551503862624d4859762532464333756541654a6b50304f4778422532424a70426e4172595238455951516e6f4e31414e4661426e5050356c385372736559514c303641646b30464a5938484f5761424d6c6541486a683068506f73497a6c6f3876304125324633345a694f6548726130714b52504d5653493774762532423932747725324676687855654252713456454c674d376642714b354770526d6f514c584e7075625475367a6f4e52706754386e5051627138347764253246494375767978694b4871694e41664933774d367549684271476b4c696977414f734b44714f68743749747239567938536a52424557667941627225324668523142667056514664484a42253246423268683778376a36517077435665655951326b72554235436c636a3641326d3067576a25324244306d4c34397a573563517943484c4e37726a6c6d6d6174457958582532464372547a412532466f51785a6b576c39474a5443566f25324279546a3837253242346769504b6376307149486f344156344430565a727251493334706e70524d36357875652532467a417265453425324654253246536f676c664542794d7369517441546c4c3352414a355948725378365a44665337307337754d486842705225324659423573305057366f455270316236253246667252684b3353444c35546965364f515548516c5133735644752532427a50636b397657453973747225324236496a533967486d5750616861444a25324277434b364e494242587348423948796b587378774470686c436d416476706c6162554a4e6e5a504239342532464e7436784f6538587a4562503257684d335741673147756236744825324233513150673337365239713475716c6e6f36676448476a444f5139306562303141484d3672596975554a314f713472344656756a35765239427a4d3957674e764f7977446869495951467667626366774166774d764863615067425041253246447948476a50624e394138616d6562636477416444354e6633373574787165774e5552656f797677424958594c645170576c6877465771745061435044334173467541535636717171496c62304a766b564331464c39576b4c55556c55574b337a585a4c46432532423125324642726f46746f364f7358497545594a5034447a7a5732594656316f4a614141414141456c46546b5375516d4343\" alt=\"license\" data-canonical-src=\"https://img.shields.io/github/license/trufflesecurity/trufflehog?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD3klEQVR4nO3YSUzUUBgH8JroWVrUGJfEm7sXNcSDFxMTL2pi4sHEgxeNRowXgpEWBDURR%2BNANOKOK66ooKJGBXeEGRcWAcEVFGQRHFwQmH5%2F0wHaeWHI9DUDU5L5knehdOb7zfe%2B19cnCJGIRCQiEYlQB7YJIyGL8aosulVZ6iRFQjiGKkudWg5aLlpOppNXnfPqw5U0DYRJmVxjCgFF3BLuZGmAoVUiKEArmX7D7USgsQporgGa3gHfK4H6cuBbCVD3Gqh1A5%2BLgE%2BFwIenQM0joDofqLoHVNwBym8CpTnAm2zQq0sgdxbIdQZUlAkqPAZ6dgj05ADoYRoofy%2FoXiro7k5QXjLopgzKiQNlLDaqoIguEwBjzqP5PfDjE9DyIXyI63FMTwQFMCVrqwNav4QfoRg58QF%2BfrMHQrEK8DToCMqNAyWNHfxmTRoLOrmSRVgGtDfqCEqZOHQrzo4pbCUsA3416Qi6EQ9KGjcEFRgHOrOKnU6WAb9bGETYekKxCvjTag9E4pje54Dk5QP8bbMHYv%2FC3ueAeJkP0OGxB%2BJpBnArYR8EYQQnoN1ANFaBnPP5l8SrseYQL06Adk0FJY8HOWaBMleAHjh0hPosIzlo8v0A%2F34ZiOeHra0qKRPMVSI7tv%2B92tw%2FvhxUeBRq4VELgM7fBqK5GpRmoQLXNpubTu6zoNRpgT8nPQbq84wd%2FICuvyxiKHqiNAfI3wM6uIhBqGkLiiwAOsKDqOht7Itr9Vy8SjRBEWfyAbr%2FhR1BfpVQFdHJB%2FB2hh7x7j6QpwCVeeYQ2krUB5Clcj6A2m0gWj%2BD0mL49zW5cQyCHLN7rjlmmatEyXX%2FCrTzA%2FoQxZkWl9GJTCVo%2ByTj87%2B4giPKcv0qIHo4AV4D0VZrrQI34pnpRM65xue%2FzAreE4%2FT%2FSoglfEByMsiQtATlL3RAJ5YHrSx6ZDfS70s7uMHhBpR%2FYB5s0PW6oERp1b6%2FfrRhK3SDL5Tie6OQUHQlQ3sVDu%2BzPck9vWE9str%2B6IjS9gHmWPahaDJ%2BwCK6NIBBXsHB9HykXsxwDphlCmAdvplabUJNnZPB94%2FNt6xOe8XzEbP2WhM3WAg1Gub6tH%2B3Q1Pg376R9q4uqlno6gdHGjDOQ90eb01AHM6rYiuUJ1Oq4r4FVuj5vR9BzM9WgNvOywDhiIYQFvgbcfwAfwMvHcaPgBPA%2FDyHGjPbN9A8amebcdwAdD5Nf375txqewNUReoyvwBIXYLdQpWlhwFWqtPaCPD3AsFuASV6qqqIlb0JvkVC1FL9WkLUUlUWK3zXZLFC%2B1%2FBroFto6OsXIuEYJP4DzzW2YFV1oJaAAAAAElFTkSuQmCC\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>UpdatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/5ce453fcf1a94aa1bb75d72228daf1bf83ecb3282678c38dc973f69d70f000ef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f74727566666c6573656375726974792f74727566666c65686f673f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/trufflesecurity/trufflehog?display_timestamp=committer&amp;logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=UpdatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>CreatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/8814e70f0c0696fee477966e43e538d73d5a3246ea88ccd95a7a7aaf52bfe4d1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f74727566666c6573656375726974792f74727566666c65686f673f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/trufflesecurity/trufflehog?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=CreatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<a href=\"https://github.com/opsre/awesome-ops\">\n</a><p dir=\"auto\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b964a36ea4078c39f603d46a29436371c7541a2f26e0228d7b21b9d9805b43d3/68747470733a2f2f736f6369616c6966792e6769742e63692f6f707372652f617765736f6d652d6f70732f696d6167653f6465736372697074696f6e3d3126666f6e743d42697474657226666f726b733d31266973737565733d31266c616e67756167653d31266c6f676f3d6874747073253341253246253246617661746172732e67697468756275736572636f6e74656e742e636f6d25324675253246313838353638303230266e616d653d31266f776e65723d31267061747465726e3d436972637569742b426f6172642670756c6c733d31267374617267617a6572733d31267468656d653d4c69676874\" alt=\"\" data-canonical-src=\"https://socialify.git.ci/opsre/awesome-ops/image?description=1&amp;font=Bitter&amp;forks=1&amp;issues=1&amp;language=1&amp;logo=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F188568020&amp;name=1&amp;owner=1&amp;pattern=Circuit+Board&amp;pulls=1&amp;stargazers=1&amp;theme=Light\" style=\"max-width: 100%;\"></a></p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a>\n</div>\n<p align=\"center\" dir=\"auto\">\n  <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/67412223ce941f2c8ffb8ff9b101cc0258ce1b3e1b8a62beb2da4318163c61b1/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f74727566666c65686f672d7374617469632d736f75726365732f706978656c5f7069672e706e67\"><img alt=\"GoReleaser Logo\" src=\"https://camo.githubusercontent.com/67412223ce941f2c8ffb8ff9b101cc0258ce1b3e1b8a62beb2da4318163c61b1/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f74727566666c65686f672d7374617469632d736f75726365732f706978656c5f7069672e706e67\" height=\"140\" data-canonical-src=\"https://storage.googleapis.com/trufflehog-static-sources/pixel_pig.png\" style=\"max-width: 100%; height: auto; max-height: 140px;\"></a>\n  </p><h2 align=\"center\" dir=\"auto\">TruffleHog</h2>\n  <p align=\"center\" dir=\"auto\">Find leaked credentials.</p>\n<p dir=\"auto\"></p>\n<hr>\n<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a href=\"https://goreportcard.com/report/github.com/trufflesecurity/trufflehog/v3\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/cd7cee81bb57b473027ecb663f4788b43c071065a264bd5623759080b2c41870/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f74727566666c6573656375726974792f74727566666c65686f672f7633\" alt=\"Go Report Card\" data-canonical-src=\"https://goreportcard.com/badge/github.com/trufflesecurity/trufflehog/v3\" style=\"max-width: 100%;\"></a><br>\n<a href=\"/LICENSE\"><img src=\"https://camo.githubusercontent.com/a973ac4aa1cd53287864743e76893d5ccbd1f9ae3dfc1825218743d12d52b627/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4147504c2d2d332e302d627269676874677265656e\" alt=\"License\" data-canonical-src=\"https://img.shields.io/badge/license-AGPL--3.0-brightgreen\" style=\"max-width: 100%;\"></a><br>\n<a href=\"/pkg/detectors\"><img src=\"https://camo.githubusercontent.com/abf4880b4ef0097e9254b12e43c2d987460ff555927d4c14bc5fc7e3cdf05bd2/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6469726563746f72792d66696c652d636f756e742f74727566666c6573656375726974792f74727566666c65486f672f706b672f6465746563746f72733f6c6162656c3d546f74616c2532304465746563746f727326747970653d646972\" alt=\"Total Detectors\" data-canonical-src=\"https://img.shields.io/github/directory-file-count/trufflesecurity/truffleHog/pkg/detectors?label=Total%20Detectors&amp;type=dir\" style=\"max-width: 100%;\"></a></p>\n</div>\n<hr>\n<h1 dir=\"auto\">🔎 <em>Now Scanning</em></h1>\n<div align=\"center\" dir=\"auto\">\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"assets/scanning_logos.svg\"><img src=\"assets/scanning_logos.svg\" style=\"max-width: 100%;\"></a>\n<p dir=\"auto\"><strong>...and more</strong></p>\n<p dir=\"auto\">To learn more about about TruffleHog and its features and capabilities, visit our <a href=\"https://trufflesecurity.com/trufflehog?gclid=CjwKCAjwouexBhAuEiwAtW_Zx5IW87JNj97Ci7heFnA5ar6-DuNzT2Y5nIl9DuZ-FOUqx0Qg3vb9nxoClcEQAvD_BwE\" rel=\"nofollow\">product page</a>.</p>\n</div>\n<h1 dir=\"auto\">🌐 TruffleHog Enterprise</h1>\n<p dir=\"auto\">Are you interested in continuously monitoring <strong>Git, Jira, Slack, Confluence, Microsoft Teams, Sharepoint, and more..</strong> for credentials? We have an enterprise product that can help! Learn more at <a href=\"https://trufflesecurity.com/trufflehog-enterprise\" rel=\"nofollow\">https://trufflesecurity.com/trufflehog-enterprise</a>.</p>\n<p dir=\"auto\">We take the revenue from the enterprise product to fund more awesome open source projects that the whole community can benefit from.</p>\n\n<h1 dir=\"auto\">What is TruffleHog 🐽</h1>\n<p dir=\"auto\">TruffleHog is the most powerful secrets <strong>Discovery, Classification, Validation,</strong> and <strong>Analysis</strong> tool. In this context secret refers to a credential a machine uses to authenticate itself to another machine. This includes API keys, database passwords, private encryption keys, and more...</p>\n<h2 dir=\"auto\">Discovery 🔍</h2>\n<p dir=\"auto\">TruffleHog can look for secrets in many places including Git, chats, wikis, logs, API testing platforms, object stores, filesystems and more</p>\n<h2 dir=\"auto\">Classification 📁</h2>\n<p dir=\"auto\">TruffleHog classifies over 800 secret types, mapping them back to the specific identity they belong to. Is it an AWS secret? Stripe secret? Cloudflare secret? Postgres password? SSL Private key? Sometimes its hard to tell looking at it, so TruffleHog classifies everything it finds.</p>\n<h2 dir=\"auto\">Validation ✅</h2>\n<p dir=\"auto\">For every secret TruffleHog can classify, it can also log in to confirm if that secret is live or not. This step is critical to know if there’s an active present danger or not.</p>\n<h2 dir=\"auto\">Analysis 🔬</h2>\n<p dir=\"auto\">For the 20 some of the most commonly leaked out credential types, instead of sending one request to check if the secret can log in, TruffleHog can send many requests to learn everything there is to know about the secret. Who created it? What resources can it access? What permissions does it have on those resources?</p>\n<h1 dir=\"auto\">📢 Join Our Community</h1>\n<p dir=\"auto\">Have questions? Feedback? Jump in slack or discord and hang out with us</p>\n<p dir=\"auto\">Join our <a href=\"https://join.slack.com/t/trufflehog-community/shared_invite/zt-pw2qbi43-Aa86hkiimstfdKH9UCpPzQ\" rel=\"nofollow\">Slack Community</a></p>\n<p dir=\"auto\">Join the <a href=\"https://discord.gg/8Hzbrnkr7E\" rel=\"nofollow\">Secret Scanning Discord</a></p>\n<h1 dir=\"auto\">📺 Demo</h1>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/69fd1cfe00ae854ddc7a638f1a42be3f563549f252971f3307ff45e2d1f1e164/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f74727566666c652d64656d6f732f6e6f6e2d696e7465726163746976652e737667\"><img src=\"https://camo.githubusercontent.com/69fd1cfe00ae854ddc7a638f1a42be3f563549f252971f3307ff45e2d1f1e164/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f74727566666c652d64656d6f732f6e6f6e2d696e7465726163746976652e737667\" alt=\"GitHub scanning demo\" data-canonical-src=\"https://storage.googleapis.com/truffle-demos/non-interactive.svg\" style=\"max-width: 100%;\"></a></p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run --rm -it -v &quot;$PWD:/pwd&quot; trufflesecurity/trufflehog:latest github --org=trufflesecurity\"><pre class=\"notranslate\">docker run --rm -it -v <span class=\"pl-s\"><span class=\"pl-pds\">\"</span><span class=\"pl-smi\">$PWD</span>:/pwd<span class=\"pl-pds\">\"</span></span> trufflesecurity/trufflehog:latest github --org=trufflesecurity</pre></div>\n<h1 dir=\"auto\">💾 Installation</h1>\n<p dir=\"auto\">Several options available for you:</p>\n<h3 dir=\"auto\">MacOS users</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"brew install trufflehog\"><pre class=\"notranslate\">brew install trufflehog</pre></div>\n<h3 dir=\"auto\">Docker:</h3>\n<p dir=\"auto\"><sub><i><em>Ensure Docker engine is running before executing the following commands:</em></i></sub></p>\n<h4 dir=\"auto\">    Unix</h4>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run --rm -it -v &quot;$PWD:/pwd&quot; trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys\"><pre class=\"notranslate\">docker run --rm -it -v <span class=\"pl-s\"><span class=\"pl-pds\">\"</span><span class=\"pl-smi\">$PWD</span>:/pwd<span class=\"pl-pds\">\"</span></span> trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys</pre></div>\n<h4 dir=\"auto\">    Windows Command Prompt</h4>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run --rm -it -v &quot;%cd:/=\\%:/pwd&quot; trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys\"><pre class=\"notranslate\">docker run --rm -it -v <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>%cd:/=\\%:/pwd<span class=\"pl-pds\">\"</span></span> trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys</pre></div>\n<h4 dir=\"auto\">    Windows PowerShell</h4>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run --rm -it -v &quot;${PWD}:/pwd&quot; trufflesecurity/trufflehog github --repo https://github.com/trufflesecurity/test_keys\"><pre class=\"notranslate\">docker run --rm -it -v <span class=\"pl-s\"><span class=\"pl-pds\">\"</span><span class=\"pl-smi\">${PWD}</span>:/pwd<span class=\"pl-pds\">\"</span></span> trufflesecurity/trufflehog github --repo https://github.com/trufflesecurity/test_keys</pre></div>\n<h4 dir=\"auto\">    M1 and M2 Mac</h4>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run --platform linux/arm64 --rm -it -v &quot;$PWD:/pwd&quot; trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys\"><pre class=\"notranslate\">docker run --platform linux/arm64 --rm -it -v <span class=\"pl-s\"><span class=\"pl-pds\">\"</span><span class=\"pl-smi\">$PWD</span>:/pwd<span class=\"pl-pds\">\"</span></span> trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys</pre></div>\n<h3 dir=\"auto\">Binary releases</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"Download and unpack from https://github.com/trufflesecurity/trufflehog/releases\"><pre class=\"notranslate\">Download and unpack from https://github.com/trufflesecurity/trufflehog/releases</pre></div>\n<h3 dir=\"auto\">Compile from source</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git clone https://github.com/trufflesecurity/trufflehog.git\ncd trufflehog; go install\"><pre class=\"notranslate\">git clone https://github.com/trufflesecurity/trufflehog.git\n<span class=\"pl-c1\">cd</span> trufflehog<span class=\"pl-k\">;</span> go install</pre></div>\n<h3 dir=\"auto\">Using installation script</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin\"><pre class=\"notranslate\">curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh <span class=\"pl-k\">|</span> sh -s -- -b /usr/local/bin</pre></div>\n<h3 dir=\"auto\">Using installation script, verify checksum signature (requires cosign to be installed)</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -v -b /usr/local/bin\"><pre class=\"notranslate\">curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh <span class=\"pl-k\">|</span> sh -s -- -v -b /usr/local/bin</pre></div>\n<h3 dir=\"auto\">Using installation script to install a specific version</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin &lt;ReleaseTag like v3.56.0&gt;\"><pre class=\"notranslate\">curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh <span class=\"pl-k\">|</span> sh -s -- -b /usr/local/bin <span class=\"pl-k\">&lt;</span>ReleaseTag like v3.56.<span class=\"pl-k\">0&gt;</span></pre></div>\n<h1 dir=\"auto\">🔐 Verifying the artifacts</h1>\n<p dir=\"auto\">Checksums are applied to all artifacts, and the resulting checksum file is signed using cosign.</p>\n<p dir=\"auto\">You need the following tool to verify signature:</p>\n<ul dir=\"auto\">\n<li><a href=\"https://docs.sigstore.dev/cosign/system_config/installation/\" rel=\"nofollow\">Cosign</a></li>\n</ul>\n<p dir=\"auto\">Verification steps are as follow:</p>\n<ol dir=\"auto\">\n<li>\n<p dir=\"auto\">Download the artifact files you want, and the following files from the <a href=\"https://github.com/trufflesecurity/trufflehog/releases\">releases</a> page.</p>\n<ul dir=\"auto\">\n<li>trufflehog_{version}_checksums.txt</li>\n<li>trufflehog_{version}_checksums.txt.pem</li>\n<li>trufflehog_{version}_checksums.txt.sig</li>\n</ul>\n</li>\n<li>\n<p dir=\"auto\">Verify the signature:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"cosign verify-blob &lt;path to trufflehog_{version}_checksums.txt&gt; \\\n--certificate &lt;path to trufflehog_{version}_checksums.txt.pem&gt; \\\n--signature &lt;path to trufflehog_{version}_checksums.txt.sig&gt; \\\n--certificate-identity-regexp 'https://github\\.com/trufflesecurity/trufflehog/\\.github/workflows/.+' \\\n--certificate-oidc-issuer &quot;https://token.actions.githubusercontent.com&quot;\"><pre class=\"notranslate\">cosign verify-blob <span class=\"pl-k\">&lt;</span>path to trufflehog_{version}_checksums.txt<span class=\"pl-k\">&gt;</span> \\\n--certificate <span class=\"pl-k\">&lt;</span>path to trufflehog_{version}_checksums.txt.pem<span class=\"pl-k\">&gt;</span> \\\n--signature <span class=\"pl-k\">&lt;</span>path to trufflehog_{version}_checksums.txt.sig<span class=\"pl-k\">&gt;</span> \\\n--certificate-identity-regexp <span class=\"pl-s\"><span class=\"pl-pds\">'</span>https://github\\.com/trufflesecurity/trufflehog/\\.github/workflows/.+<span class=\"pl-pds\">'</span></span> \\\n--certificate-oidc-issuer <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>https://token.actions.githubusercontent.com<span class=\"pl-pds\">\"</span></span></pre></div>\n</li>\n<li>\n<p dir=\"auto\">Once the signature is confirmed as valid, you can proceed to validate that the SHA256 sums align with the downloaded artifact:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"sha256sum --ignore-missing -c trufflehog_{version}_checksums.txt\"><pre class=\"notranslate\">sha256sum --ignore-missing -c trufflehog_{version}_checksums.txt</pre></div>\n</li>\n</ol>\n<p dir=\"auto\">Replace <code class=\"notranslate\">{version}</code> with the downloaded files version</p>\n<p dir=\"auto\">Alternatively, if you are using installation script, pass <code class=\"notranslate\">-v</code> option to perform signature verification.<br>\nThis required Cosign binary to be installed prior to running installation script.</p>\n<h1 dir=\"auto\">🚀 Quick Start</h1>\n<h2 dir=\"auto\">1: Scan a repo for only verified secrets</h2>\n<p dir=\"auto\">Command:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog git https://github.com/trufflesecurity/test_keys --results=verified,unknown\"><pre class=\"notranslate\">trufflehog git https://github.com/trufflesecurity/test_keys --results=verified,unknown</pre></div>\n<p dir=\"auto\">Expected output:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"🐷🔑🐷  TruffleHog. Unearth your secrets. 🐷🔑🐷\n\nFound verified result 🐷🔑\nDetector Type: AWS\nDecoder Type: PLAIN\nRaw result: AKIAYVP4CIPPERUVIFXG\nLine: 4\nCommit: fbc14303ffbf8fb1c2c1914e8dda7d0121633aca\nFile: keys\nEmail: counter &lt;counter@counters-MacBook-Air.local&gt;\nRepository: https://github.com/trufflesecurity/test_keys\nTimestamp: 2022-06-16 10:17:40 -0700 PDT\n...\"><pre class=\"notranslate\"><code class=\"notranslate\">🐷🔑🐷  TruffleHog. Unearth your secrets. 🐷🔑🐷\n\nFound verified result 🐷🔑\nDetector Type: AWS\nDecoder Type: PLAIN\nRaw result: AKIAYVP4CIPPERUVIFXG\nLine: 4\nCommit: fbc14303ffbf8fb1c2c1914e8dda7d0121633aca\nFile: keys\nEmail: counter &lt;counter@counters-MacBook-Air.local&gt;\nRepository: https://github.com/trufflesecurity/test_keys\nTimestamp: 2022-06-16 10:17:40 -0700 PDT\n...\n</code></pre></div>\n<h2 dir=\"auto\">2: Scan a GitHub Org for only verified secrets</h2>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog github --org=trufflesecurity --results=verified,unknown\"><pre class=\"notranslate\">trufflehog github --org=trufflesecurity --results=verified,unknown</pre></div>\n<h2 dir=\"auto\">3: Scan a GitHub Repo for only verified keys and get JSON output</h2>\n<p dir=\"auto\">Command:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog git https://github.com/trufflesecurity/test_keys --results=verified,unknown --json\"><pre class=\"notranslate\">trufflehog git https://github.com/trufflesecurity/test_keys --results=verified,unknown --json</pre></div>\n<p dir=\"auto\">Expected output:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"{&quot;SourceMetadata&quot;:{&quot;Data&quot;:{&quot;Git&quot;:{&quot;commit&quot;:&quot;fbc14303ffbf8fb1c2c1914e8dda7d0121633aca&quot;,&quot;file&quot;:&quot;keys&quot;,&quot;email&quot;:&quot;counter \\u003ccounter@counters-MacBook-Air.local\\u003e&quot;,&quot;repository&quot;:&quot;https://github.com/trufflesecurity/test_keys&quot;,&quot;timestamp&quot;:&quot;2022-06-16 10:17:40 -0700 PDT&quot;,&quot;line&quot;:4}}},&quot;SourceID&quot;:0,&quot;SourceType&quot;:16,&quot;SourceName&quot;:&quot;trufflehog - git&quot;,&quot;DetectorType&quot;:2,&quot;DetectorName&quot;:&quot;AWS&quot;,&quot;DecoderName&quot;:&quot;PLAIN&quot;,&quot;Verified&quot;:true,&quot;Raw&quot;:&quot;AKIAYVP4CIPPERUVIFXG&quot;,&quot;Redacted&quot;:&quot;AKIAYVP4CIPPERUVIFXG&quot;,&quot;ExtraData&quot;:{&quot;account&quot;:&quot;595918472158&quot;,&quot;arn&quot;:&quot;arn:aws:iam::595918472158:user/canarytokens.com@@mirux23ppyky6hx3l6vclmhnj&quot;,&quot;user_id&quot;:&quot;AIDAYVP4CIPPJ5M54LRCY&quot;},&quot;StructuredData&quot;:null}\n...\"><pre class=\"notranslate\"><code class=\"notranslate\">{\"SourceMetadata\":{\"Data\":{\"Git\":{\"commit\":\"fbc14303ffbf8fb1c2c1914e8dda7d0121633aca\",\"file\":\"keys\",\"email\":\"counter \\u003ccounter@counters-MacBook-Air.local\\u003e\",\"repository\":\"https://github.com/trufflesecurity/test_keys\",\"timestamp\":\"2022-06-16 10:17:40 -0700 PDT\",\"line\":4}}},\"SourceID\":0,\"SourceType\":16,\"SourceName\":\"trufflehog - git\",\"DetectorType\":2,\"DetectorName\":\"AWS\",\"DecoderName\":\"PLAIN\",\"Verified\":true,\"Raw\":\"AKIAYVP4CIPPERUVIFXG\",\"Redacted\":\"AKIAYVP4CIPPERUVIFXG\",\"ExtraData\":{\"account\":\"595918472158\",\"arn\":\"arn:aws:iam::595918472158:user/canarytokens.com@@mirux23ppyky6hx3l6vclmhnj\",\"user_id\":\"AIDAYVP4CIPPJ5M54LRCY\"},\"StructuredData\":null}\n...\n</code></pre></div>\n<h2 dir=\"auto\">4: Scan a GitHub Repo + its Issues and Pull Requests</h2>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog github --repo=https://github.com/trufflesecurity/test_keys --issue-comments --pr-comments\"><pre class=\"notranslate\">trufflehog github --repo=https://github.com/trufflesecurity/test_keys --issue-comments --pr-comments</pre></div>\n<h2 dir=\"auto\">5: Scan an S3 bucket for verified keys</h2>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog s3 --bucket=&lt;bucket name&gt; --results=verified,unknown\"><pre class=\"notranslate\">trufflehog s3 --bucket=<span class=\"pl-k\">&lt;</span>bucket name<span class=\"pl-k\">&gt;</span> --results=verified,unknown</pre></div>\n<h2 dir=\"auto\">6: Scan S3 buckets using IAM Roles</h2>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog s3 --role-arn=&lt;iam role arn&gt;\"><pre class=\"notranslate\">trufflehog s3 --role-arn=<span class=\"pl-k\">&lt;</span>iam role arn<span class=\"pl-k\">&gt;</span></pre></div>\n<h2 dir=\"auto\">7: Scan a Github Repo using SSH authentication in docker</h2>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run --rm -v &quot;$HOME/.ssh:/root/.ssh:ro&quot; trufflesecurity/trufflehog:latest git ssh://github.com/trufflesecurity/test_keys\"><pre class=\"notranslate\">docker run --rm -v <span class=\"pl-s\"><span class=\"pl-pds\">\"</span><span class=\"pl-smi\">$HOME</span>/.ssh:/root/.ssh:ro<span class=\"pl-pds\">\"</span></span> trufflesecurity/trufflehog:latest git ssh://github.com/trufflesecurity/test_keys</pre></div>\n<h2 dir=\"auto\">8: Scan individual files or directories</h2>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog filesystem path/to/file1.txt path/to/file2.txt path/to/dir\"><pre class=\"notranslate\">trufflehog filesystem path/to/file1.txt path/to/file2.txt path/to/dir</pre></div>\n<h2 dir=\"auto\">9: Scan a local git repo</h2>\n<p dir=\"auto\">Clone the git repo. For example test keys repo.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ git clone git@github.com:trufflesecurity/test_keys.git\"><pre class=\"notranslate\">$ git clone git@github.com:trufflesecurity/test_keys.git</pre></div>\n<p dir=\"auto\">Run trufflehog from the parent directory (outside the git repo).</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ trufflehog git file://test_keys --results=verified,unknown\"><pre class=\"notranslate\">$ trufflehog git file://test_keys --results=verified,unknown</pre></div>\n<h2 dir=\"auto\">10: Scan GCS buckets for verified secrets</h2>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog gcs --project-id=&lt;project-ID&gt; --cloud-environment --results=verified,unknown\"><pre class=\"notranslate\">trufflehog gcs --project-id=<span class=\"pl-k\">&lt;</span>project-ID<span class=\"pl-k\">&gt;</span> --cloud-environment --results=verified,unknown</pre></div>\n<h2 dir=\"auto\">11: Scan a Docker image for verified secrets</h2>\n<p dir=\"auto\">Use the <code class=\"notranslate\">--image</code> flag multiple times to scan multiple images.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog docker --image trufflesecurity/secrets --results=verified,unknown\"><pre class=\"notranslate\">trufflehog docker --image trufflesecurity/secrets --results=verified,unknown</pre></div>\n<h2 dir=\"auto\">12: Scan in CI</h2>\n<p dir=\"auto\">Set the <code class=\"notranslate\">--since-commit</code> flag to your default branch that people merge into (ex: \"main\"). Set the <code class=\"notranslate\">--branch</code> flag to your PR's branch name (ex: \"feature-1\"). Depending on the CI/CD platform you use, this value can be pulled in dynamically (ex: <a href=\"https://circleci.com/docs/variables/\" rel=\"nofollow\">CIRCLE_BRANCH in Circle CI</a> and <a href=\"https://docs.travis-ci.com/user/environment-variables/\" rel=\"nofollow\">TRAVIS_PULL_REQUEST_BRANCH in Travis CI</a>). If the repo is cloned and the target branch is already checked out during the CI/CD workflow, then <code class=\"notranslate\">--branch HEAD</code> should be sufficient. The <code class=\"notranslate\">--fail</code> flag will return an 183 error code if valid credentials are found.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog git file://. --since-commit main --branch feature-1 --results=verified,unknown --fail\"><pre class=\"notranslate\">trufflehog git file://. --since-commit main --branch feature-1 --results=verified,unknown --fail</pre></div>\n<h2 dir=\"auto\">13: Scan a Postman workspace</h2>\n<p dir=\"auto\">Use the <code class=\"notranslate\">--workspace-id</code>, <code class=\"notranslate\">--collection-id</code>, <code class=\"notranslate\">--environment</code> flags multiple times to scan multiple targets.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog postman --token=&lt;postman api token&gt; --workspace-id=&lt;workspace id&gt;\"><pre class=\"notranslate\">trufflehog postman --token=<span class=\"pl-k\">&lt;</span>postman api token<span class=\"pl-k\">&gt;</span> --workspace-id=<span class=\"pl-k\">&lt;</span>workspace id<span class=\"pl-k\">&gt;</span></pre></div>\n<h2 dir=\"auto\">14: Scan a Jenkins server</h2>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog jenkins --url https://jenkins.example.com --username admin --password admin\"><pre class=\"notranslate\">trufflehog jenkins --url https://jenkins.example.com --username admin --password admin</pre></div>\n<h2 dir=\"auto\">15: Scan an Elasticsearch server</h2>\n<h3 dir=\"auto\">Scan a Local Cluster</h3>\n<p dir=\"auto\">There are two ways to authenticate to a local cluster with TruffleHog: (1) username and password, (2) service token.</p>\n<h4 dir=\"auto\">Connect to a local cluster with username and password</h4>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --username truffle --password hog\"><pre class=\"notranslate\">trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --username truffle --password hog</pre></div>\n<h4 dir=\"auto\">Connect to a local cluster with a service token</h4>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --service-token ‘AAEWVaWM...Rva2VuaSDZ’\"><pre class=\"notranslate\">trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --service-token ‘AAEWVaWM...Rva2VuaSDZ’</pre></div>\n<h3 dir=\"auto\">Scan an Elastic Cloud Cluster</h3>\n<p dir=\"auto\">To scan a cluster on Elastic Cloud, you’ll need a Cloud ID and API key.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog elasticsearch \\\n  --cloud-id 'search-prod:dXMtY2Vx...YjM1ODNlOWFiZGRlNjI0NA==' \\\n  --api-key 'MlVtVjBZ...ZSYlduYnF1djh3NG5FQQ=='\"><pre class=\"notranslate\">trufflehog elasticsearch \\\n  --cloud-id <span class=\"pl-s\"><span class=\"pl-pds\">'</span>search-prod:dXMtY2Vx...YjM1ODNlOWFiZGRlNjI0NA==<span class=\"pl-pds\">'</span></span> \\\n  --api-key <span class=\"pl-s\"><span class=\"pl-pds\">'</span>MlVtVjBZ...ZSYlduYnF1djh3NG5FQQ==<span class=\"pl-pds\">'</span></span></pre></div>\n<h2 dir=\"auto\">16. Scan a GitHub Repository for Cross Fork Object References and Deleted Commits</h2>\n<p dir=\"auto\">The following command will enumerate deleted and hidden commits on a GitHub repository and then scan them for secrets. This is an alpha release feature.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog github-experimental --repo https://github.com/&lt;USER&gt;/&lt;REPO&gt;.git --object-discovery\"><pre class=\"notranslate\">trufflehog github-experimental --repo https://github.com/<span class=\"pl-k\">&lt;</span>USER<span class=\"pl-k\">&gt;</span>/<span class=\"pl-k\">&lt;</span>REPO<span class=\"pl-k\">&gt;</span>.git --object-discovery</pre></div>\n<p dir=\"auto\">In addition to the normal TruffleHog output, the <code class=\"notranslate\">--object-discovery</code> flag creates two files in a new <code class=\"notranslate\">$HOME/.trufflehog</code> directory: <code class=\"notranslate\">valid_hidden.txt</code> and <code class=\"notranslate\">invalid.txt</code>. These are used to track state during commit enumeration, as well as to provide users with a complete list of all hidden and deleted commits (<code class=\"notranslate\">valid_hidden.txt</code>). If you'd like to automatically remove these files after scanning, please add the flag <code class=\"notranslate\">--delete-cached-data</code>.</p>\n<p dir=\"auto\"><strong>Note</strong>: Enumerating all valid commits on a repository using this method takes between 20 minutes and a few hours, depending on the size of your repository. We added a progress bar to keep you updated on how long the enumeration will take. The actual secret scanning runs extremely fast.</p>\n<p dir=\"auto\">For more information on Cross Fork Object References, please <a href=\"https://trufflesecurity.com/blog/anyone-can-access-deleted-and-private-repo-data-github\" rel=\"nofollow\">read our blog post</a>.</p>\n<h2 dir=\"auto\">17. Scan Hugging Face</h2>\n<h3 dir=\"auto\">Scan a Hugging Face Model, Dataset or Space</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog huggingface --model &lt;model_id&gt; --space &lt;space_id&gt; --dataset &lt;dataset_id&gt;\"><pre class=\"notranslate\">trufflehog huggingface --model <span class=\"pl-k\">&lt;</span>model_id<span class=\"pl-k\">&gt;</span> --space <span class=\"pl-k\">&lt;</span>space_id<span class=\"pl-k\">&gt;</span> --dataset <span class=\"pl-k\">&lt;</span>dataset_id<span class=\"pl-k\">&gt;</span></pre></div>\n<h3 dir=\"auto\">Scan all Models, Datasets and Spaces belonging to a Hugging Face Organization or User</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog huggingface --org &lt;orgname&gt; --user &lt;username&gt;\"><pre class=\"notranslate\">trufflehog huggingface --org <span class=\"pl-k\">&lt;</span>orgname<span class=\"pl-k\">&gt;</span> --user <span class=\"pl-k\">&lt;</span>username<span class=\"pl-k\">&gt;</span></pre></div>\n<p dir=\"auto\">(Optionally) When scanning an organization or user, you can skip an entire class of resources with <code class=\"notranslate\">--skip-models</code>, <code class=\"notranslate\">--skip-datasets</code>, <code class=\"notranslate\">--skip-spaces</code> OR a particular resource with <code class=\"notranslate\">--ignore-models &lt;model_id&gt;</code>, <code class=\"notranslate\">--ignore-datasets &lt;dataset_id&gt;</code>, <code class=\"notranslate\">--ignore-spaces &lt;space_id&gt;</code>.</p>\n<h3 dir=\"auto\">Scan Discussion and PR Comments</h3>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog huggingface --model &lt;model_id&gt; --include-discussions --include-prs\"><pre class=\"notranslate\">trufflehog huggingface --model <span class=\"pl-k\">&lt;</span>model_id<span class=\"pl-k\">&gt;</span> --include-discussions --include-prs</pre></div>\n<h1 dir=\"auto\">❓ FAQ</h1>\n<ul dir=\"auto\">\n<li>All I see is <code class=\"notranslate\">🐷🔑🐷  TruffleHog. Unearth your secrets. 🐷🔑🐷</code> and the program exits, what gives?\n<ul dir=\"auto\">\n<li>That means no secrets were detected</li>\n</ul>\n</li>\n<li>Why is the scan taking a long time when I scan a GitHub org\n<ul dir=\"auto\">\n<li>Unauthenticated GitHub scans have rate limits. To improve your rate limits, include the <code class=\"notranslate\">--token</code> flag with a personal access token</li>\n</ul>\n</li>\n<li>It says a private key was verified, what does that mean?\n<ul dir=\"auto\">\n<li>Check out our Driftwood blog post to learn how to do this, in short we've confirmed the key can be used live for SSH or SSL <a href=\"https://trufflesecurity.com/blog/driftwood-know-if-private-keys-are-sensitive/\" rel=\"nofollow\">Blog post</a></li>\n</ul>\n</li>\n<li>Is there an easy way to ignore specific secrets?\n<ul dir=\"auto\">\n<li>If the scanned source <a href=\"https://github.com/trufflesecurity/trufflehog/blob/d6375ba92172fd830abb4247cca15e3176448c5d/pkg/engine/engine.go#L358-L365\">supports line numbers</a>, then you can add a <code class=\"notranslate\">trufflehog:ignore</code> comment on the line containing the secret to ignore that secrets.</li>\n</ul>\n</li>\n</ul>\n<h1 dir=\"auto\">📰 What's new in v3?</h1>\n<p dir=\"auto\">TruffleHog v3 is a complete rewrite in Go with many new powerful features.</p>\n<ul dir=\"auto\">\n<li>We've <strong>added over 700 credential detectors that support active verification against their respective APIs</strong>.</li>\n<li>We've also added native <strong>support for scanning GitHub, GitLab, Docker, filesystems, S3, GCS, Circle CI and Travis CI</strong>.</li>\n<li><strong>Instantly verify private keys</strong> against millions of github users and <strong>billions</strong> of TLS certificates using our <a href=\"https://trufflesecurity.com/blog/driftwood\" rel=\"nofollow\">Driftwood</a> technology.</li>\n<li>Scan binaries, documents, and other file formats</li>\n<li>Available as a GitHub Action and a pre-commit hook</li>\n</ul>\n<h2 dir=\"auto\">What is credential verification?</h2>\n<p dir=\"auto\">For every potential credential that is detected, we've painstakingly implemented programmatic verification against the API that we think it belongs to. Verification eliminates false positives. For example, the <a href=\"pkg/detectors/aws/aws.go\">AWS credential detector</a> performs a <code class=\"notranslate\">GetCallerIdentity</code> API call against the AWS API to verify if an AWS credential is active.</p>\n<h1 dir=\"auto\">📝 Usage</h1>\n<p dir=\"auto\">TruffleHog has a sub-command for each source of data that you may want to scan:</p>\n<ul dir=\"auto\">\n<li>git</li>\n<li>github</li>\n<li>gitlab</li>\n<li>docker</li>\n<li>s3</li>\n<li>filesystem (files and directories)</li>\n<li>syslog</li>\n<li>circleci</li>\n<li>travisci</li>\n<li>gcs (Google Cloud Storage)</li>\n<li>postman</li>\n<li>jenkins</li>\n<li>elasticsearch</li>\n</ul>\n<p dir=\"auto\">Each subcommand can have options that you can see with the <code class=\"notranslate\">--help</code> flag provided to the sub command:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"$ trufflehog git --help\nusage: TruffleHog git [&lt;flags&gt;] &lt;uri&gt;\n\nFind credentials in git repositories.\n\nFlags:\n  -h, --help                Show context-sensitive help (also try --help-long and --help-man).\n      --log-level=0         Logging verbosity on a scale of 0 (info) to 5 (trace). Can be disabled with &quot;-1&quot;.\n      --profile             Enables profiling and sets a pprof and fgprof server on :18066.\n  -j, --json                Output in JSON format.\n      --json-legacy         Use the pre-v3.0 JSON format. Only works with git, gitlab, and github sources.\n      --github-actions      Output in GitHub Actions format.\n      --concurrency=20           Number of concurrent workers.\n      --no-verification     Don't verify the results.\n      --results=RESULTS          Specifies which type(s) of results to output: verified, unknown, unverified, filtered_unverified. Defaults to all types.\n      --allow-verification-overlap\n                                 Allow verification of similar credentials across detectors\n      --filter-unverified   Only output first unverified result per chunk per detector if there are more than one results.\n      --filter-entropy=FILTER-ENTROPY\n                                 Filter unverified results with Shannon entropy. Start with 3.0.\n      --config=CONFIG            Path to configuration file.\n      --print-avg-detector-time\n                                 Print the average time spent on each detector.\n      --no-update           Don't check for updates.\n      --fail                Exit with code 183 if results are found.\n      --verifier=VERIFIER ...    Set custom verification endpoints.\n      --custom-verifiers-only   Only use custom verification endpoints.\n      --archive-max-size=ARCHIVE-MAX-SIZE\n                                 Maximum size of archive to scan. (Byte units eg. 512B, 2KB, 4MB)\n      --archive-max-depth=ARCHIVE-MAX-DEPTH\n                                 Maximum depth of archive to scan.\n      --archive-timeout=ARCHIVE-TIMEOUT\n                                 Maximum time to spend extracting an archive.\n      --include-detectors=&quot;all&quot;  Comma separated list of detector types to include. Protobuf name or IDs may be used, as well as ranges.\n      --exclude-detectors=EXCLUDE-DETECTORS\n                                 Comma separated list of detector types to exclude. Protobuf name or IDs may be used, as well as ranges. IDs defined here take precedence over the include list.\n      --version             Show application version.\n  -i, --include-paths=INCLUDE-PATHS\n                                 Path to file with newline separated regexes for files to include in scan.\n  -x, --exclude-paths=EXCLUDE-PATHS\n                                 Path to file with newline separated regexes for files to exclude in scan.\n      --exclude-globs=EXCLUDE-GLOBS\n                                 Comma separated list of globs to exclude in scan. This option filters at the `git log` level, resulting in faster scans.\n      --since-commit=SINCE-COMMIT\n                                 Commit to start scan from.\n      --branch=BRANCH            Branch to scan.\n      --max-depth=MAX-DEPTH      Maximum depth of commits to scan.\n      --bare                Scan bare repository (e.g. useful while using in pre-receive hooks)\n\nArgs:\n  &lt;uri&gt;  Git repository URL. https://, file://, or ssh:// schema expected.\"><pre class=\"notranslate\"><code class=\"notranslate\">$ trufflehog git --help\nusage: TruffleHog git [&lt;flags&gt;] &lt;uri&gt;\n\nFind credentials in git repositories.\n\nFlags:\n  -h, --help                Show context-sensitive help (also try --help-long and --help-man).\n      --log-level=0         Logging verbosity on a scale of 0 (info) to 5 (trace). Can be disabled with \"-1\".\n      --profile             Enables profiling and sets a pprof and fgprof server on :18066.\n  -j, --json                Output in JSON format.\n      --json-legacy         Use the pre-v3.0 JSON format. Only works with git, gitlab, and github sources.\n      --github-actions      Output in GitHub Actions format.\n      --concurrency=20           Number of concurrent workers.\n      --no-verification     Don't verify the results.\n      --results=RESULTS          Specifies which type(s) of results to output: verified, unknown, unverified, filtered_unverified. Defaults to all types.\n      --allow-verification-overlap\n                                 Allow verification of similar credentials across detectors\n      --filter-unverified   Only output first unverified result per chunk per detector if there are more than one results.\n      --filter-entropy=FILTER-ENTROPY\n                                 Filter unverified results with Shannon entropy. Start with 3.0.\n      --config=CONFIG            Path to configuration file.\n      --print-avg-detector-time\n                                 Print the average time spent on each detector.\n      --no-update           Don't check for updates.\n      --fail                Exit with code 183 if results are found.\n      --verifier=VERIFIER ...    Set custom verification endpoints.\n      --custom-verifiers-only   Only use custom verification endpoints.\n      --archive-max-size=ARCHIVE-MAX-SIZE\n                                 Maximum size of archive to scan. (Byte units eg. 512B, 2KB, 4MB)\n      --archive-max-depth=ARCHIVE-MAX-DEPTH\n                                 Maximum depth of archive to scan.\n      --archive-timeout=ARCHIVE-TIMEOUT\n                                 Maximum time to spend extracting an archive.\n      --include-detectors=\"all\"  Comma separated list of detector types to include. Protobuf name or IDs may be used, as well as ranges.\n      --exclude-detectors=EXCLUDE-DETECTORS\n                                 Comma separated list of detector types to exclude. Protobuf name or IDs may be used, as well as ranges. IDs defined here take precedence over the include list.\n      --version             Show application version.\n  -i, --include-paths=INCLUDE-PATHS\n                                 Path to file with newline separated regexes for files to include in scan.\n  -x, --exclude-paths=EXCLUDE-PATHS\n                                 Path to file with newline separated regexes for files to exclude in scan.\n      --exclude-globs=EXCLUDE-GLOBS\n                                 Comma separated list of globs to exclude in scan. This option filters at the `git log` level, resulting in faster scans.\n      --since-commit=SINCE-COMMIT\n                                 Commit to start scan from.\n      --branch=BRANCH            Branch to scan.\n      --max-depth=MAX-DEPTH      Maximum depth of commits to scan.\n      --bare                Scan bare repository (e.g. useful while using in pre-receive hooks)\n\nArgs:\n  &lt;uri&gt;  Git repository URL. https://, file://, or ssh:// schema expected.\n</code></pre></div>\n<p dir=\"auto\">For example, to scan a <code class=\"notranslate\">git</code> repository, start with</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"trufflehog git https://github.com/trufflesecurity/trufflehog.git\"><pre class=\"notranslate\"><code class=\"notranslate\">trufflehog git https://github.com/trufflesecurity/trufflehog.git\n</code></pre></div>\n<h2 dir=\"auto\">S3</h2>\n<p dir=\"auto\">The S3 source supports assuming IAM roles for scanning in addition to IAM users. This makes it easier for users to scan multiple AWS accounts without needing to rely on hardcoded credentials for each account.</p>\n<p dir=\"auto\">The IAM identity that TruffleHog uses initially will need to have <code class=\"notranslate\">AssumeRole</code> privileges as a principal in the <a href=\"https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/\" rel=\"nofollow\">trust policy</a> of each IAM role to assume.</p>\n<p dir=\"auto\">To scan a specific bucket using locally set credentials or instance metadata if on an EC2 instance:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog s3 --bucket=&lt;bucket-name&gt;\"><pre class=\"notranslate\">trufflehog s3 --bucket=<span class=\"pl-k\">&lt;</span>bucket-name<span class=\"pl-k\">&gt;</span></pre></div>\n<p dir=\"auto\">To scan a specific bucket using an assumed role:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog s3 --bucket=&lt;bucket-name&gt; --role-arn=&lt;iam-role-arn&gt;\"><pre class=\"notranslate\">trufflehog s3 --bucket=<span class=\"pl-k\">&lt;</span>bucket-name<span class=\"pl-k\">&gt;</span> --role-arn=<span class=\"pl-k\">&lt;</span>iam-role-arn<span class=\"pl-k\">&gt;</span></pre></div>\n<p dir=\"auto\">Multiple roles can be passed as separate arguments. The following command will attempt to scan every bucket each role has permissions to list in the S3 API:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog s3 --role-arn=&lt;iam-role-arn-1&gt; --role-arn=&lt;iam-role-arn-2&gt;\"><pre class=\"notranslate\">trufflehog s3 --role-arn=<span class=\"pl-k\">&lt;</span>iam-role-arn-<span class=\"pl-k\">1&gt;</span> --role-arn=<span class=\"pl-k\">&lt;</span>iam-role-arn-<span class=\"pl-k\">2&gt;</span></pre></div>\n<p dir=\"auto\">Exit Codes:</p>\n<ul dir=\"auto\">\n<li>0: No errors and no results were found.</li>\n<li>1: An error was encountered. Sources may not have completed scans.</li>\n<li>183: No errors were encountered, but results were found. Will only be returned if <code class=\"notranslate\">--fail</code> flag is used.</li>\n</ul>\n<h2 dir=\"auto\"><img class=\"emoji\" title=\":octocat:\" alt=\":octocat:\" src=\"https://github.githubassets.com/images/icons/emoji/octocat.png\" height=\"20\" width=\"20\" align=\"absmiddle\"> TruffleHog Github Action</h2>\n<h3 dir=\"auto\">General Usage</h3>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"on:\n  push:\n    branches:\n      - main\n  pull_request:\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n    - name: Checkout code\n      uses: actions/checkout@v4\n      with:\n        fetch-depth: 0\n    - name: Secret Scanning\n      uses: trufflesecurity/trufflehog@main\n      with:\n        extra_args: --results=verified,unknown\"><pre class=\"notranslate\"><code class=\"notranslate\">on:\n  push:\n    branches:\n      - main\n  pull_request:\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n    - name: Checkout code\n      uses: actions/checkout@v4\n      with:\n        fetch-depth: 0\n    - name: Secret Scanning\n      uses: trufflesecurity/trufflehog@main\n      with:\n        extra_args: --results=verified,unknown\n</code></pre></div>\n<p dir=\"auto\">In the example config above, we're scanning for live secrets in all PRs and Pushes to <code class=\"notranslate\">main</code>. Only code changes in the referenced commits are scanned. If you'd like to scan an entire branch, please see the \"Advanced Usage\" section below.</p>\n<h3 dir=\"auto\">Shallow Cloning</h3>\n<p dir=\"auto\">If you're incorporating TruffleHog into a standalone workflow and aren't running any other CI/CD tooling alongside TruffleHog, then we recommend using <a href=\"https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt\" rel=\"nofollow\">Shallow Cloning</a> to speed up your workflow. Here's an example for how to do it:</p>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"...\n      - shell: bash\n        run: |\n          if [ &quot;${{ github.event_name }}&quot; == &quot;push&quot; ]; then\n            echo &quot;depth=$(($(jq length &lt;&lt;&lt; '${{ toJson(github.event.commits) }}') + 2))&quot; &gt;&gt; $GITHUB_ENV\n            echo &quot;branch=${{ github.ref_name }}&quot; &gt;&gt; $GITHUB_ENV\n          fi\n          if [ &quot;${{ github.event_name }}&quot; == &quot;pull_request&quot; ]; then\n            echo &quot;depth=$((${{ github.event.pull_request.commits }}+2))&quot; &gt;&gt; $GITHUB_ENV\n            echo &quot;branch=${{ github.event.pull_request.head.ref }}&quot; &gt;&gt; $GITHUB_ENV\n          fi\n      - uses: actions/checkout@v3\n        with:\n          ref: ${{env.branch}}\n          fetch-depth: ${{env.depth}}\n      - uses: trufflesecurity/trufflehog@main\n        with:\n          extra_args: --results=verified,unknown\n...\"><pre class=\"notranslate\"><code class=\"notranslate\">...\n      - shell: bash\n        run: |\n          if [ \"${{ github.event_name }}\" == \"push\" ]; then\n            echo \"depth=$(($(jq length &lt;&lt;&lt; '${{ toJson(github.event.commits) }}') + 2))\" &gt;&gt; $GITHUB_ENV\n            echo \"branch=${{ github.ref_name }}\" &gt;&gt; $GITHUB_ENV\n          fi\n          if [ \"${{ github.event_name }}\" == \"pull_request\" ]; then\n            echo \"depth=$((${{ github.event.pull_request.commits }}+2))\" &gt;&gt; $GITHUB_ENV\n            echo \"branch=${{ github.event.pull_request.head.ref }}\" &gt;&gt; $GITHUB_ENV\n          fi\n      - uses: actions/checkout@v3\n        with:\n          ref: ${{env.branch}}\n          fetch-depth: ${{env.depth}}\n      - uses: trufflesecurity/trufflehog@main\n        with:\n          extra_args: --results=verified,unknown\n...\n</code></pre></div>\n<p dir=\"auto\">Depending on the event type (push or PR), we calculate the number of commits present. Then we add 2, so that we can reference a base commit before our code changes. We pass that integer value to the <code class=\"notranslate\">fetch-depth</code> flag in the checkout action in addition to the relevant branch. Now our checkout process should be much shorter.</p>\n<h3 dir=\"auto\">Canary detection</h3>\n<p dir=\"auto\">TruffleHog statically detects <a href=\"https://canarytokens.org/\" rel=\"nofollow\">https://canarytokens.org/</a>.</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/52866392/306720861-74ace530-08c5-4eaf-a169-84a73e328f6f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTMwNjc1OTEsIm5iZiI6MTc1MzA2NzI5MSwicGF0aCI6Ii81Mjg2NjM5Mi8zMDY3MjA4NjEtNzRhY2U1MzAtMDhjNS00ZWFmLWExNjktODRhNzNlMzI4ZjZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA3MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwNzIxVDAzMDgxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAwMzNhNWVkYWI5ZWVjOTllMzg4NmJhNDU2ZDkwNzllZTQwODUzMGIxZjFiZjk4NjM3NjY1ZDMxNTE5OTYyNGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.J4GktrpKEL4-xTzHwzqPR0EXhLnqG7xkrExM65hLqI0\"><img src=\"https://private-user-images.githubusercontent.com/52866392/306720861-74ace530-08c5-4eaf-a169-84a73e328f6f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTMwNjc1OTEsIm5iZiI6MTc1MzA2NzI5MSwicGF0aCI6Ii81Mjg2NjM5Mi8zMDY3MjA4NjEtNzRhY2U1MzAtMDhjNS00ZWFmLWExNjktODRhNzNlMzI4ZjZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA3MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwNzIxVDAzMDgxMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAwMzNhNWVkYWI5ZWVjOTllMzg4NmJhNDU2ZDkwNzllZTQwODUzMGIxZjFiZjk4NjM3NjY1ZDMxNTE5OTYyNGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.J4GktrpKEL4-xTzHwzqPR0EXhLnqG7xkrExM65hLqI0\" alt=\"image\" style=\"max-width: 100%;\"></a></p>\n<h3 dir=\"auto\">Advanced Usage</h3>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"- name: TruffleHog\n  uses: trufflesecurity/trufflehog@main\n  with:\n    # Repository path\n    path:\n    # Start scanning from here (usually main branch).\n    base:\n    # Scan commits until here (usually dev branch).\n    head: # optional\n    # Extra args to be passed to the trufflehog cli.\n    extra_args: --log-level=2 --results=verified,unknown\"><pre class=\"notranslate\">- <span class=\"pl-ent\">name</span>: <span class=\"pl-s\">TruffleHog</span>\n  <span class=\"pl-ent\">uses</span>: <span class=\"pl-s\">trufflesecurity/trufflehog@main</span>\n  <span class=\"pl-ent\">with</span>:\n    <span class=\"pl-c\"><span class=\"pl-c\">#</span> Repository path</span>\n    <span class=\"pl-ent\">path</span>:\n    <span class=\"pl-c\"><span class=\"pl-c\">#</span> Start scanning from here (usually main branch).</span>\n    <span class=\"pl-ent\">base</span>:\n    <span class=\"pl-c\"><span class=\"pl-c\">#</span> Scan commits until here (usually dev branch).</span>\n    <span class=\"pl-ent\">head</span>: <span class=\"pl-c\"><span class=\"pl-c\">#</span> optional</span>\n    <span class=\"pl-c\"><span class=\"pl-c\">#</span> Extra args to be passed to the trufflehog cli.</span>\n    <span class=\"pl-ent\">extra_args</span>: <span class=\"pl-s\">--log-level=2 --results=verified,unknown</span></pre></div>\n<p dir=\"auto\">If you'd like to specify specific <code class=\"notranslate\">base</code> and <code class=\"notranslate\">head</code> refs, you can use the <code class=\"notranslate\">base</code> argument (<code class=\"notranslate\">--since-commit</code> flag in TruffleHog CLI) and the <code class=\"notranslate\">head</code> argument (<code class=\"notranslate\">--branch</code> flag in the TruffleHog CLI). We only recommend using these arguments for very specific use cases, where the default behavior does not work.</p>\n<h4 dir=\"auto\">Advanced Usage: Scan entire branch</h4>\n<div class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"- name: scan-push\n        uses: trufflesecurity/trufflehog@main\n        with:\n          base: &quot;&quot;\n          head: ${{ github.ref_name }}\n          extra_args: --results=verified,unknown\"><pre class=\"notranslate\"><code class=\"notranslate\">- name: scan-push\n        uses: trufflesecurity/trufflehog@main\n        with:\n          base: \"\"\n          head: ${{ github.ref_name }}\n          extra_args: --results=verified,unknown\n</code></pre></div>\n<h2 dir=\"auto\">TruffleHog GitLab CI</h2>\n<h3 dir=\"auto\">Example Usage</h3>\n<div class=\"highlight highlight-source-yaml notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"stages:\n  - security\n\nsecurity-secrets:\n  stage: security\n  allow_failure: false\n  image: alpine:latest\n  variables:\n    SCAN_PATH: &quot;.&quot; # Set the relative path in the repo to scan\n  before_script:\n    - apk add --no-cache git curl jq\n    - curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin\n  script:\n    - trufflehog filesystem &quot;$SCAN_PATH&quot; --results=verified,unknown --fail --json | jq\n  rules:\n    - if: '$CI_PIPELINE_SOURCE == &quot;merge_request_event&quot;'\"><pre class=\"notranslate\"><span class=\"pl-ent\">stages</span>:\n  - <span class=\"pl-s\">security</span>\n\n<span class=\"pl-ent\">security-secrets</span>:\n  <span class=\"pl-ent\">stage</span>: <span class=\"pl-s\">security</span>\n  <span class=\"pl-ent\">allow_failure</span>: <span class=\"pl-c1\">false</span>\n  <span class=\"pl-ent\">image</span>: <span class=\"pl-s\">alpine:latest</span>\n  <span class=\"pl-ent\">variables</span>:\n    <span class=\"pl-ent\">SCAN_PATH</span>: <span class=\"pl-s\"><span class=\"pl-pds\">\"</span>.<span class=\"pl-pds\">\"</span></span> <span class=\"pl-c\"><span class=\"pl-c\">#</span> Set the relative path in the repo to scan</span>\n  <span class=\"pl-ent\">before_script</span>:\n    - <span class=\"pl-s\">apk add --no-cache git curl jq</span>\n    - <span class=\"pl-s\">curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin</span>\n  <span class=\"pl-ent\">script</span>:\n    - <span class=\"pl-s\">trufflehog filesystem \"$SCAN_PATH\" --results=verified,unknown --fail --json | jq</span>\n  <span class=\"pl-ent\">rules</span>:\n    - <span class=\"pl-ent\">if</span>: <span class=\"pl-s\"><span class=\"pl-pds\">'</span>$CI_PIPELINE_SOURCE == \"merge_request_event\"<span class=\"pl-pds\">'</span></span></pre></div>\n<p dir=\"auto\">In the example pipeline above, we're scanning for live secrets in all repository directories and files. This job runs only when the pipeline source is a merge request event, meaning it's triggered when a new merge request is created.</p>\n<h2 dir=\"auto\">Pre-commit Hook</h2>\n<p dir=\"auto\">TruffleHog can be used in a pre-commit hook to prevent credentials from leaking before they ever leave your computer.</p>\n<p dir=\"auto\">See the <a href=\"PreCommit.md\">pre-commit hook documentation</a> for more information.</p>\n<h2 dir=\"auto\">Regex Detector (alpha)</h2>\n<p dir=\"auto\">TruffleHog supports detection and verification of custom regular expressions.<br>\nFor detection, at least one <strong>regular expression</strong> and <strong>keyword</strong> is required.<br>\nA <strong>keyword</strong> is a fixed literal string identifier that appears in or around<br>\nthe regex to be detected. To allow maximum flexibility for verification, a<br>\nwebhook is used containing the regular expression matches.</p>\n<p dir=\"auto\">TruffleHog will send a JSON POST request containing the regex matches to a<br>\nconfigured webhook endpoint. If the endpoint responds with a <code class=\"notranslate\">200 OK</code> response<br>\nstatus code, the secret is considered verified.</p>\n<p dir=\"auto\">Custom Detectors support a few different filtering mechanisms: entropy, regex targeting the entire match, regex targeting the captured secret,<br>\nand excluded word lists checked against the secret (captured group if present, entire match if capture group is not present). Note that if<br>\nyour custom detector has multiple <code class=\"notranslate\">regex</code> set (in this example <code class=\"notranslate\">hogID</code>, and <code class=\"notranslate\">hogToken</code>), then the filters get applied to each regex. <a href=\"examples/generic_with_filters.yml\">Here</a> is an example of a custom detector using these filters.</p>\n<p dir=\"auto\"><strong>NB:</strong> This feature is alpha and subject to change.</p>\n<h3 dir=\"auto\">Regex Detector Example</h3>\n<p dir=\"auto\"><a href=\"/pkg/custom_detectors/CUSTOM_DETECTORS.md\">Here</a> is how to setup a custom regex detector with verification server.</p>\n<h2 dir=\"auto\">🔍 Analyze</h2>\n<p dir=\"auto\">TruffleHog supports running a deeper analysis of a credential to view its permissions and the resources it has access to.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"trufflehog analyze\"><pre class=\"notranslate\">trufflehog analyze</pre></div>\n<h1 dir=\"auto\">❤️ Contributors</h1>\n<p dir=\"auto\">This project exists thanks to all the people who contribute. [<a href=\"CONTRIBUTING.md\">Contribute</a>].</p>\n<a href=\"https://github.com/trufflesecurity/trufflehog/graphs/contributors\">\n  <img src=\"https://camo.githubusercontent.com/92a22253e2d90285366f01dd6c9c2ec34e3b80c9200f3b4219e4aa8459f2f67e/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d74727566666c6573656375726974792f74727566666c65686f67\" data-canonical-src=\"https://contrib.rocks/image?repo=trufflesecurity/trufflehog\" style=\"max-width: 100%;\">\n</a>\n<h1 dir=\"auto\">💻 Contributing</h1>\n<p dir=\"auto\">Contributions are very welcome! Please see our <a href=\"CONTRIBUTING.md\">contribution guidelines first</a>.</p>\n<p dir=\"auto\">We no longer accept contributions to TruffleHog v2, but that code is available in the <code class=\"notranslate\">v2</code> branch.</p>\n<h2 dir=\"auto\">Adding new secret detectors</h2>\n<p dir=\"auto\">We have published some <a href=\"hack/docs/Adding_Detectors_external.md\">documentation and tooling to get started on adding new secret detectors</a>. Let's improve detection together!</p>\n<h1 dir=\"auto\">Use as a library</h1>\n<p dir=\"auto\">Currently, trufflehog is in heavy development and no guarantees can be made on<br>\nthe stability of the public APIs at this time.</p>\n<h1 dir=\"auto\">License Change</h1>\n<p dir=\"auto\">Since v3.0, TruffleHog is released under a AGPL 3 license, included in <a href=\"LICENSE\"><code class=\"notranslate\">LICENSE</code></a>. TruffleHog v3.0 uses none of the previous codebase, but care was taken to preserve backwards compatibility on the command line interface. The work previous to this release is still available licensed under GPL 2.0 in the history of this repository and the previous package releases and tags. A completed CLA is required for us to accept contributions going forward.</p>","updatedAt":"2025-05-22T01:51:33Z","upvoteCount":null,"author":{"login":"eryajf","avatarUrl":"https://avatars.githubusercontent.com/u/33259379?u=e4a4090a38ac2473aaed4ef9945233636776c6c3&v=4","url":"https://github.com/eryajf"},"category":null,"labels":{"edges":[{"node":{"name":"更多","color":"25B472"}},{"node":{"name":"安全扫描","color":"bf5886"}},{"node":{"name":"trufflesecurity","color":"ea9207"}}]},"comments":{"edges":[]}}},"pageContext":{"number":575,"previous":{"title":"trickstercache/trickster: HTTP 反向代理/缓存，用于时间序列数据库的仪表板查询加速器","number":574},"next":{"title":"trzsz/trzsz-ssh: 支持 trzsz ( trz / tsz ) 的 ssh 客户端，支持搜索和选择服务器进行批量登录，支持记住密码","number":576}}},
    "staticQueryHashes": ["151096407","2861350382"]}